我有错误,当我开始运行android
What went wrong:
A problem occurred evaluating project ':app'.
> SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
我有错误,当我开始运行android
What went wrong:
A problem occurred evaluating project ':app'.
> SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
当前回答
将系统中的其他android项目复制到本地。属性和粘贴在React-native项目的android文件夹中,它将工作。
sdk.dir=C\:\\Users\\paul\\AppData\\Local\\Android\\Sdk
其他回答
修复Linux发行版上的SDK路径错误
您的项目没有通过提供的路径在项目设置中找到SDK设置,因此项目需要指向正确的方向,您有几个选项来完成这一任务,但让我们首先找到正确的SDK文件夹。
寻找SDK
来自包管理器
如果您正在使用基于包的JRE安装,例如通过基于debian的发行版中的自定义PPA安装Java 8 JRE,或者使用OpenJDK,则目录很可能是/usr/lib/jvm/java-8-oracle(或您选择的任何版本)。你可以在JAVA_HOME环境变量中找到这个路径:
$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
手动下载
如果您通过Java JRE/SDK下载进行安装,则它将位于您放置文件夹的位置,例如/home/username/jdk-8u121_1.8.0(或类似的东西)。
脚本安装甚至可以将SDK添加到/opt/ Java -8-oracle中,但是在撰写本文时,Java安装指示将文件夹放置位置留给您。
Android Studio 2.2
最后,如果你使用的是Android Studio, SDK将放置在你设置的位置,即放置通过Studio的SDK管理器下载的SDK文件。通过去文件>设置>外观和行为>系统设置> Android SDK,你可以发现SDK的位置设置在顶部的选项进行更改,默认文件夹为~/Android/ SDK。
设置SDK路径
现在我们知道了SDK的位置,是时候让react-native知道了。
选项1:使用local.properties进行设置
这个方法非常简单,所需要的就是在本地创建文件。在下面的文件夹中,Project_Folder是你的React-Native应用的基础:
Project_Folder / Android应用程序
在你的地方。属性,您需要设置变量sdk。dir到你的SDK文件夹的路径:
sdk.dir=/home/username/Android/Sdk
虽然这是解决问题的最简单方法,但并不是最好的方法,特别是如果您要处理多个项目。对于每个项目,都必须为每个项目创建此文件,如果文件夹更改,则计划为每个项目的local.properties更改此文件。
文件保存后,重新运行react-native run-android命令。
选项2:使用环境变量设置文件夹
The other option is to set the SDK folders to the local environment variables that React-Native looks for by default. To do so, we will add the ANDROID_HOME path. As a bonus we can also add our android tools in the same place. We need to add this to rather the .bash_profile or .profile files in our home directory, which are loaded last, so we can make sure that nothing else is overriding the settings we make. Since these are in your home directory, there is no need to edit with escalated privileges.
**$ vim ~/.profile** (use nano or pico if you prefer)
在该文件中添加以下行,将SDK文件夹替换为上面找到的SDK文件夹。我将以Android Studio文件夹为例:
export ANDROID_HOME="~/Android/Sdk"
export PATH=$PATH:~/Android/Sdk/tools:~/Android/Sdk/platform-tools
保存文件,然后应用配置文件设置:
$ source ~/.profile
$ echo $ANDROID_HOME
/home/dbrown/Android/Sdk
如果Sdk文件夹显示正确,恭喜你!重新运行react-native命令,并观察应用程序构建过程继续前进。
如果你还有问题
If for some reason you receive the error "> failed to find target with hash string 'android-23' in: your/sdk/folder, you need to make sure that the project's build version and the version of the SDK installed match (React-Native defaults to 23.0.1). You can find the default version in Project_Folder/android/app/build.gradle, and then searching for buildToolsVersion. You can of course change the version from this file, or in Android Studio go to File > Project Structure to change the Project SDK. I would not suggest changing this version unless you absolutely know what you are doing, otherwise install the SDK version the project is looking for.
我能找到的最佳解决方案如下:
Download Android Studio and SDK of your choice (Even if you think you don't need it trust me that you would need it to release the apk file and some manual changes to the android code). File > New > Import , point to the location where your react native android project is. If it ask you to download any specific SDK then please download the same. It can ask you to update gradle etc... Please keep on updating where required. If you have an existing Android SDK and you know the version then all you have to do is match that version under build.gradle of your android project.
这是gradle文件看起来的样子:
如果你的机器设置一切顺利,你可以使用Android Studio编译项目,那么没有什么会阻止你通过react-native cli build Android命令构建你的应用程序。
使用这种方法,您不仅可以解决SDK的问题,还可以解决与Android开发的机器设置相关的许多问题。导入将自动找到SDK位置并创建local.properties。因此,您不需要担心人工干预。
Linux用户
你的应用程序没有得到android-sdk的路径,所以如果你使用linux (ubuntu),那么你需要添加一个名为“local. sdk”的文件。并保存在android文件夹中,这是在你的app文件夹中创建的。
您需要在本地内添加以下行。属性文件,也就是android-sdk的路径它在系统中在系统中运行应用。
sdk.dir = / opt / android sdk /
保存并重新运行命令react-native run-android
OR
你可以打开终端,打字
Sudo nano ~/.bashrc
并将下面的路径粘贴到文件的末尾
出口ANDROID_HOME = " / opt / android sdk / "
然后重启你的电脑,再次运行react-native run-android。
注意:如果你把set path放在。bashrc文件中,那么你甚至不需要创建local。属性文件。
我认为不建议更新本地。属性文件获取,以添加缺失的环境变量。
更新环境变量:
如何从iTerm2打开OSX上的AVD管理器?
Android-28 / android-30
sdk可以安装在/Library/Android/sdk或/usr/local/以确保检查它
which sdkmanager
出口ANDROID_HOME
export ANDROID_HOME=$HOME/Library/Android/sdk
or
export ANDROID_HOME="/usr/local/share/android-sdk"
然后将其添加到$PATH
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/build-tools/28.0.1:$PATH
android-23
export ANT_HOME=/usr/local/opt/ant
export MAVEN_HOME=/usr/local/opt/maven
export GRADLE_HOME=/usr/local/opt/gradle
export ANDROID_HOME=/usr/local/share/android-sdk
export ANDROID_SDK_ROOT=/usr/local/share/android-sdk
export ANDROID_NDK_HOME=/usr/local/share/android-ndk
export INTEL_HAXM_HOME=/usr/local/Caskroom/intel-haxm
我使用酿造桶安装Android SDK按照这些说明。
更多信息见https://developer.android.com/studio/intro/update#sdk-manager
这个答案适用于MacOs的Catalina用户或zsh用户,因为你的Mac现在使用zsh作为默认的登录shell和交互式shell。
如果你按照React Native的文档设置开发环境指南。然后执行以下操作。
首先检查是否本地。属性文件是否存在。 如果文件不存在,则创建并添加以下行。
sdk.dir=/Users/<youcomputername>/Library/Android/sdk
在完成上述更改之后,现在执行以下操作。
~ /开放。ZSHRC使用代码编辑器。在我的例子中,我使用vim
vim ~/.zshrc
为路径添加以下一行。
export ANDROID_HOME="/Users/<yourcomputername>/Library/Android/sdk"
export PATH=$ANDROID_HOME/emulator:$PATH
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/tools/bin:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
确保正确地添加上面的行,否则它会给你一个奇怪的错误。
保存更改并关闭编辑器。 最后,现在编译您的更改
source ~/.zshrc
我的情况就是这样。我希望这对你有所帮助。