我有错误,当我开始运行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.

转到react-native项目的android/目录 创建一个名为local的文件。这一行的属性:

sdk.dir = /Users/USERNAME/Library/Android/sdk

USERNAME是你的macOS用户名


您可以尝试添加ANDROID_PATH

export ANDROID_HOME=/Users/<username>/Library/Android/sdk/
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

将系统中的其他android项目复制到本地。属性和粘贴在React-native项目的android文件夹中,它将工作。


如果你在windows上转义(添加反斜杠到)反斜杠和冒号在android/local。属性文件。如果没有,就创建一个

sdk.dir = C\:\\Android\\sdk

确保你安装了合适的模拟器和Android版本。这为我解决了问题。


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。属性文件。


这对我很管用。

我在Udemy上使用Stephen Grider的React Native,其中一个学生在第50课上发布了这个。在命令行中逐字粘贴(当然是w/o '$')。

$ export "ANDROID_HOME=/usr/local/opt/android-sdk" >~/.bash_profile

回声”sdk。dir = /Users/$(whoami)/Library/Android/sdk" > Android/ local.properties .


在Ubuntu上,你必须从Android Studio中单独获取SDK,奇怪的是,这个路径适用于Android Studio,但对于React Native,你需要创建一个文件名local.properties。

例如,在inn ~/AwesomeProject/android中插入这一行: sdk.dir = /道路/ / sdk / /你/电脑


~ /开放。Bash_profile和add:

 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

在当地检查一下。属性文件:

sdk.dir=C\:\\Users\\USERNAME\\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.


有两个gradle文件,在你的C:\myapp\android\build中更改一个。Gradle而不是在父目录myapp中。

将23.0.1替换为安装在我的案例中25.0.0的Android构建工具版本

运行react-native Run -android在模拟器中查看你的应用。


去你的React-native项目-> Android 创建文件local.properties 打开文件 粘贴你的Android SDK路径如下 在Windows sdk中。dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk 在macOS sdk中。dir = /Users/USERNAME/Library/Android/sdk 在Linux sdk中。dir = /home/USERNAME/Android/Sdk

将USERNAME替换为用户名

现在,在终端上运行react-native Run -android。


我能找到的最佳解决方案如下:

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。因此,您不需要担心人工干预。


我认为不建议更新本地。属性文件获取,以添加缺失的环境变量。

更新环境变量:

如何从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


将系统中的其他android项目复制到本地。属性和粘贴在React-native项目的android文件夹中,它将工作。

sdk.dir=C\:\\Users\\paul\\AppData\\Local\\Android\\Sdk

只需在项目中通过android Studio打开文件夹android。 Android工作室创建必要的文件(local.properties)和下载SDK版本运行Android需要。


Windows用户

一个简单的解决方案是将SDK路径设置为environment Variables列表。

转到环境变量。(您的PC >属性) 创建新的系统变量 将变量名称设置为ANDROID_HOME 将变量值设置为Android Sdk Location 按确定(3个对话框3次)

注意:

你的Android Sdk通常位于

C:\Users\YourUserName\AppData\Local\Android\Sdk

请确保关闭当前终端,因为终端保存了所有预先存在的环境变量。


如果你使用的是Ubuntu,只需进入react-native项目的android目录并创建一个名为local的文件。属性并添加android SDK路径,如下所示:

sdk.dir = /home/[YOUR_USERNAME]/Android/Sdk

在你的项目目录中有一个名为“android”的文件夹,其中有一个本地。属性文件。 删除该文件,构建应该会成功运行


如果你创建和android studio项目,你可以看到一个本地。属性文件是在项目根目录中创建的。当你创建一个react原生项目时,它不会为你创建那个文件。所以你必须手动创建它。然后添加skd dir。所以创建一个新的文件在android文件夹(根)。然后像这样放你的SDK路径 sdk。Android dir = D: \ \ \ \ \ SDK \ \ android_sdk_studio。 记住:用双\去掉单\。如上所述。


更新了React Native0.58在MAC/Unix上启动的步骤

在终端打开bash_profile

纳米~ / . bash_profile

滚动到底部,从https://facebook.github.io/react-native/docs/getting-started:添加这行

出口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

更新终端中的更改

源~ / . bash_profile

验证路径:

回声路径美元

确认是否一切正常:

亚洲开发银行设备


我在Windows上,我必须修改sdk路径,不管它在path环境中。变量

sdk.dir=C:/Users/MY_USERNAME/AppData/Local/Android/Sdk

更改此文件:

MyProject\android\local.properties

如果当地。属性文件丢失, 在“project/android”文件夹中创建一个 的sdk。dir=/Users/apple/Library/Android/sdk’,确保你的sdk在那个位置。

要在MAC上创建具有自定义扩展名的文件,请参考以下链接

如何保存自定义扩展名(.sas)的TextEdit (mac)文件?


问题是您错误地配置了环境变量。您必须使用(在Windows中)的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环境变量

如果您按照您现在拥有的方式来做,您必须配置每个项目以使用您的环境变量,如果项目是在几个人的设备中,则可能会导致问题。如果你按照我告诉你的那样做,你就不必配置任何项目。


删除本地。从react项目中的android文件夹中获取属性并尝试它。

我这样做过,而且成功了。


如果你安装了android studio,只需使用android studio打开项目/android,它会通知你在项目中切换SDK位置路径。


有两种方法可以解决这个问题:

简单地运行你的react原生Android项目在Android工作室,它会自动生成你的本地。属性文件在react原生Android项目。 a.进入React-native Project -> Android b.新建文件local.properties c.打开文件 d.像下面这样粘贴Android SDK路径


这个答案适用于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

我的情况就是这样。我希望这对你有所帮助。


如果你使用mac,你需要导出你的sdk路径。只需将Macbook替换为您的系统名称,然后粘贴到终端。“临时使用”

出口ANDROID_HOME = /用户/笔记本/图书馆/ Android sdk


创建一个名为lcoal的文件。并粘贴下面的路径。

sdk.dir = /Users/jotnosqh/Library/Android/sdk (for linux)

这对我来说很有效:如果你安装了Android Studio,你可以在Android Studio中打开项目的Android文件夹。当地的。当Android Studio打开该文件夹时,会自动创建properties文件,您的项目应该在此之后构建。

Open Android Studio 点击“打开现有项目” 在项目文件夹中选择“android”文件夹 按“打开”