当我开始运行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.
答案 0 :(得分:671)
android/
目录使用以下行创建名为local.properties
的文件:
sdk.dir = /Users/USERNAME/Library/Android/sdk
USERNAME
是您的OSX用户名
答案 1 :(得分:304)
local.properties
粘贴您的Android SDK路径,如下所示
sdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
sdk.dir = /Users/USERNAME/Library/Android/sdk
sdk.dir = /home/USERNAME/Android/Sdk
将USERNAME
替换为您的用户名
现在,在终端中运行react-native run-android
。
答案 2 :(得分:101)
您可以尝试添加ANDROID_PATH
export ANDROID_HOME=/Users/<username>/Library/Android/sdk/
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
答案 3 :(得分:46)
打开~/.bash_profile
并添加:
export ANDROID_HOME=~/Library/Android/sdk/
export PATH=$PATH:~/android-sdks/platform-tools/
export PATH=$PATH:~/android-sdks/tools/
答案 4 :(得分:35)
不要 更新 local.properties
,这绝对是一种不好的做法。
这就是我修复它的方法。在~/.bash_profile
或~/.bashrc
。
export ANDROID_HOME=/usr/local/share/android-sdk
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/build-tools/23.0.1:$PATH
注意:我使用brew cask
在these instructions之后安装 Android SDK 。
答案 5 :(得分:26)
elixir(mix => {
mix.less('app.scss');
});
答案 6 :(得分:21)
如果您正在使用android/local.properties
文件中的反斜杠和冒号进行Windows转义(添加反斜杠)。如果它不存在则创建它
sdk.dir = C\:\\Android\\sdk
答案 7 :(得分:10)
已更新React Native0.58的步骤以在MAC / Unix上开始使用
nano〜/ .bash_profile
export ANDROID_HOME = $ HOME / Library / Android / sdk export
PATH = $ PATH:$ ANDROID_HOME /仿真器导出
PATH = $ PATH:$ ANDROID_HOME /工具导出
PATH = $ PATH:$ ANDROID_HOME / tools / bin导出
PATH = $ PATH:$ ANDROID_HOME / platform-tools
Control+S to save
Control+X to exit
Y to save changes
source ~/.bash_profile
echo $PATH
adb devices
答案 8 :(得分:9)
您的项目未通过提供的路径在项目设置中找到SDK集,因此项目需要指向正确的方向,并且您有几个选项可以实现此目的,但让我们从首先找到正确的SDK文件夹。
来自程序包管理器
如果您在基于Debian的发行版中通过自定义PPA使用基于包的JRE安装,例如 Java 8 JRE ,或者使用 OpenJDK < / em>,目录很可能是 / usr / lib / jvm / java-8-oracle (或者您选择的任何版本)。您可以在 JAVA_HOME 环境变量中找到此路径:
$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
手动下载
如果您已通过 Java JRE / SDK下载进行安装,那么它将放置在您放置文件夹的任何位置,例如: / home / 用户名 /jdk-8u121_1.8.0 (或类似内容)。
脚本安装甚至可以将SDK添加到 / opt / java-8-oracle ,但在撰写本文时,Java安装说明会将文件夹放置在您手中。
Android Studio 2.2
最后,如果您使用的是Android Studio,则会将SDK放置在您将其设置为放置通过Studio的SDK Manager下载的SDK文件的位置。转到文件&gt;设置&gt;外观&amp;行为&gt;系统设置&gt; Android SDK ,您可以在顶部找到SDK位置设置,并提供更改选项,默认文件夹为〜/ Android / Sdk 。
现在我们知道了SDK的位置,现在是时候让本地人知道反应了。
选项1:使用local.properties
进行设置此方法非常简单,只需在以下文件夹中创建文件 local.properties ,其中 Project_Folder 是您的React-Native的基础申请:
Project_Folder / Android设备/应用
在local.properties中,您希望将变量sdk.dir设置为SDK文件夹的路径:
sdk.dir=/home/username/Android/Sdk
虽然这是解决问题的最简单方法,但它并不是最好的,特别是如果您使用多个项目。对于每个项目,您必须为每个项目创建此文件,并且如果文件夹更改了为每个项目的local.properties更改此文件的计划。
保存文件后,重新运行 react-native run-android 命令。
选项2:设置包含环境变量的文件夹
另一个选项是将SDK文件夹设置为默认情况下React-Native查找的本地环境变量。为此,我们将添加ANDROID_HOME路径。作为奖励,我们还可以在同一个地方添加我们的Android工具。我们需要将其添加到我们的主目录中的.bash_profile或.profile文件中,这些文件最后加载,因此我们可以确保没有其他任何内容覆盖我们所做的设置。由于它们位于您的主目录中,因此无需使用升级权限进行编辑。
**$ vim ~/.profile** (use nano or pico if you prefer)
在文件中添加以下行,将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命令,并观察应用程序构建过程继续前进。
如果您仍有问题
如果由于某种原因您收到错误&#34; &gt;无法使用哈希字符串找到目标&#39; android-23&#39;在:your / sdk / folder 中,您需要确保项目的构建版本和安装的SDK版本匹配(React-Native默认为23.0.1)。您可以在 Project_Folder / android / app / build.gradle 中找到默认版本,然后搜索 buildToolsVersion 。您当然可以从此文件更改版本,或者在Android Studio中转到文件&gt;项目结构更改 Project SDK 。我不建议更改此版本,除非您完全知道自己在做什么,否则请安装项目正在寻找的SDK版本。
答案 9 :(得分:8)
适用于Windows用户
一个简单的解决方案是将SDK路径设置为Enviroment Variables列表。
注意:强>
您的Android Sdk通常位于
<强> C:\用户\ YourUserName \应用程序数据\本地\的Android \ SDK 强>
确保关闭当前终端,因为您的终端拥有所有已存在的环境变量。
答案 10 :(得分:6)
在Ubuntu上,您必须从Android Studio strange 单独获取SDK,该路径将适用于Android Studio,但使用React Native,您需要创建一个文件名{{1} }。
例如旅馆local.properties
并插入此行:
~/AwesomeProject/android
答案 11 :(得分:6)
您必须写出正确的完整路径。 不要使用'〜/ 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
答案 12 :(得分:5)
此答案适用于MacOs Catalina
用户或zsh
用户,因为您的Mac现在使用zsh作为默认登录外壳程序和交互式外壳程序。
如果您遵循React Native Setting up the development environment
指南的文档。然后执行以下操作。
首先检查local.properties
文件是否存在。
如果该文件不存在,则创建并添加以下行。
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
在我的情况下,我可以正常工作。希望对您有帮助。
答案 13 :(得分:4)
从react项目中的 android 文件夹中删除local.properties
,然后尝试。
我已经做到并成功了。
答案 14 :(得分:2)
查看sdk.dir=C\:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
文件:
for mainbody in soup2.find_all('div',class_="thread_body"):
main_body.append([mainbody.get_text().strip()])
如果格式正确
答案 15 :(得分:2)
我能找到的最佳解决方案如下:
这是gradle文件的样子:
如果您的机器设置一切顺利,并且您可以使用Android Studio编译项目,那么没有什么能阻止您通过react-native cli build android命令构建您的应用程序。
通过这种方法,您不仅可以解决SDK的问题,还可以解决与Android开发的机器设置相关的许多问题。导入将自动查找SDK位置并创建local.properties。因此,您不必担心人工干预。
答案 16 :(得分:2)
如果您使用的是Ubuntu,只需转到您的react-native项目的android目录并创建一个名为local.properties
的文件,并按如下方式添加android sdk路径:
sdk.dir = /home/[YOUR_USERNAME]/Android/Sdk
答案 17 :(得分:1)
复制你的系统的其他android项目local.properties并粘贴到React-native项目的android文件夹中它将起作用。
答案 18 :(得分:1)
如果缺少local.properties文件, 只需在“ project / android”文件夹中创建一个 'sdk.dir = / Users / apple / Library / Android / sdk',并确保您的SDK位于该位置。
要在Mac上创建具有自定义扩展名的文件,请参考以下链接
How do I save a TextEdit (mac) file with a custom extension (.sas)?
答案 19 :(得分:1)
确保安装了正确的模拟器和Android版本。这解决了我的问题。
答案 20 :(得分:1)
如果创建和android studio
项目,则可以看到在项目根目录中创建了local.properties
文件。当您创建一个react native项目时,它不会为您创建该文件。因此,您必须手动创建它。并且必须添加skd目录。因此,请在android文件夹(位于root上)中创建一个新文件。然后像这样把你的SDK路径
sdk.dir=D\:\\Android\\SDK\\android_sdk_studio .
请记住:将单\删除为双。就像上面一样。
答案 21 :(得分:1)
在您的项目目录中,有一个名为“ android”的文件夹,并且其中有local.properties文件。 删除文件,构建应该成功运行
答案 22 :(得分:1)
适用于Linux用户
你的应用程序没有获得android-sdk的路径,所以如果你使用的是linux(ubuntu),那么你需要添加一个名为&#34; local.properties&#34;的文件。并将其保存在Android文件夹中,该文件夹是在app文件夹中创建的。
你需要在local.properties文件中添加以下行,这是你的android-sdk在系统内部的路径,以便运行应用程序。
sdk.dir=/opt/android-sdk/
保存并重新运行命令 react-native run-android
或强>
你可以打开终端,输入
sudo nano~ / .bashrc
并将以下路径粘贴到文件的末尾
导出ANDROID_HOME =&#34; / opt / android-sdk /&#34;
和重新启动计算机然后再次运行 react-native run-android 。
注意: - 如果您将设置路径放在.bashrc文件中,那么您甚至不需要创建local.properties文件。
答案 23 :(得分:1)
这对我有用。
我在Udemy上选择了Stephen Grider的React Native,其中一位学生在第50讲中发布了这篇文章。在命令行中逐字地粘贴(当然没有'$')。
dialog_car.setContentView(R.layout.dialog_cartype);
// at this point you have newly created view hierarchy and
// RadioGroup has no selected items
iv_carType=(ImageView)dialog_car.findViewById(R.id.iv_carType);
btn_confirmCar=(Button)dialog_car.findViewById(R.id.btn_confirmCar);
rg_carType=(RadioGroup)dialog_car.findViewById(R.id.rg_carType);
// still has no selected items, next call returns -1 as well
int selected=rg_carType.getCheckedRadioButtonId();
答案 24 :(得分:0)
通过 Android Studio 在项目中打开文件夹android。 Android studio创建必要的文件(local.properties)并下载SDK版本以运行Android所需。
答案 25 :(得分:0)
我在Windows上,无论是否在PATH env中都必须修改sdk路径。变量
sdk.dir=C:/Users/MY_USERNAME/AppData/Local/Android/Sdk
更改了此文件:
MyProject\android\local.properties
答案 26 :(得分:0)
问题是您没有正确配置环境变量。您必须使用(在Windows中)以下版本的SDK:C:\Users\YOUR_USERNAME\AppData\Local\Android\Sdk
有关更多信息:https://facebook.github.io/react-native/docs/getting-started
选择:在Android开发环境中的第3点中选择:React Native CLI Quickstart。配置ANDROID_HOME
环境变量
如果立即执行操作,则必须将每个项目配置为使用您的环境变量,并且如果该项目与他们的设备不在同一个人中,则可能会引起问题。如果您按照我的建议进行操作,则无需配置任何项目。
答案 27 :(得分:0)
如果您已安装android studio,只需使用Android Studio打开Project/android
,它会通知您在项目中切换SDK位置路径。
答案 28 :(得分:0)
有2种方法可以解决此问题:
简单地在android studio中运行您的react native Android项目,它将自动在react native Android项目中生成您的 local.properties 文件。
a。转到React-native项目-> Android
b。创建文件 local.properties
C。打开文件
d。像下面一样粘贴您的Android SDK路径
答案 29 :(得分:0)
有两个gradle文件,更改C:\ myapp \ android \ build.gradle 中的文件,而不是父目录myapp。
将23.0.1替换为我的案例25.0.0中安装的Android Build Tool版本
运行 react-native run-android ,在模拟器中查看您的应用。
答案 30 :(得分:-2)
复制你的系统的其他android项目local.properties并粘贴到它将起作用的React-native项目的android文件夹中。
sdk.dir=C\:\\Users\\paul\\AppData\\Local\\Android\\Sdk