Android上的React Native无法找到构建工具

JavaScript

SamItachi阿飞

2020-03-12

是什么引起以下问题?我的Android SDK版本不受支持吗?

Starting JS server...                                                                     
Building and installing the app on the device (cd android && gradlew.bat installDebug)...

FAILURE: Build failed with an exception.                                                  

* What went wrong:                                                                        
A problem occurred configuring project ':app'.                                            
> failed to find Build Tools revision 23.0.1       

第1174篇《Android上的React Native无法找到构建工具》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

10个回答
番长理查德 2020.03.12

我在响应本机文档后尝试在命令行中进行构建时遇到了这个问题。我通过在android studio中打开项目解决了这个问题。不匹配的依赖项将出现在应用程序底部的构建失败小吃栏中。对于每个失败,请单击链接以解决问题。

斯丁蛋蛋宝儿 2020.03.12

如果您拥有Build Tools版本24.0.1,请更新您的版本build.gradle以使其匹配buildToolsVersion "24.0.0"

Android/Sdk/build-tools/24.0.1/source.properties已经Pkg.Revision准备好了24.0.0

小小卡卡西 2020.03.12

这意味着系统上安装的Android Build Tools不同于应用程序的配置文件(您的配置文件指向23.0.1)中的东西,但是系统上可能有23、24或25.0。*。

解决此问题的解决方案:

  1. 编辑build.gradle位于anroid/app项目文件夹的文件
  2. 查找条目buildToolsVersion“ 23.0.1”,并将其替换为系统上拥有的最新版本。你可以在这里找到它:C:\Program Files (x86)\Android\android-sdk\build-tools

或者,您可以尝试在系统中安装build.gradle文件中具有的版本(使用SDK管理器)。

Stafan番长 2020.03.12

我不得不将我的Android项目更改build.gradle为:

compileSdkVersion 23
buildToolsVersion "23.0.3"

defaultConfig {
    applicationId "com.demoproject"
    minSdkVersion 16
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    ndk {
        abiFilters "armeabi-v7a", "x86"
    }
前端逆天 2020.03.12

在Android SDK Manager v25中,您必须直接从Android Studio安装正确的构建工具,因为该android命令不再起作用:

从android studio安装

Stafan番长 2020.03.12

/Users/username/Library/Android/sdk/build-tools目录中找到版本号,然后修改buildToolsVersion与Gradle配置相对应的版本号

Itachi猪猪 2020.03.12

我也遇到了较新版本的SDK Build工具(与Mark相同)的问题,但是我设法通过修改android/app/build.gradle和设置适当的版本来解决它,例如

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
...

更新:正如Mark所建议的,以这种方式仅更新次要(或补丁)版本是明智的。更新此版本的另一个原因是,当您有很多带有本机部分的第三方库时-您可能最终都更新了它们。因此,您必须权衡新版本与更多工作之间可能带来的好处。

达蒙小小 2020.03.12

需要修改4个文件

grep buildToolsVersion * -r | grep 23.0.1

Examples/Movies/android/app/build.gradle:    buildToolsVersion "23.0.2"
Examples/UIExplorer/android/app/build.gradle:    buildToolsVersion "23.0.2"
ReactAndroid/build.gradle:    buildToolsVersion "23.0.2"
local-cli/generator-android/templates/src/app/build.gradle:    buildToolsVersion "23.0.2"
阳光Tom逆天 2020.03.12

可能您需要更新构建工具。

当我尝试从图形界面进行更新时遇到了问题,它没有显示确切的次要版本,因此无法更新。

通过查看终端提供的版本来解决此问题:

android list sdk -a

[...]
Packages available for installation or update: 156
1- Android SDK Tools, revision 24.4
2- Android SDK Platform-tools, revision 23.0.1
3- Android SDK Platform-tools, revision 23.1 rc1
4- Android SDK Build-tools, revision 23.0.1

[...]

并使用以下命令安装正确的版本:

android update sdk -a -u -t 4
达蒙老丝 2020.03.12

请注意-由于您安装的构建工具的唯一版本太新,因此可能会出现此错误

我恰好得到了OP的错误(抱怨react-native找不到Build Tools版本23.0.1)。当我检查Android SDK Manager时,看到了以下内容:

屏幕截图显示了23.0.2“已安装”但23.0.1“未安装”

我天真地认为,安装最新版本的Build-tools(在撰写本文时为23.0.2)可以,但显然不行。另外安装23.0.1可解决此问题。

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android