React Native : target with hash string 'android-X' not found

六月ゝ 毕业季﹏ 提交于 2019-12-31 09:10:10

问题


I am trying to develop my first react-native Android app. When I run

sudo react-native run-android

I get the following error

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.

I have 24.3.3 under /usr/local/Cellar/android-sdk with all API-23 packages installed

My android/app/build.gradle says

compileSdkVersion 23
buildToolsVersion "23.0.0"

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

When I try $ANDROID_HOME, it says -bash: /usr/local/Cellar/android-sdk/24.3.3: is a directory.

I have also added local.properties under android/app/ and added sdk.dir=/usr/local/Cellar/android-sdk/24.3.3

Am I missing something?


回答1:


You need to point ANDROID_HOME to the parent directory of platforms and platform-tools so /usr/local/Cellar/android-sdk




回答2:


Your $ANDROID_HOME should point to /usr/local/android-sdk and it would be the parent directory of platforms and platform-tools

Gradle will try to locate tools dir in the following location: $ANDROID_HOME/platform/android-23 so verify that you have your tools installed there if the android-23 folder is not present inside $ANDROID_HOME/platform/ , please install Android 6.0 (API23)




回答3:


What I did was to change the target my application was compiled against. To do this edit the file android/app/build.gradle on your project and modify the following:

compileSdkVersion 24
buildToolsVersion "24.0.2"

This should match whatever you have installed without requiring to download another API version.




回答4:


please try to install android 6.0 (Marshmallow) api level 23

i just did and works for me




回答5:


I followed the React Native Getting Started instructions and my ANDROID_HOME and PATH was right but I was still getting this error.

The solution was to install "Android 6.0 (Marshmallow)" from this screen (without clicking "Show Package Details"):




回答6:


😂 i solved this problem,and just replaced export ANDROID_HOME=/usr/local/Cellar/android-sdk by export ANDROID_HOME=/usr/local/Cellar/android-sdk/24.4.1_1

android sdk




回答7:


None of the above solutions worked for me, working on a react native app generated with Ignite. Finally, I opened the project up in Android Studio, instead of doing everything via the command line, and a bunch of errors popped up. Fixing the errors one by one within Android Studio solved this problem for me.

You do need the correct path set for ANDROID_HOME for this to work. I installed android sdk with brew, so my path was /usr/local/opt/android-sdk.




回答8:


What helped me - I've just removed all installed SDK Platforms and SDK tools using Android SDK Tool

And Run build again and Android Studio found what it should install and where. If you will follow this instruction - make sure you are running Android Studio with enough permissions to install everything.

Have fun with this issue! Hope it will help you



来源:https://stackoverflow.com/questions/32731858/react-native-target-with-hash-string-android-x-not-found

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!