我使用 expo / React Native 进行开发和发布已有 2 年多了。 Android 构建突然失败。 我刚刚升级到最新的sdk,重新安装了节点模块。 为 iOS 构建工作。 但对于 Android,构建在“运行 gradlew”步骤失败。
以下是该状态的日志:
在 /home/expo/workingdir/build/android 中运行 'gradlew :app:bundleRelease' 下载https://services.gradle.org/distributions/gradle-7.5.1-all.zip 欢迎使用 Gradle 7.5.1! .. 配置项目:expo-updates 失败:构建已完成,但有 2 次失败。 1:任务失败,出现异常。
- 地点: 构建文件“/home/expo/workingdir/build/node_modules/expo-updates/android/build.gradle”行:78
- 出了什么问题: 评估项目“:expo-updates”时出现问题。 在 DefaultConfig$AgpDecolated_Decolated{name=main,dimension=null,minSdkVersion=DefaultApiVersion{mApiLevel=21,mCodename='null'},targetSdkVersion=DefaultApiVersion{mApiLevel=31,mCodename= 上找不到参数 [true] 的方法 boolish() 'null'},renderscriptTargetApi=null,renderscriptSupportModeEnabled=null,renderscriptSupportModeBlasEnabled=null,renderscriptNdkModeEnabled=null,versionCode=31,versionName=0.18.5,applicationId=null,testApplicationId=null,testInstrumentationRunner=androidx.test.runner.AndroidJUnitRunner,testInstrumentationRunnerArguments ={}、testHandleProfiling=null、testFunctionalTest=null、signingConfig=SigningConfig$AgpDecolated_Decolated{name=debug、storeFile=/home/expo/.android/debug.keystore、storePassword=android、keyAlias=AndroidDebugKey、keyPassword=android、storeType= pkcs12、v1SigningEnabled=true、v2SigningEnabled=true、enableV1Signing=null、enableV2Signing=null、enableV3Signing=null、enableV4Signing=null}、resConfig=[]、buildConfigFields={EX_UPDATES_NATIVE_DEBUG=com.android.builder.internal.ClassFieldImpl@50e3c81e}、 resValues={}、proguardFiles=[]、consumerProguardFiles=[/home/expo/workingdir/build/node_modules/expo-updates/android/proguard-rules.pro]、manifestPlaceholders={}、wearAppUnbundled=null} 类型为 com. android.build.gradle.internal.dsl.DefaultConfig$AgpDecolated.
- 尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。 使用 --info 或 --debug 选项运行以获得更多日志输出。 使用 --scan 运行以获得完整的见解。
2:任务因异常而失败。
- 出了什么问题: 配置项目“:expo”时出现问题。 未指定compileSdkVersion。请将其添加到build.gradle
- 尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。 使用 --info 或 --debug 选项运行以获得更多日志输出。 使用 --scan 运行以获得完整的见解。
2m 14s 内构建失败
我已经检查了expo-updates中指定了compileSdkVersion。 我已删除并重新安装了 expo-updates。 但没有任何效果。
你有什么想法吗?
似乎与此github问题相关
感谢一百万!
将java版本更改为17。如果您使用的是Mac,请记住将软链接/Library/Java/JavaVirtualMachines/openjdk.jdk指向/opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk。
使用以下命令将 expo SDK 升级到版本 49:$ npx expo Upgrade。
删除项目上的 /android 文件夹。
确保一切都从头开始:
运行 $ npx expo run:android。
如果仍然不起作用,请确保您使用的是 gradle 版本 8.0.1。
这是在文件 /android/gradle/wrapper/gradle-wrapper.properties 中设置的。 distributionUrl 应该是: distributionUrl=https://services.gradle.org/distributions/gradle-8.0.1-all.zip