【问题标题】:React Native on Android failed to find Build ToolsAndroid 上的 React Native 找不到构建工具
【发布时间】:2016-01-14 07:09: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       

【问题讨论】:

标签: javascript android reactjs react-native


【解决方案1】:

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

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

通过查看终端的可用版本解决了这个问题:

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

【讨论】:

  • 这是什么android 程序?我在哪里得到它?
  • @jameshfisher 它是 Android SDK 的一部分,它位于“工具”目录例如:~/android-sdk/tools/android
  • 我尝试用 Android Studio 更新几次,但都没有成功。这个命令虽然做到了。谢谢。
  • 其实是在react项目的android-sdk-linux中。
  • 请注意,在新版本的 SDK 管理器中,android 命令不再起作用,必须运行 Android Studio 才能访问此设置,请参阅 stackoverflow.com/a/44295114/82609
【解决方案2】:

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

我得到了 OP 得到的错误(抱怨 react-native 找不到 Build Tools 修订版 23.0.1)。当我检查我的 Android SDK 管理器时,我看到了这个:

我天真地认为安装最新版本的 Build-tools(撰写本文时为 23.0.2)会起作用,但显然不是。另外安装 23.0.1 解决了这个问题。

【讨论】:

  • 这里有同样的问题。没有办法使用更新的构建工具吗?也许是一些配置。
  • 这个建议也对我有用。 23.0.2 太新了,去看看吧。谢谢。
  • @boatcoder 这个答案(安装较旧的构建工具)不亚于 sodik 的正确(修改 build.gradle 以使 React Native 使用较新的构建工具)。 Android Build Tools 似乎遵循 SemVer,因此修改 build.gradle 以使用更高版本的补丁或次要版本通常应该是安全的,可能会提供一些平台级别的错误修复或性能改进,并且不必下载任何东西。 但是如果在 主要 版本上完成它会破坏您的应用程序,并且由于您使用的是补丁/次要版本,因此会引入 一些 风险使用 Facebook 不打算使用的构建工具进行 RN。
【解决方案3】:

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

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
...

更新:正如 Mark 所建议的,以这种方式只更新次要(或补丁)版本是明智的。 更新此版本的另一个原因是当您拥有大量带有本机部分的 3rd 方库时 - 您最终可能会更新所有这些库。因此,您必须权衡新版本与更多工作可能带来的好处。

【讨论】:

  • 别忘了将第 85 行 targetSdkVersion 22 更改为 targetSdkVersion 23
  • 我发现生成的 build.gradle 文件有 buildToolsVersion "23.0.1" 但我只安装了版本 23 (23.0.0) - 不确定“react-native init”在哪里找到 android /tools SDK 版本号来自。那么原因其实是 react-native init 命令没有使用可用的工具版本号?
  • 我相信 23.0.1 是固定的(也许可以随 RN 版本而改变)但没有检测到 afaik。
  • 谢谢,这解决了我的问题,从 23 到 25 和 23.0.1 到 25.0.0
【解决方案4】:

需要修改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"

【讨论】:

    【解决方案5】:

    我不得不将我的 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"
        }
    

    【讨论】:

      【解决方案6】:

      这意味着安装在您系统上的 Android 构建工具不是您应用的配置文件(您的配置文件指向 23.0.1),但您的系统上可能有 23、24 或 25.0.*。

      解决此问题的解决方案:

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

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

      【讨论】:

        【解决方案7】:

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

        【讨论】:

        • 从 Andriod Studio 中进入这个屏幕。文件 -> 设置 -> Android SDK -> SDK 工具 -> 右下角“显示包详细信息”我添加了这条评论,因为我花了一段时间才找到它。
        【解决方案8】:

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

        【讨论】:

          【解决方案9】:

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

          我的Android/Sdk/build-tools/24.0.1/source.propertiesPkg.Revision 设置为24.0.0

          【讨论】:

            【解决方案10】:

            我在尝试按照 react native 的文档在命令行中构建时遇到了这个问题。我通过在 android studio 中打开项目解决了这个问题。不匹配的依赖项将出现在 App 底部的构建失败提示栏中。对于每个失败,单击链接以解决问题。

            【讨论】:

              【解决方案11】:

              我发现,如果您从 react-native 项目中卸载了一些包,并且页面底部的构建 gradle 依赖项中仍有包,例如:

              { project(':react-native-sound-player') } 删除项目后请务必删除 MainApplication.java 文件中的关联代码(':react-native-sound-player')

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2022-11-16
                • 2023-02-14
                • 2023-02-26
                • 1970-01-01
                • 1970-01-01
                • 2022-07-26
                • 1970-01-01
                相关资源
                最近更新 更多