我有错误,当我开始运行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/
local.properties
sdk.dir = /Users/USERNAME/Library/Android/sdk
哪里USERNAME是你的macOS用户名
USERNAME
您可以尝试添加ANDROID_PATH
export ANDROID_HOME=/Users/<username>/Library/Android/sdk/ export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
将系统中的其他android项目复制到本地。属性和粘贴在React-native项目的android文件夹中,它将工作。
如果你在窗口转义(添加反斜杠)反斜杠和冒号在android/local.properties文件。如果没有,就创建一个
android/local.properties
sdk.dir = C\:\\Android\\sdk
确保你安装了合适的模拟器和Android版本。这为我解决了问题。
Linux用户
你的应用程序没有得到android-sdk的路径,所以如果你使用linux (ubuntu),那么你需要添加一个名为“local. sdk”的文件。并保存在android文件夹中,这是在你的app文件夹中创建的。
您需要在本地内添加以下行。属性文件,也就是android-sdk的路径它在系统中在系统中运行应用。
# EYZ0
保存并重新运行命令react-native运行android
或
你可以打开终端,打字
Sudo nano ~/.bashrc
并将下面的路径粘贴到文件的末尾
出口ANDROID_HOME = " / opt / android sdk / "
和重新启动计算机,然后再运行react-native运行android。
这对我很管用。
我在Udemy上使用Stephen Grider的React Native,其中一个学生在第50课上发布了这个。在命令行中逐字粘贴(当然是w/o '$')。
$ export "ANDROID_HOME=/usr/local/opt/android-sdk" >~/.bash_profile
在Ubuntu上,你必须从Android Studio中单独获取SDK 奇怪的,该路径将适用于Android Studio,但对于React Native,你需要创建一个文件名local.properties。
~/AwesomeProject/android
打开~/.bash_profile,添加:
~/.bash_profile
export ANDROID_HOME=~/Library/Android/sdk/ export PATH=$PATH:~/android-sdks/platform-tools/ export PATH=$PATH:~/android-sdks/tools/
源~ / . bash_profile
必须填写正确的全路径。 不要使用` ~/Library/Android/sdk `
vi ~/.bashrc export ANDROID_HOME=/Users/{UserName}/Library/Android/sdk export PATH=${PATH}:${ANDROID_HOME}/tools export PATH=${PATH}:${ANDROID_HOME}/platform-tools source ~/.bashrc
在local.properties文件中检查:
sdk.dir=C\:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
格式是否合适
您的项目没有通过提供的路径在项目设置中找到SDK设置,因此项目需要指向正确的方向,您有几个选项来完成这一任务,但让我们首先找到正确的SDK文件夹。
From Package Manager
如果您在基于debian的发行版中通过自定义PPA使用软件包安装JRE,如Java 8 JRE,或使用OpenJDK,则目录很可能是/usr/lib/jvm/java-8-oracle(或您选择的任何版本)。你可以在JAVA_HOME环境变量中找到这个路径:
$ echo $JAVA_HOME /usr/lib/jvm/java-8-oracle
< em >手动下载< / em >
如果你通过Java JRE/SDK下载安装,它将在你放置文件夹的任何地方,例如/home/< < /强> >用户名/ 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的位置,是时候让react-native知道了。
选项1:使用local.properties进行设置
这个方法非常简单,所需要的就是在下面的文件夹中创建文件local.properties,其中Project_Folder是你的React-Native应用程序的基础:
Project_Folder / Android应用程序
在你的地方。属性,您需要设置变量sdk。dir到你的SDK文件夹的路径:
sdk.dir=/home/username/Android/Sdk
虽然这是解决问题的最简单方法,但并不是最好的方法,特别是如果您要处理多个项目。对于每个项目,都必须为每个项目创建此文件,如果文件夹更改,则计划为每个项目的local.properties更改此文件。
保存文件之后,重新运行react-native运行android命令。
选项2:使用环境变量设置文件夹
另一种选择是将SDK文件夹设置为React-Native默认查找的本地环境变量。为此,我们将添加ANDROID_HOME路径。作为奖励,我们还可以在同一位置添加我们的android工具。我们需要将其添加到主目录中的.bash_profile或.profile文件中,这些文件是最后加载的,这样我们就可以确保没有其他内容覆盖我们所做的设置。因为这些都在您的主目录中,所以不需要使用升级权限进行编辑。
**$ 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命令,并观察应用程序构建过程继续前进。
如果你还有问题
如果由于某种原因您收到错误“>无法在:your/sdk/文件夹中找到hash字符串为“android-23”的目标”,您需要确保项目的构建版本和安装的SDK版本匹配(React-Native默认为23.0.1)。您可以在Project_Folder / android / app / build.gradle中找到默认版本,然后搜索buildToolsVersion。你当然可以从这个文件中更改版本,或者在Android Studio中转到文件>项目结构来更改项目SDK。我不建议更改这个版本,除非你完全知道你在做什么,否则安装项目正在寻找的SDK版本。
有两个gradle文件,更改C:\myapp\android\build.gradle中的一个和不在父目录myapp中。
将23.0.1替换为安装在我的案例中25.0.0的Android构建工具版本
运行react-native运行android在模拟器中查看你的应用。
粘贴你的Android SDK路径如下所示
sdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
sdk.dir = /home/USERNAME/Android/Sdk
用用户名替换USERNAME
现在,在终端中运行react-native run-android。
react-native run-android
我能找到的最佳解决方案如下:
这是gradle文件看起来的样子:
如果你的机器设置一切顺利,你可以使用Android Studio编译项目,那么没有什么会阻止你通过react-native cli build Android命令构建你的应用程序。
使用这种方法,您不仅可以解决SDK的问题,还可以解决与Android开发的机器设置相关的许多问题。导入将自动找到SDK位置并创建local.properties。因此,您不需要担心人工干预。
我不建议更新local.properties文件来添加缺失的环境变量。
如何从iTerm2打开OSX上的AVD管理器?< / >
sdk可以安装在/Library/Android/sdk或/usr/local/以确保检查它
which sdkmanager
export ANDROID_HOME=$HOME/Library/Android/sdk
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
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
我用brew cask在这些指令后面安装Android SDK。
brew cask
更多信息见https://developer.android.com/studio/intro/update#sdk-manager
sdk.dir=C\:\\Users\\paul\\AppData\\Local\\Android\\Sdk
Windows用户
一个简单的解决方案是将SDK路径设置为environment Variables列表。
注意:
你的Android Sdk通常位于
< em > C: \ Android用户当地\ YourUserName \ AppData \ \ \ Sdk < / em >
确保为关闭当前终端,因为您的终端保存了所有预先存在的环境变量。
如果你使用的是Ubuntu,只需进入react-native项目的android目录,创建一个名为local.properties的文件,并添加android sdk路径,如下所示:
sdk.dir = /home/[YOUR_USERNAME]/Android/Sdk
android studio
更新了React Native0.58在MAC/Unix上启动的步骤
纳米~ / . bash_profile
出口ANDROID_HOME = $ HOME /图书馆/ Android sdk 导出路径= $路径:$ ANDROID_HOME /模拟器 导出路径= $路径:$ ANDROID_HOME /工具 导出路径= $路径:$ ANDROID_HOME /工具/ bin 导出路径= $路径:$ ANDROID_HOME /平台工具
出口ANDROID_HOME = $ HOME /图书馆/ Android sdk
导出路径= $路径:$ ANDROID_HOME /模拟器
导出路径= $路径:$ ANDROID_HOME /工具
导出路径= $路径:$ ANDROID_HOME /工具/ bin
导出路径= $路径:$ ANDROID_HOME /平台工具
Control+S to save Control+X to exit Y to save changes
我在Windows上,我必须修改sdk路径,不管它在path环境中。变量
sdk.dir=C:/Users/MY_USERNAME/AppData/Local/Android/Sdk
更改此文件:
MyProject\android\local.properties
要在MAC上创建具有自定义扩展名的文件,请参考以下链接
我如何保存一个TextEdit (mac)文件自定义扩展名(.sas)?< / >
问题是您错误地配置了环境变量。你必须使用(在Windows中)SDK: C:\Users\YOUR_USERNAME\AppData\Local\Android\Sdk
C:\Users\YOUR_USERNAME\AppData\Local\Android\Sdk
更多信息:https://facebook.github.io/react-native/docs/getting-started
在第3点的Android开发环境部分选择:React Native CLI Quickstart。配置ANDROID_HOME环境变量
ANDROID_HOME
如果您按照您现在拥有的方式来做,您必须配置每个项目以使用您的环境变量,如果项目是在几个人的设备中,则可能会导致问题。如果你按照我告诉你的那样做,你就不必配置任何项目。
从react项目中的安卓文件夹中删除local.properties并尝试它。
我这样做过,而且成功了。
如果你安装了android studio,只需使用android studio打开Project/android,它会通知你在项目中切换SDK位置路径。
Project/android
有两种方法可以解决这个问题:
简单地运行你的react原生Android项目在Android工作室,它会自动生成你的本地。在react原生Android项目中文件。
这个答案是为MacOs Catalina用户或zsh用户,因为你的Mac现在使用zsh作为默认的登录shell和交互式shell。
MacOs Catalina
zsh
如果你遵循React Native Setting up the development environment指南的文档。然后执行以下操作。
Setting up the development environment
首先检查local.properties文件是否存在。 如果该文件不存在,则创建并添加以下行
sdk.dir=/Users/<youcomputername>/Library/Android/sdk
在完成上述更改之后,现在执行以下操作。
~/.zshrc
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
我的情况就是这样。我希望这对你有所帮助。
如果你使用mac,你需要导出你的sdk路径。只需将Macbook替换为您的系统名称,然后粘贴到终端。“暂时使用”;
出口ANDROID_HOME = /用户/ # EYZ1 /图书馆/ Android sdk
创建一个名为lcoal的文件。在Android/中粘贴下面的路径。
Android/
sdk.dir = /Users/jotnosqh/Library/Android/sdk (for linux)
这对我来说很有效:如果你安装了Android Studio,你可以在Android Studio中打开项目的Android文件夹。local.properties文件是在Android Studio打开文件夹时自动创建的,你的项目应该在那之后构建。
打开Android Studio 点击“打开现有项目” 在项目文件夹中选择“android”文件夹 按“打开”< / p >