错误—->任务:expo-permissions:compileDebugKotlin失败
Kotlin Gradle 插件在不同的子项目中多次加载,不受支持并且可能会破坏构建。
这可能发生在应用带有 Gradle 'plugins { ... }' DSL 的 Kotlin 插件的子项目中,如果它们指定显式版本,即使版本相同。请将 Kotlin 插件添加到公共父项目或根项目中,然后删除子项目中的版本。
如果父项目不需要插件,请在插件行中添加“apply false”。参见:https
://docs.gradle.org/current/userguide/plugins.html#sec : subprojects_plugins_dsl Kotlin 插件加载在以下项目中:':expo-av', ':react-native-agora'
任务 :expo-permissions:compileDebugKotlin 失败
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
FAILURE:构建失败,出现异常。
- 出了什么问题:任务“:expo-permissions: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
FAILURE:构建失败,出现异常。
- 出了什么问题:任务“:expo-permissions:compileDebugKotlin”的执行失败。
编译错误。查看日志了解更多详情
回答
我的想法是这是一个版本问题。我通过更改 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 忽略了我设置的版本并使用了最新版本。