我正在尝试构建一个离子android项目,我安装了android sdk。
我的项目名称是myApp。我已成功将android平台添加到myApp。但是当我试图建立项目时
~/myApp$ sudo ionic build android
结果是
Running command: /home/hari/myApp/hooks/after_prepare/010_add_platform_class.js /home/hari/myApp
add to body class: platform-android
ERROR building one of the platforms: Failed to find 'ANDROID_HOME' environment variable. Try setting setting it manually.
Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.
You may not have the required environment or OS to build this project
Error: Failed to find 'ANDROID_HOME' environment variable. Try setting setting it manually.
Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.
查看ANDROID_HOME和PATH变量
echo $ANDROID_HOME
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/hari/Android/Sdk
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/hari/Android/Sdk/tools:/home/hari/Android/Sdk/platform-tools:/usr/local/bin:/opt/gradle/bin
我已经看到几乎相同类型的堆栈溢出问题,但没有一个对我有用。我的android-sdk配置有什么问题吗?我该如何建立这个项目?
答案 0 :(得分:154)
您可能需要确认您的开发环境已正确设置。
引自spring.io:
设置Android开发环境
在构建Android应用程序之前,必须先安装 Android SDK。安装Android SDK还会安装AVD Manager, 用于创建和管理Android Virtual的图形用户界面 设备(AVD)。
从Android web site下载 适用于您的操作系统的Android SDK的正确版本。
将存档解压缩到您选择的位置。例如,在Linux或Mac上,您可以将其放在用户目录的根目录中。看到 Android Developers 有关其他安装细节的网站。
- 醇>
根据Android SDK的位置配置
ANDROID_HOME
环境变量。另外,考虑添加 <{1}}和ANDROID_HOME/tools
到您的路径。Mac OS X
ANDROID_HOME/platform-tools
的Linux
export ANDROID_HOME=/<installation location>/android-sdk-macosx export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
窗
export ANDROID_HOME=/<installation location>/android-sdk-linux export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
Android SDK下载不包含特定的Android平台。 要运行本指南中的代码,您需要下载并安装 最新的SDK平台。您可以使用Android SDK和AVD执行此操作 您在上一节中安装的管理器。
打开 Android SDK Manager 窗口:
set ANDROID_HOME=C:\<installation location>\android-sdk-windows set PATH=%PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
注意:如果此命令无法打开 Android SDK Manager , 那么你的路径配置不正确。
选择工具复选框。
选中最新Android SDK 的复选框。
从其他文件夹中,选中 Android支持库的复选框。
- 醇>
点击安装软件包... 按钮完成下载和安装。
注意:您可能希望安装所有可用的更新,但是 意识到它需要更长的时间,因为每个API级别都是大量下载。
答案 1 :(得分:33)
在Linux中
首先在.bashrc文件中设置ANDROID_HOME
运行命令
sudo gedit ~/.bashrc
设置已安装的andd sdk路径
export ANDROID_HOME=/opt/android-sdk-linux
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
重新加载文件运行命令
source ~/.bashrc
现在检查已安装的平台,运行命令
ionic platform
输出
Installed platforms:
android 6.0.0
Available platforms:
amazon-fireos ~3.6.3 (deprecated)
blackberry10 ~3.8.0
browser ~4.1.0
firefoxos ~3.6.3
ubuntu ~4.3.4
webos ~3.7.0
如果已安装android,则需要删除并重新安装
ionic platform rm android
ionic platform add android
如果尚未安装,请添加android平台
ionic platform add android
请确保您在没有sudo命令的情况下添加了android平台
如果您仍然在添加android platfrom时遇到错误,如下面的
错误:EACCES:权限被拒绝,打开&#39; /home/ubuntu/.cordova/lib/npm_cache/cordova-android/6.0.0/package/package.json'
请转到/ home / ubuntu /并从那里删除.cordova文件夹
cd /home/ubuntu/
sudo rm -r .cordova
现在再次运行以下命令
ionic platform add android
成功添加平台后,您将能够在离子中构建andoid。
由于
答案 2 :(得分:25)
以下是成功设置Ionic Project以使用Android模拟器所需遵循的步骤:
添加Android平台:
首先,您需要设置环境变量。为此,您需要考虑3个文件:
<强> 1。 〜/ .profile (每次打开终端或计算机启动时设置变量):
//您需要在最后添加的代码
set PATH so it includes user's private bin directories
PATH="$HOME/bin:$HOME/.local/bin:$PATH"
export ANDROID_HOME='/home/<user_name>/Android/Sdk' <Path to android SDK>
export PATH=$PATH:$ANDROID_HOME/bin
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools
<强> 2。 / etc / environment (设置环境变量):
//文件的所有内容
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/usr/lib/jvm/java-8-oracle"
ANDROID_HOME="/home/<user_name>/Android/Sdk" <Path to android SDK>
第3。的/ etc /简档强>:
//您需要在最后添加的代码
JAVA_HOME=/usr/lib/jvm/java-8-oracle <Path where Java is installed>
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH
要加载对文件所做的上述更改,您需要运行以下命令:
source ~/.profile
source /etc/environment
source /etc/profile
1. 添加平台:离子平台添加android(请注意,您需要在没有 sudo 的情况下运行此命令)
2. 如果在上述命令中仍然出现错误,请执行以下操作:(此处为appName = helloWorld)
cd ..
sudo chmod -R 777 helloWorld
cd helloWorld
ionic platform add android
If you are still getting the error then remove ".cordova" folder from the home directory of your PC.
3. 在Android模拟器中运行应用程序:离子运行android
谢谢!
答案 3 :(得分:8)
对于那些在Windows上拥有便携式SDK版本的用户,只需将以下2个路径添加到您的系统中即可。
F:\ADT_SDK\sdk\platforms
F:\ADT_SDK\sdk\platform-tools
这对我有用。
答案 4 :(得分:6)
我以前遇到过这个问题
您需要将sdks\tools
和sdks\build-tools
添加到您的环境路径。
答案 5 :(得分:3)
执行:sudo gedit ~/.bashrc
添加
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JAVA_HOME
PATH=$PATH:$JAVA_HOME
export PATH
export ANDROID_HOME=~/Android/Sdk
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
和
source ~/.bashrc
答案 6 :(得分:2)
2019年4月11日
以上答案均未解决我的问题,因此我想为使用Ubuntu 18.04的人员提供最新解决方案(截至2019年4月)。这就是我解决上述问题的方法...
/usr/lib/Android/
搜索SDK的安装位置和版本。就我而言,它在这里:
/usr/lib/Android/Sdk/build-tools/28.0.3
注意:我使用的是28.0.3版本,您的版本可能有所不同。
将ANDROID_HOME
添加到环境路径。为此,请使用文本编辑器打开/ etc / environment:
sudo nano /etc/environment
为ANDROID_HOME
添加一行用于您的特定版本和路径。就我而言,是:
ANDROID_HOME="/usr/lib/Android/Sdk/build-tools/28.0.3"
最后,使用以下命令获取更新的环境:source /etc/environment
请通过在终端中尝试echo $ANDROID_HOME
来确认。您应该获得新创建的变量的路径。
关于采购的另一条注释,我确实必须重新启动计算机以使VScode终端能够识别我的更改。重新启动后,环境已设置好,此后我再也没有任何问题。
答案 7 :(得分:2)
我想分享一个答案,该答案还演示了使用Ubuntu存储库提供的Android SDK的方法:
安装Android SDK
sudo apt-get install android-sdk
导出环境变量
export ANDROID_HOME="/usr/lib/android-sdk/"
export PATH="${PATH}:${ANDROID_HOME}tools/:${ANDROID_HOME}platform-tools/"
答案 8 :(得分:1)
来自谷歌寻找同样的问题,浪费了4个小时来弄清楚可能出现的问题。现在,在发布这个答案时,我觉得非常愚蠢。在我的案例中,SDK,JDK,JRE,Ant以及其他所有内容都已安装并在前一天工作。
但是只有一个特定的项目给了我这个问题。这个位于&#34; C:\ Users \ Name \ Documents&#34; 位置
很快我意识到我一直在以正常用户身份运行cmd,我选择&#34; 以管理员身份运行&#34;一切都开始了。
提示:请务必仔细考虑项目位置!
答案 9 :(得分:1)
要在ubuntu 20.04上设置 ANDROID_HOME 环境,请访问Ubuntu的快照存储并安装Android Studio,然后打开
0
并按如下所示设置环境变量:
vim $HOME/.bashrc
在最新版本的Android Studio中,将 ANDROID_HOME 替换为 ANDROID_SDK_ROOT ,否则,构建版本将抱怨 ANDROID_HOME已过时。
答案 10 :(得分:0)
我在windows7计算机上遇到过这个问题:当离子服务器正在运行时计算机关闭(我假设这是破坏一切的问题)
完全删除节点并在新节点副本上重新安装所有内容
答案 11 :(得分:0)
这解决了我的问题。在下方添加到您的系统路径
PATH_TO_android \ platforms
PATH_TO_android \ platform-tools
答案 12 :(得分:0)
在Windows中,如果您是从VS代码终端运行此命令的,即使设置了所有环境变量(即,build-tools,platform-tools,tools),尝试从外部cmd终端运行相同的命令也无法正常工作。 就我而言,即使启动了新的VS代码终端,它也无法采用更新的环境路径。
当我从Windows cmd运行相同的命令时,它起作用了。
答案 13 :(得分:0)
我在MAC catalina 10.15上遇到了相同的问题,当您在终端上回显它时,无法识别您在.bash_profile中添加的内容,它是临时存储的。建议使用.zprofile作为永久文件并在其中添加所有环境变量。尝试5小时后,我找到了此解决方案。希望对某人有用。
vi .zprofile
insert(press i)
export ANDROID_HOME=/Users/mypc/Library/Android/sdk
export PATH=$ANDROID_HOME/platform-tools:${PATH}
after adding environment variables press esc
then enter :wq!
try echo $ANDROID_HOME in new tab(it will not be empty) path will be
printed
答案 14 :(得分:0)
花了将近几个小时没有睡觉搜索所有内容以在我的 android 设备上安装 apk 以进行调试,但由于 ADP ENONET
无法安装 apk。
"adb reverse": spawnSync Users/shanu/Library/Android/sdk/platform-tools/adb ENOENT
解决方案非常简单,从字面上看,我在 .bash_profile, .zshrc, environment, ~/.profile
等中添加了变量,几乎尝试了所有解决方案,但都无法解决。
这个错误很小。
而不是在我的 bash_profile 文件中添加这样(正确)。
export ANDROID_HOME=/Users/shanu/Library/Android/sdk
export PATH=${PATH}:/Users/shanu/Library/Android/emulator
export PATH=${PATH}:/Users/shanu/Library/Android/sdk/tools
export PATH=${PATH}:/Users/shanu/Library/Android/sdk/tools/bin
export PATH=${PATH}:/Users/shanu/Library/Android/sdk/platform-tools
我添加了这样的东西,但在我的情况下是错误的。
export ANDROID_HOME=Users/shanu/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
可能会有帮助:在 package.json
内为 yarn android
命令添加这样的内容
"android": "source ~/.bash_profile&&react-native run-android"
答案 15 :(得分:0)
按照其他答案中的建议更新路径和环境变量后,有时您只需重新启动机器即可。我用了 24 多个小时,直到我用尽所有选项并重新启动。