当我尝试在React Native项目中构建Android应用程序时,出现构建错误。
我运行react-native run-android
时说:
> Configure project :react-native-os
WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':react-native-os'.
> compileSdkVersion is not specified.
在Android Studio中,我可以看到它说了同样的话:
Cause: compileSdkVersion is not specified.
因此,我在Android Studio中编辑了build.gradle(Module:app)文件,但问题仍然存在,并且错误消息未更改。
android {
// compileSdkVersion rootProject.ext.compileSdkVersion
compileSdkVersion 28
buildToolsVersion "28.0.3"
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
我尝试了其他线程(如this one)中的解决方案,但没有任何效果。有人知道这是什么问题吗?
答案 0 :(得分:1)
答案 1 :(得分:0)
我认为您正在使用 Android支持的库。
如果您是 27+受支持的库,则应使用 compileSdkVersion 27 和 targetSdkVersion 27
答案 2 :(得分:0)
确保您已安装android / app / build.gradle:
AB - (--)-alpha-Bisabolol has a primary antipeptic action depending on dosage, which
(此错误是在我不小心更改了配置后发生的。编译为configuration.implementation)
答案 3 :(得分:0)
我今天也遇到了同样的问题,并设法通过以下方式解决:
npm i
$ cd android
$ ./gradlew clean
$ cd ..
$ react-native run-android
希望这会有所帮助
答案 4 :(得分:0)
检查您的android / app / build.gradle中是否存在印刷错误。
答案 5 :(得分:0)
最简单有效的解决方案,如果发生这种情况时使用本机反应 移至node_module / @ react-native-firebase / 适用于所有模块示例-应用程序,firestore等。 转到他们的android文件夹并打开build.gradle 您会看到的,
project.ext {
set('react-native', [
versions: [
android : [
minSdk : 'same your project version root folder/android/app/build.gradle',
targetSdk : 'same your project version root folder/android/app/build.gradle',
compileSdk: 'same your project version root folder/android/app/build.gradle',
buildTools: 'same your project version root folder/android/app/build.gradle'
],
firebase: [
bom: firebaseBomVersion,
],
],
])
}
希望这可以使它工作。快乐编码:)
答案 6 :(得分:0)
我的问题是由gradle找不到的node
命令引起的。
# fixed by linking the node path to the /usr/bin/node
# node is binary was located in $HOME/.nvm/versions/node/v14.13.0/bin/node
sudo ln -s $(which node) /usr/bin/node
当我运行上述命令时,上述问题消失了。