离子android构build错误 – 无法find“ANDROID_HOME”环境variables
我正在尝试在linux中为离子build立android,但是它向我展示了这样一个错误
[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.] ERROR building one of the platforms: Error: /home/kumar/myapp/platforms/android/cordova/build: Command failed with exit code 2 You may not have the required environment or OS to build this project Error: /home/kumar/myapp/platforms/android/cordova/build: Command failed with exit code 2 at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:139:23) at ChildProcess.EventEmitter.emit (events.js:98:17) at maybeClose (child_process.js:743:16) at Process.ChildProcess._handle.onexit (child_process.js:810:5)
我已经在我的bashrc文件中添加了这个
export ANT_HOME="/usr/bin/ant" export PATH="$PATH:$ANT_HOME/bin" export HOME="/home/kumar" export ANDROID_HOME="$HOME/android-sdk-linux/tools" export ANDROID_PLATFORM_TOOLS="$HOME/android-sdk-linux/platform-tools" export PATH="$ANDROID_HOME:$ANDROID_PLATFORM_TOOLS:$PATH"
我想我已经给了path,但我不知道为什么它显示我这个错误..请帮助….
Android Home应该是SDK的根文件夹。
export ANDROID_HOME="$HOME/android-sdk-linux"
编辑 :打开terminal并input这些命令。 (是的,在一个ternimal,而不是在bashrc文件)
export ANDROID_HOME=~/android-sdk-macosx PATH=$PATH:$ANDROID_HOME/tools PATH=$PATH:$ANDROID_HOME/platform-tools
然后在同一个terminal上inputandroid
。 如果已configuration,则可以使用此terminal的构build命令。 (这是一个临时解决scheme)
对于OSX
-
进入〜/ .bash_profile添加:
export ANDROID_HOME="/path/to/android-sdk-macosx" export PATH="$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$PATH"
然后在terminal执行立即生效;
-
进入/ etc / sudoers添加:(你可以使用console:
sudo visudo
)Defaults env_keep += "ANDROID_HOME"
因为构build过程必须以
sudo
和Node的process.env
获取各自的variables。
安装Ubuntu
- 仅下载Android Studio或SDK
- 安装
- 设置PATH
在我的情况下,Android和它的SDK默认情况下安装在:
/root/Android/Sdk
打开terminal并编辑〜/ .bashrc
sudo su vim ~/.bashrc
导出ANDROID_HOME并将包含二进制文件的文件夹添加到PATH中
export ANDROID_HOME=/root/Android/Sdk PATH=$PATH:$ANDROID_HOME/tools PATH=$PATH:$ANDROID_HOME/platform-tools
刷新你的PATH运行
source ~/.bashrc
当ionic build android
仍然失败,这可能是因为错误的SDK版本。 要安装正确的版本和图像从命令行运行android
。 既然它现在在你的PATH中,你应该可以从任何地方运行它。
案例:使用SO Windows,请尝试:
set ANDROID_HOME=C:\\android-sdk-windows set PATH=%PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
更多: http : //spring.io/guides/gs/android/
案例:你没有平台工具:
cordova platforms list cordova platforms add <Your_platform, example: Android>
下载android SDK http://developer.android.com/sdk/installing/index.html
您只能导出SDK文件夹的path。
export ANDROID_HOME="YOUR_PATH/sdk/"
上面的答案已经很好地解释了这个过程。 但是,如果将ANDROID_HOME
和PATH
添加到/home/username/
的.bashrc
或.zshrc
,并尝试使用sudo
运行ionic
命令,则可能会再次出现此错误。
原因是,它可能会在root用户的.zshrc
文件中查找ANDROID_HOME
和PATH
,而不是当前login的用户。 所以你不应该这样做,除非你在root用户的.bashrc
或.zshrc
文件中添加这个。
运行sudo ionic run android
作为根,因为这些环境variables不被持久化,我有这个问题。 通过运行sudo -E ionic run android
修复。
Windows – 永久设置环境variables:
setx ANDROID_HOME“C:\ Program Files \ Android \ android-sdk”
要么
setx ANDROID_HOME“C:\ Program Files(x86)\ Android \ android-sdk”
你只需要像这样编辑你的configuration文件:
sudo su vim ~/.profile
并把它放在文件的末尾:
export ANDROID_HOME=/home/(user name)/Android/Sdk export PATH=$PATH:/tools export PATH=$PATH:/platform-tools
保存并closures该文件,然后执行:
cd ~ source .profile
现在如果你这样做:
echo $ANDROID_HOME
它应该告诉你这样的事情:
/home/(user name)/Android/Sdk
对于OSX
大教程在这里: https : //www.youtube.com/watch?v=kY22NSBwV_s
不需要做任何bash命令/符号链接:
- 安装Java 6运行时: https : //support.apple.com/kb/DL1572?locale = de_DE
- 安装Java JDK: http : //www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
在我的情况:我已经把Android和Java的正确path,但仍然得到错误。
问题是我已经使用sudo命令添加了Android平台。 sudo ionic cordova platform android
。
解决我的问题:首先,我通过运行命令删除了平台android
sudo离子cordova平台rm android
然后添加Android平台再出来sudo ionic cordova platform add android
但我得到权限的错误。
解决错误运行命令
sudo chmod -R 777 {您的项目path}
在我的情况下sudo chmod -R 777 ~/codebase/IonicProject
然后运行命令
离子cordova平台添加android
要么
离子cordova运行android