Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ionic android构建错误-未能找到';安卓家庭';环境变量_Android_Linux_Cordova_Ionic Framework_Ionic - Fatal编程技术网

Ionic android构建错误-未能找到';安卓家庭';环境变量

Ionic android构建错误-未能找到';安卓家庭';环境变量,android,linux,cordova,ionic-framework,ionic,Android,Linux,Cordova,Ionic Framework,Ionic,我正在尝试在linux中为ionic构建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

我正在尝试在linux中为ionic构建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"

我想我已经给出了路径,但我不知道为什么它会显示出这个错误。。请帮助….

Android Home应该是SDK的根文件夹

export ANDROID_HOME="$HOME/android-sdk-linux"
编辑:打开终端并键入这些命令。(是,在ternimal上,而不是在bashrc文件中)

然后在同一个终端中键入
android
。如果进行了配置,您将能够从此终端使用生成命令。(这是一个临时解决方案)

下载android SDK

您只导出SDK文件夹的路径

export ANDROID\u HOME=“YOUR\u PATH/sdk/”

For OSX
  • ~/.bash\u配置文件中添加:

    export ANDROID_HOME="/path/to/android-sdk-macosx"
    export PATH="$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$PATH"
    
    然后在终端执行,立即生效

  • 进入/etc/sudoers添加:(您可以使用控制台:
    sudovisudo

    由于构建过程必须从
    sudo
    和节点的
    process.env
    开始,因此获取相应的变量


上述答案中已经很好地解释了该过程。但是,如果将
ANDROID\u HOME
路径添加到
.bashrc
.zshrc
中,并尝试使用
sudo
运行
ionic
命令,则可能再次出现此错误


原因是,它可能会在root用户的
.zshrc
文件中查找
ANDROID_HOME
PATH
,而不是当前登录的用户。因此,除非将其添加到root用户的
.bashrc
.zshrc
文件中,否则不应执行此操作。

案例:使用So窗口,请尝试:

set ANDROID_HOME=C:\\android-sdk-windows
set PATH=%PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
更多信息请访问:

案例:您没有平台工具:

cordova platforms list
cordova platforms add <Your_platform, example: Android>
cordova平台列表
cordova平台添加

Windows-永久设置环境变量:

setx ANDROID\u HOME“C:\Program Files\ANDROID\ANDROID sdk”

setx ANDROID\u HOME“C:\Program Files(x86)\ANDROID\ANDROID sdk”


我在以root用户身份运行sudo-ionic-run-android时遇到了这个问题,因为这些环境变量没有持久化。通过运行针对Linux/Ubuntu/Mint的
sudo-E-ionic-run android

安装程序进行修复
  • 仅下载或下载SDK
  • 设定路径
  • 3.1)打开终端并编辑
    ~/.bashrc
    3.2)导出ANDROID_HOME并将包含二进制文件的文件夹添加到您的路径 常见默认安装文件夹:

    • /root/Android/Sdk
    • ~/Android/Sdk
    示例
    .bashrc

    export ANDROID_HOME=/root/Android/Sdk
    PATH=$PATH:$ANDROID_HOME/tools
    PATH=$PATH:$ANDROID_HOME/platform-tools
    
    3.3)刷新您的路径 4) 安装正确的SDK 当ionic build android仍然失败时,可能是因为错误 sdk版本。要安装正确的版本和图像,请从运行android 命令行。因为它现在在您的路径中,所以您应该能够运行 它来自任何地方


    您只需按如下方式编辑配置文件:

    sudo su
    vim ~/.profile
    
    /home/(user name)/Android/Sdk
    
    并将其放在文件末尾:

    export ANDROID_HOME=/home/(user name)/Android/Sdk
    export PATH=$PATH:/tools
    export PATH=$PATH:/platform-tools
    
    保存并关闭文件,然后执行以下操作:

    cd ~
    source .profile
    
    现在如果你这样做了:

    echo $ANDROID_HOME
    
    它应该向您展示如下内容:

    sudo su
    vim ~/.profile
    
    /home/(user name)/Android/Sdk
    
    对于OSX 这里有很棒的教程:

    无需执行任何bash命令/符号链接:

  • 安装Java 6运行时:
  • 安装Java JDK:

  • 在我的例子中:我已经为Android和java设置了正确的路径,但仍然得到了错误

    问题是我使用sudo命令添加了Android平台。
    sudo-ionic-cordova平台Android

    解决我的问题: 首先,我通过运行命令删除了android平台

    sudo ionic cordova平台rm android

    然后再次添加android平台,不使用sudo
    ionic cordova平台添加android
    但是我得到了权限的错误

    要解决此错误,请运行命令

    sudo chmod-R 777{项目路径}

    在我的例子中,
    sudochmod-r777~/codebase/IonicProject
    
    然后运行命令

    爱奥尼亚cordova平台添加android

    爱奥尼亚科尔多瓦运行安卓系统


    要永久添加ANDROID_HOME value

    gedit ~/.bashrc
    
    并添加以下行

    export ANDROID_HOME=/root/Android/Sdk
    PATH=$PATH:$ANDROID_HOME/tools
    

    保存文件,您不必每次都更新ANDROID_HOME value。

    您使用的是ubuntu系统吗:?请遵循本教程。这对您很有帮助,我只遵循本教程安装Ionic Framework。您检查了链接了吗?现在我正在检查。谢谢希望它能工作..嗯,欢迎,我会写那个答案,请接受并更新它,但仍然得到相同的问题。尝试在您的终端上执行
    source~/.bashrc
    。我浪费了将近1个小时的设置时间。bashrc一次又一次地在不知道需要在根用户bashrc中设置的情况下。感谢奇怪的tanks@D_plus_plus,但对我来说,是什么原因导致了这个问题,它是作为我的当前用户安装的,所以将
    /root
    替换为
    ~
    gedit ~/.bashrc
    
    export ANDROID_HOME=/root/Android/Sdk
    PATH=$PATH:$ANDROID_HOME/tools