在将 react-native 更新到 59.8 并将 gradle 更新到 5.1 之前,我可以使用 ./gradlew assembleRelease 进行构建。当我将 react native 更新到 59.8 并将 gradle 更新到 5.1 时,出现以下错误
* What went wrong:
Execution failed for task ':react-native-app-settings:verifyReleaseResources'.
> java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource linking failed
\node_modules\react-native-app-settings\android\build\intermediates\res\merged\release\values-v28\values-v28.xml:7: error: resource android:attr/dialogCornerRadius not found.
\node_modules\react-native-app-settings\android\build\intermediates\res\merged\release\values-v28\values-v28.xml:11: error: resource android:attr/dialogCornerRadius not found.
\node_modules\react-native-app-settings\android\build\intermediates\res\merged\release\values\values.xml:2714: error: resource android:attr/fontVariationSettings not found.
\node_modules\react-native-app-settings\android\build\intermediates\res\merged\release\values\values.xml:2715: error: resource android:attr/ttcIndex not found.
error: failed linking references.
但是如果我使用
./gradlew bundleRelease
gradle 成功构建了 aab 文件。问题只发生在 ./gradlew assembleRelease
.如何生成 apk 文件?下面是我的gradle设置 dependencies {
classpath 'com.android.tools.build:gradle:3.3.0'
}
//
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
//
ext {
buildToolsVersion = "28.0.3"
minSdkVersion = 19
compileSdkVersion = 28
targetSdkVersion = 28
supportLibVersion = "28.0.0"
}
最佳答案
我有同样的错误。我刚换了./gradlew assembleRelease
至./gradlew app:assembleRelease
.你应该试试。
编辑 : 还有一种方法。经过一番研究,我发现了这个代码subprojects { subproject -> afterEvaluate{ if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) { android { compileSdkVersion rootProject.ext.compileSdkVersion buildToolsVersion rootProject.ext.buildToolsVersion } } } }
把它放在 EXT 在 android/gladle 之前。您将能够保留 ./gradlew assembleRelease
问题是与依赖项中的 buildtools 与 android 项目中的 buildtools 冲突
关于android - ./gradlew assembleRelease 更新以将 native 59.8 和 gradle react 为 5.1 时构建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56380373/