React Native:找不到哈希字符串'android-X'的目标

Posted

技术标签:

【中文标题】React Native:找不到哈希字符串\'android-X\'的目标【英文标题】:React Native : target with hash string 'android-X' not foundReact Native:找不到哈希字符串'android-X'的目标 【发布时间】:2015-12-20 07:34:44 【问题描述】:

我正在尝试开发我的第一个 react-native android 应用程序。当我跑步时

sudo react-native run-android

我收到以下错误

JS server already running.
Building and installing the app on the device (cd android && ./gradlew installDebug)...

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':app'.
> failed to find target with hash string 'android-23' in: /usr/local/Cellar/android-sdk

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 4.981 secs
Could not install the app on the device, see the error above.

我在/usr/local/Cellar/android-sdk 下有24.3.3 并安装了所有API-23 包

我的android/app/build.gradle

compileSdkVersion 23
buildToolsVersion "23.0.0"

defaultConfig 
    applicationId "com.awesomeandroid"
    minSdkVersion 16
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    ndk 
        abiFilters "armeabi-v7a", "x86"
    

当我尝试$ANDROID_HOME 时,它会显示-bash: /usr/local/Cellar/android-sdk/24.3.3: is a directory

我还在android/app/下添加了local.properties,并添加了sdk.dir=/usr/local/Cellar/android-sdk/24.3.3

我错过了什么吗?

【问题讨论】:

您能否详细说明如何执行此操作?我遇到了完全相同的问题,并且尝试了所有方法均无济于事。请查看我的帖子here,如果可以,请提供帮助。 【参考方案1】:

你的 $ANDROID_HOME 应该指向/usr/local/android-sdk,它是平台和平台工具的父目录

Gradle 将尝试在以下位置找到工具目录:$ANDROID_HOME/platform/android-23 因此,如果 $ANDROID_HOME/platform/ 中不存在 android-23 文件夹,请验证您是否已安装工具,请安装 Android 6.0 (API23)

【讨论】:

您尝试了我的答案的哪一部分?你确认$ANDROID_HOME/platform/android-23 存在了吗? 它们为什么指向不同的位置(24.3.3 和 android-23)? 如果您无法找到 android-23,请尝试通过 SDK 管理器安装 Android 6.0 (API 23) 更新【参考方案2】:

您需要将 ANDROID_HOME 指向 platformsplatform-tools 的父目录,以便 /usr/local/Cellar/ android-sdk

【讨论】:

您能否详细说明如何执行此操作?我遇到了完全相同的问题,并且尝试了一切都无济于事。请查看我的帖子here,如果可以,请提供帮助。 @Frosty619 让我失望的一件事是我在 Android Studio 中工作,我认为 SDK 文件将保存在与 Studio 文件相同的目录中。并非如此,即使 SDK 路径列在 SDK 管理器的顶部,我也完全错过了它。【参考方案3】:

我所做的是更改编译我的应用程序的目标。为此,请编辑项目中的 android/app/build.gradle 文件并修改以下内容:

compileSdkVersion 24
buildToolsVersion "24.0.2"

这应该与您安装的任何内容相匹配,而无需下载另一个 API 版本。

【讨论】:

这对我有用,但我还必须将 com.android.support:appcompat-v7 依赖项更改为正确的版本(我找到了 here。 另外,请注意,您将为需要任何平台构建的任何库执行此操作。【参考方案4】:

请尝试安装 android 6.0 (Marshmallow) api level 23

我只是为我工作并为我工作

【讨论】:

【参考方案5】:

我按照 React Native 入门说明进行操作,我的 ANDROID_HOME 和 PATH 是正确的,但我仍然收到此错误。

解决方案是从此屏幕安装“Android 6.0 (Marshmallow)”(不点击“显示包详细信息”):

【讨论】:

【参考方案6】:

?我解决了这个问题,只是把export ANDROID_HOME=/usr/local/Cellar/android-sdk换成了export ANDROID_HOME=/usr/local/Cellar/android-sdk/24.4.1_1

android sdk

【讨论】:

【参考方案7】:

上述解决方案都不适合我,我正在使用 Ignite 生成的 react 本机应用程序。最后,我在 Android Studio 中打开了项目,而不是通过命令行执行所有操作,然后弹出了一堆错误。在 Android Studio 中一一修复错误为我解决了这个问题。

您确实需要为 ANDROID_HOME 设置正确的路径才能使其正常工作。我用brew安装了android sdk,所以我的路径是/usr/local/opt/android-sdk

【讨论】:

【参考方案8】:

对我有什么帮助 - 我刚刚使用 Android SDK 工具删除了所有已安装的 SDK 平台和 SDK 工具

然后再次运行构建,Android Studio 找到了应该安装的内容和位置。如果您遵循此说明 - 请确保您运行的 Android Studio 具有足够的权限来安装所有内容。

玩得开心!希望对你有帮助

【讨论】:

以上是关于React Native:找不到哈希字符串'android-X'的目标的主要内容,如果未能解决你的问题,请参考以下文章

找不到安装 react-native-cli 命令时出错

React Native --- 找不到模块 '@hapi/joi' 需要堆栈

找不到名称 React$Node React Native

-bash:react-native:找不到命令

-bash:react-native:找不到命令

@react-native-firebase\dynamic-links 找不到符号