我有错误,当我开始运行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.
当前回答
创建一个名为lcoal的文件。并粘贴下面的路径。
sdk.dir = /Users/jotnosqh/Library/Android/sdk (for linux)
其他回答
这个答案适用于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
我的情况就是这样。我希望这对你有所帮助。
修复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.
在当地检查一下。属性文件:
sdk.dir=C\:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
格式是否合适
Windows用户
一个简单的解决方案是将SDK路径设置为environment Variables列表。
转到环境变量。(您的PC >属性) 创建新的系统变量 将变量名称设置为ANDROID_HOME 将变量值设置为Android Sdk Location 按确定(3个对话框3次)
注意:
你的Android Sdk通常位于
C:\Users\YourUserName\AppData\Local\Android\Sdk
请确保关闭当前终端,因为终端保存了所有预先存在的环境变量。
这对我很管用。
我在Udemy上使用Stephen Grider的React Native,其中一个学生在第50课上发布了这个。在命令行中逐字粘贴(当然是w/o '$')。
$ export "ANDROID_HOME=/usr/local/opt/android-sdk" >~/.bash_profile