无法找到'ANDROID_HOME'环境变量

时间:2016-03-24 10:36:52

标签: android ionic-framework

我正在尝试构建一个离子android项目,我安装了android sdk。

SDK manager installed packages

我的项目名称是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配置有什么问题吗?我该如何建立这个项目?

16 个答案:

答案 0 :(得分:154)

您可能需要确认您的开发环境已正确设置。

引自spring.io

  

设置Android开发环境

     

在构建Android应用程序之前,必须先安装   Android SDK。安装Android SDK还会安装AVD Manager,   用于创建和管理Android Virtual的图形用户界面   设备(AVD)。

     
      
  1. Android web site下载   适用于您的操作系统的Android SDK的正确版本。

  2.   
  3. 将存档解压缩到您选择的位置。例如,在Linux或Mac上,您可以将其放在用户目录的根目录中。看到   Android Developers   有关其他安装细节的网站。

  4.   
  5. 根据Android SDK的位置配置ANDROID_HOME环境变量。另外,考虑添加   <{1}}和ANDROID_HOME/tools到您的路径。

  6.         

    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执行此操作   您在上一节中安装的管理器。

         
        
    1. 打开 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 ,   那么你的路径配置不正确。

    2.   
    3. 选择工具复选框。

    4.   
    5. 选中最新Android SDK 的复选框。

    6.   
    7. 其他文件夹中,选中 Android支持库的复选框。

    8.   
    9. 点击安装软件包... 按钮完成下载和安装。

           

      注意:您可能希望安装所有可用的更新,但是   意识到它需要更长的时间,因为每个API级别都是大量下载。

    10.   

答案 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模拟器所需遵循的步骤:

  1. 创建离子项目:ionic start appName标签(用于标签主题)
  2. cd appName
  3. 离子设置sass
  4. 在网络上启动应用:离子服务
  5. 添加Android平台:

    Priori Things

    首先,您需要设置环境变量。为此,您需要考虑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
    

    Posteori Things

    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\toolssdks\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月)。这就是我解决上述问题的方法...

  1. I installed the Android SDK from the website,并将其放在以下文件夹中:/usr/lib/Android/
  2. 搜索SDK的安装位置和版本。就我而言,它在这里:

    /usr/lib/Android/Sdk/build-tools/28.0.3

    注意:我使用的是28.0.3版本,您的版本可能有所不同。

  3. ANDROID_HOME添加到环境路径。为此,请使用文本编辑器打开/ etc / environment:

    sudo nano /etc/environment

    ANDROID_HOME添加一行用于您的特定版本和路径。就我而言,是:

    ANDROID_HOME="/usr/lib/Android/Sdk/build-tools/28.0.3"

  4. 最后,使用以下命令获取更新的环境: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 多个小时,直到我用尽所有选项并重新启动。