KotlinGradle插件在不同的子项目中加载了多次,这是不受支持的,可能会破坏构建。
如果使用Gradle 'plugins {...}' DSL应用Kotlin插件的子项目指定了显式版本,即使版本相同,也可能会发生这种情况。请将Kotlin插件添加到公共父项目或根项目,然后移除子项目中的版本。
如果父项目不需要插件,请在plugin行中添加“apply false”。请参见:https://docs.gradle.org/current/userguide/plugins.html#sec:subprojects_plugins_dslKotlin插件已加载到以下项目中:':expo-av',':react-native-agora'
任务:展示权限:编译DebugKotlin失败
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.2/userguide/command_line_interface.html#sec:command_line_warnings
175 actionable tasks: 2 executed, 173 up-to-date
e: /Users/development/Projects/myapp/node_modules/react-native-unimodules/node_modules/expo-permissions/android/src/main/java/expo/modules/permissions/requesters/BackgroundLocationRequester.kt: (12, 50): Unresolved reference: R
e: /Users/development/Projects/myapp/node_modules/react-native-unimodules/node_modules/expo-permissions/android/src/main/java/expo/modules/permissions/requesters/BackgroundLocationRequester.kt: (19, 52): Unresolved reference: R
e: /Users/development/Projects/myapp/node_modules/react-native-unimodules/node_modules/expo-permissions/android/src/main/java/expo/modules/permissions/requesters/BackgroundLocationRequester.kt: (40, 36): Unresolved reference: R
失败:生成失败,出现异常.
- 问题:执行任务“:expo权限:compileDebugKotlin”失败。
编译错误。有关详细信息,请参阅日志
- 尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。使用--scan运行以获取完整信息。
- 请访问https://help.gradle.org获取更多帮助
构建在17秒内失败
error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup.
Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8081
e: /Users/development/Projects/myapp/node_modules/react-native-unimodules/node_modules/expo-permissions/android/src/main/java/expo/modules/permissions/requesters/BackgroundLocationRequester.kt: (12, 50): Unresolved reference: R
e: /Users/development/Projects/myapp/node_modules/react-native-unimodules/node_modules/expo-permissions/android/src/main/java/expo/modules/permissions/requesters/BackgroundLocationRequester.kt: (19, 52): Unresolved reference: R
e: /Users/development/Projects/myapp/node_modules/react-native-unimodules/node_modules/expo-permissions/android/src/main/java/expo/modules/permissions/requesters/BackgroundLocationRequester.kt: (40, 36): Unresolved reference: R
失败:生成失败,出现异常.
- 问题:执行任务“:expo权限:compileDebugKotlin”失败。
编译错误。有关详细信息,请参阅日志
5条答案
按热度按时间kninwzqo1#
我的想法是这是一个版本控制问题。我通过改变buildTools,compileSdk和targetSdk的版本来解决这个问题。
转到
android/build.gradle
文件并更改以下值:buildToolsVersion = "29.0.3"
至buildToolsVersion = "30.0.0"
compileSdkVersion = 29
至compileSdkVersion = 30
targetSdkVersion = 29
至targetSdkVersion = 30
这确实为我节省了几个小时的压力。让我知道这对你是否有效。
编辑:我正在编辑这个答案,希望它能经得起未来的考验。每当出现这个错误时,请检查
buildToolsVersion
、compileSdkVersion
和targetSdkVersion
是否使用了最新版本。这也意味着您需要确保您的Android SDK、Gradle或Android Studio是最新的。注意:如果您使用
npx
命令在最新的Android Studio上创建了react-native项目,则可能不需要指定buildToolsVersion
。例如,在编辑此答案时,buildToolsVersion
位于30.0.2
上,而我的项目使用的是30.0.0
。在构建期间,Android Studio忽略了我设置的版本,并使用了最新版本。4uqofj5v2#
旧RN版本中报告了一个新问题。以下是问题和解决方案:https://github.com/facebook/react-native/issues/35210
k4aesqcs3#
我也遇到过类似的问题。我的解决方案是打开文件。/android/app/gradle/gradle-wrapper.properties然后我将distributionUrl更改为
/android/built.gradle中创建的文件系统
xam8gpfp4#
如果你使用“npx”创建了一个项目,从package.json中删除“expo”依赖项。
yks3o0rb5#
我得到了稍微不同错误消息,
在将/android/build.gradle的kotlinVersion与android studio的kotlin版本进行匹配后,它就可以正常工作了。