配置项目“:expo”时出现问题。 无法获取 org.gradle.api.internal.component.DefaultSoftwareComponentContainer 类型的 SoftwareComponent 容器的未知属性“release”。
运行命令 ./gradlew clean 时出现此错误,这是一个 React Native 博览会项目。
Java版本是“20.0.2”,gradle版本是8.3。 我尝试了java版本11、17、22,仍然收到错误。
在我的 build.gradle 文件中
signingConfigs {
release {
if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) {
storeFile file(MYAPP_UPLOAD_STORE_FILE)
storePassword MYAPP_UPLOAD_STORE_PASSWORD
keyAlias MYAPP_UPLOAD_KEY_ALIAS
keyPassword MYAPP_UPLOAD_KEY_PASSWORD
}
}
debug {
storeFile file('debug.keystore')
storePassword 'android'
keyAlias 'androiddebugkey'
keyPassword 'android'
}
}
buildTypes {
debug {
signingConfig signingConfigs.debug
}
release {
// Caution! In production, you need to generate your own keystore file.
// see https://reactnative.dev/docs/signed-apk-android.
signingConfig signingConfigs.release
shrinkResources (findProperty('android.enableShrinkResourcesInReleaseBuilds')?.toBoolean() ?: false)
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
}
尝试运行expo doctor并遵循其建议。