Ionic android build Error - 无法找到'ANDROID_HOME'环境变量

Kum*_*ndi 51 linux android cordova ionic-framework ionic

我正在尝试在Linux中构建android for ionic但是它向我显示了这样的错误

     [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)
Run Code Online (Sandbox Code Playgroud)

我已经在我的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"
Run Code Online (Sandbox Code Playgroud)

我在想我已经给出了这条路,但我不知道为什么它向我显示这个错误..请帮助....

Kar*_*mar 51

Android Home应该是SDK的根文件夹.

export ANDROID_HOME="$HOME/android-sdk-linux"
Run Code Online (Sandbox Code Playgroud)

编辑:打开终端并输入这些命令.(是的,在一个ternimal上,而不是在bashrc文件中)

export ANDROID_HOME=~/android-sdk-macosx
PATH=$PATH:$ANDROID_HOME/tools
PATH=$PATH:$ANDROID_HOME/platform-tools    
Run Code Online (Sandbox Code Playgroud)

然后在同一个终端只输入android.如果已配置,您将能够使用此终端的构建命令.(这是一个临时解决方案)


小智 14

对于OSX

  • 进入〜/ .bash_profile添加:

    export ANDROID_HOME="/path/to/android-sdk-macosx"
    export PATH="$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$PATH"
    
    Run Code Online (Sandbox Code Playgroud)

    然后在终端执行它立即生效;

  • 在/ etc/sudoers中添加:(你可以使用控制台:sudo visudo)

    Defaults        env_keep += "ANDROID_HOME"
    
    Run Code Online (Sandbox Code Playgroud)

    因为构建过程必须从sudoNode 开始,并process.env获得相应的变量.


San*_*tor 9

案例:使用SO Windows,尝试:

set ANDROID_HOME=C:\\android-sdk-windows
set PATH=%PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
Run Code Online (Sandbox Code Playgroud)

更多内容:http://spring.io/guides/gs/android/

案例:您没有平台工具:

cordova platforms list
cordova platforms add <Your_platform, example: Android>
Run Code Online (Sandbox Code Playgroud)


osh*_*ell 9

Ubuntu的安装程序

  1. 仅下载Android Studio或SDK
  2. 安装
  3. 设置路径

在我的情况下,Android及其SDK默认安装在:

sudo su
vim ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

打开终端并编辑〜/ .bashrc

export ANDROID_HOME=/root/Android/Sdk
PATH=$PATH:$ANDROID_HOME/tools
PATH=$PATH:$ANDROID_HOME/platform-tools
Run Code Online (Sandbox Code Playgroud)

导出ANDROID_HOME并将包含二进制文件的文件夹添加到PATH

source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

刷新PATH运行

sudo su
vim ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

~/.bashrc仍然失败时,可能是因为错误的sdk版本.从命令行运行正确的版本和映像.bashrc.由于它现在在您的PATH中,您应该能够从任何地方运行它.


mig*_*ano 6

下载android SDK http://developer.android.com/sdk/installing/index.html

您只导出SDK文件夹的路径.

export ANDROID_HOME="YOUR_PATH/sdk/"


小智 6

sudo ionic run android以root身份运行时遇到此问题,因为这些环境变量未持久存在.通过运行修复sudo -E ionic run android.


Str*_*ger 5

在上面的答案中已经很好地解释了该过程.但如果添加ANDROID_HOMEPATH.bashrc.zshrc存在于/home/username/和尝试运行ionic与命令sudo,您可能会再次出现此错误.

原因是,它可能看起来在ANDROID_HOMEPATH.zshrc根用户的文件,而不是当前登录的用户.所以你不应该这样做,除非你在root用户.bashrc.zshrc文件中添加它.