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 指向 platforms 和 platform-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'的目标的主要内容,如果未能解决你的问题,请参考以下文章