上下文
这个问题涉及到android和react-本地项目(包括世博会退出的项目)。
我正在为一个最近退出的世博会(反应本土)项目工作。我刚刚在我的项目中安装了OneSignal节点包。
npm install react-native-onesignal && react-native link react-native-onsignal然后,在我的Android项目中,在android/app/build.gradle文件( sdkNumbers、依赖项和库)中,我设置了以下设置:
android {
compileSdkVersion 28
buildToolsVersion '28.0.0'
defaultConfig {
...
minSdkVersion 21
targetSdkVersion 28
...
}...and在同一个文件中,在依赖项部分,我有我最近链接的库(一个信号).
dependencies {
compile project(':react-native-onesignal')
...
}因此,我的原生Android项目被设置为使用API 28特性构建(基本上,这就是所有sdkNumbers设置为28的意思)。
问题
当我试图构建我的安卓应用程序时,我得到的错误是:
> Task :react-native-onesignal:verifyReleaseResources FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':react-native-onesignal:verifyReleaseResources'.
> java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource linking failed
Output: /node_modules/react-native-onesignal/android/build/intermediates/res/merged/release/values-v28/values-v28.xml:7:
error: resource android:attr/dialogCornerRadius not found.
/node_modules/react-native-onesignal/android/build/intermediates/res/merged/release/values-v28/values-v28.xml:11:
error: resource android:attr/dialogCornerRadius not found.
/node_modules/react-native-onesignal/android/build/intermediates/res/merged/release/values/values.xml:970:
error: resource android:attr/fontVariationSettings not found.
/node_modules/react-native-onesignal/android/build/intermediates/res/merged/release/values/values.xml:971:
error: resource android:attr/ttcIndex not found.
error: failed linking references.试验
我还试图将我的所有com.android.support库更改为最新版本(28)。问题仍然存在。
我试图撤消AndroidX迁移。问题变成了一些护卫疯狂的东西。太疯狂了,我回到了AndroidX。
发布于 2019-05-31 03:55:53
解决方案
我只需更新位于path node_modules/react-native-onesignal/android/build.gradle中的依赖项(一个信号)node_modules/react-native-onesignal/android/build.gradle文件。
基本上,我把onesignal的compileSdkVersion从26变了。
android {
compileSdkVersion safeExtGet('compileSdkVersion', 26)
buildToolsVersion safeExtGet('buildToolsVersion', '26.0.2')至28
android {
compileSdkVersion 28
buildToolsVersion safeExtGet('buildToolsVersion', '26.0.2')它构建得很好,现在通知可以工作了。
TL;DR
我将the信号的build.gradle compileSdkVersion更改为与主要的Android build.gradle文件相同。
https://stackoverflow.com/questions/56388464
复制相似问题