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

时间:2015-10-15 17:40:57

标签: javascript android reactjs react-native

导致以下问题的原因是什么?我的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       

11 个答案:

答案 0 :(得分:136)

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

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

通过查看终端的可用版本来解决:

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

答案 1 :(得分:73)

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

我得到了OP得到的错误(抱怨react-native无法找到Build Tools修订版23.0.1)。当我查看我的Android SDK Manager时,我看到了:

screenshot showing 23.0.2 "Installed" but 23.0.1 "Not installed"

我天真地认为安装最新版本的Build-tools(编写本文时为23.0.2)可行,但显然不行。另外安装23.0.1修复了问题。

答案 2 :(得分:28)

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

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
...

更新:正如Mark建议的那样,明智的做法是以这种方式更新次要(或补丁)版本。 更新此版本的另一个原因是当您有大量具有本机部分的第三方库时 - 您最终可能会更新所有这些库。所以你必须减轻新版本的可能好处和更多的工作。

答案 3 :(得分:4)

需要修改4个文件

  

grep buildToolsVersion * -r | grep 23.0.1

class Struct(dict):
    def __init__(self, *args, **kwargs):
        super(Struct, self).__init__(*args, **kwargs)
        self.__dict__ = self

stats = Struct(user='Mohamed', password='secret', uri='bit.ly/1Syb5DU')

print('stats.user: {}'.format(stats.user))
print('stats.password: {}'.format(stats.password))
print('stats.uri: {}'.format(stats.password))

print("stats['user']: {}".format(stats['user']))
print("stats['password']: {}".format(stats['password']))
print("stats['uri']: {}".format(stats['uri']))

答案 4 :(得分:3)

我必须将我的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"
    }

答案 5 :(得分:3)

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

解决此问题的解决方案:

  1. 修改项目文件夹中build.gradle下的anroid/app文件
  2. 查找条目buildToolsVersion“23.0.1”,并将其替换为您系统上的最新版本。您可以在此处找到它:C:\Program Files (x86)\Android\android-sdk\build-tools
  3. OR 您可以尝试在系统中安装build.gradle文件中的版本(使用SDK管理器)。

答案 6 :(得分:1)

如果你有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

答案 7 :(得分:1)

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

答案 8 :(得分:1)

从Android SDK管理器v25,您必须直接从Android Studio安装正确的构建工具,因为list<int> swapList(list<int> &theList) { list<int> li; auto start = theList.rbegin(), stop = theList.rend(); for (auto it = start; it != stop; ++it) { li.push_back(*it); } return li; } int main() { list<int> source { 1,2,3,4 }; list<int> swapped = swapList(source); for (auto i : swapped) { cout << i << " "; } } 命令不再起作用:

install from android studio

答案 9 :(得分:0)

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

答案 10 :(得分:0)

我发现,如果您从react-native项目中卸载了一些软件包,并且在页面底部的构建gradle依赖项中仍然存在软件包,也会发生这种情况,

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