「ANDROID_HOME」環境変数が見つかりませんでした


131

ionic-androidプロジェクトをビルドしようとしていますが、android sdkをインストールしています。

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構成に何か問題がありますか?このプロジェクトをビルドするにはどうすればよいですか?


2
ANDROID_HOMEはPATHに似ています。エコーするとき、それは/home/hari/Android/Sdk(それが正しいと仮定して)のみ返されます
OneCricketeer

[この質問](stackoverflow.com/questions/35110403/…)で私の回答を参照してください。問題が修正されます
Ramy hakam

ターミナルを開くたびにこれを入力する必要がありますが、どのように保持するのですか?
Luke Flournoy、2017

@LukeFlournoy この回答
Diego Somar

回答:


199

開発環境が正しく設定されていることを確認したい場合があります。

spring.ioからの引用

Android開発環境をセットアップする

Androidアプリケーションを構築する前に、Android SDKをインストールする必要があります。Android SDKをインストールすると、Android仮想デバイス(AVD)を作成および管理するためのグラフィカルユーザーインターフェイスであるAVD Managerもインストールされます。

  1. Androidのウェブサイトオペレーティングシステムに適したバージョンのAndroid SDKをダウンロードします。

  2. アーカイブを選択した場所に解凍します。たとえば、LinuxまたはMacでは、ユーザーディレクトリのルートに配置できます。Android開発者を見る インストールの詳細 Webサイトを参照してください。

  3. ANDROID_HOMEAndroid SDKの場所に基づいて環境変数を構成します。さらに、ANDROID_HOME/toolsおよびANDROID_HOME/platform-toolsをPATHに追加することを検討 してください。

Mac OS X

export ANDROID_HOME=/<installation location>/android-sdk-macosx
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

Linux

export ANDROID_HOME=/<installation location>/android-sdk-linux
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

ウィンドウズ

set ANDROID_HOME=C:\<installation location>\android-sdk-windows
set PATH=%PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools

Android SDKのダウンロードには、特定のAndroidプラットフォームは含まれていません。このガイドのコードを実行するには、最新のSDKプラットフォームをダウンロードしてインストールする必要があります。これは、前のセクションでインストールしたAndroid SDKおよびAVD Managerを使用して行います。

  1. Android SDK Managerウィンドウを開きます。

    android

    注:このコマンドでAndroid SDK Managerが開かない場合は、パスが正しく構成されていません。

  2. ツール」チェックボックスを選択します。

  3. 最新のAndroid SDKのチェックボックスをオンにします

  4. Extrasフォルダーから、Android Support Libraryのチェックボックスを選択します。

  5. [ パッケージインストール... ]ボタンをクリックして、ダウンロードとインストールを完了します。

    注:使用可能なすべての更新をインストールすることもできますが、各APIレベルは大規模なダウンロードであるため、時間がかかることに注意してください。


1
いいえ3(ANRDOID_HOME変数を構成):これはどのファイルにあるべきですか?
suMi

@suMiは、OSに基づいて端末からエクスポートコマンドを実行しANDROID_HOME、SDKを保存した場所に基づいて、設定したPATHを変更します。詳細については、stackoverflow.com / questions / 19986214 /…を参照してください。
Brad W

@suMI変更を永続的にしたい場合は、LinuxまたはMacを使用している場合、それらの行を.bashrcに追加します。
brt

teamcityからこの問題が発生した場合は、ANDROID_HOMEのteamcityにenvパラメータを作成する必要があります。
lawphotog 2017

何それはある/android-sdk-linuxtoolsplatform-tools?私にはそのようなディレクトリがありません/opt/android-studio。Android Studioは実行中ですが、これらのディレクトリはありません。
Dzintars

38

Linuxの場合

まず、.bashrcファイルにANDROID_HOMEを設定します

コマンドを実行

sudo gedit ~/.bashrc

インストールしたandoid 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

アンドロイドがすでにインストールされている場合は、削除して再度インストールする必要があります

ionic platform rm android
ionic platform add android

まだインストールされていない場合は、Androidプラットフォームを追加してください

ionic platform add android

sudoコマンドを使用せずにAndroidプラットフォームを追加したことを確認してください

次のようにandroid platfromを追加するときにまだエラーが発生する場合

エラー:EACCES:権限が拒否されました、「/ 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を構築できるようになります。

ありがとう


14
バージョン3.0.0以降ですionic cordova platform add android
Baumi、

28

以下は、Androidエミュレーターで動作するようにIonicプロジェクトを正常にセットアップするために従う必要がある手順です。

  1. Ionicプロジェクトの作成:ionic start appName tabs(for tab theme)
  2. cd appName
  3. イオンセットアップsass
  4. Webでアプリを開始するには:ionic serve

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 / profile

//最後に追加する必要があるコード

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.プラットフォームの追加:ionic platform add 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エミュレーターで実行するには:ionic run android

ありがとう!


Nikhilに感謝します。多くのことを試した後-それはあなたが提供した上記の手順でうまくいきました:-)
Rajeev Jayaswal

/ etc / environmentにJavaおよびandroid変数を追加した後、「ログインループ」問題が発生しました。幸い、ターミナルログイン(ctrl + alt + F3)からそれを削除することができ、ログインは現在正常です。
ハリー、

8

WindowsにポータブルSDKエディションがある場合は、次の2つのパスをシステムに追加するだけです。

F:\ADT_SDK\sdk\platforms
F:\ADT_SDK\sdk\platform-tools

これでうまくいきました。


なぜ私の回答は否決されたのでしょうか。この行動の理由を知ることは可能ですか?
BoCyrill

2
それらを追加する方法を言っていないので?
Florian Lauterbach

1
正確には、そのプロセスの方法を指定していません。
Anuj 2018年


5

実行: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

5

2019年4月11日

上記の回答のどれも私の問題を解決しなかったので、Ubuntu 18.04を使用している人々のための現在のソリューション(2019年4月現在)を含めたかったのです。これが私が上記の質問を解決した方法です...

  1. WebサイトからAndroid SDKをインストールし、次のフォルダーに配置しました。/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ターミナルが変更を認識するためにコンピューターを再起動する必要がありました。再起動後、環境が整い、以来何も問題はありませんでした。


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/"

1

同じ問題を探してグーグルからここに来て、何が悪いのかを理解するために4時間を無駄にしました。そして今、私はこの答えを投稿している間、本当に愚かだと感じています。私の場合、SDK、JDK、JRE、Ant、その他すべてが前日にインストールされ、機能していました。

しかし、ある特定のプロジェクトだけがこの問題を引き起こしていた。これは「C:\ Users \ Name \ Documents」の場所にありました

管理者として実行」を選択するとすぐに、通常のユーザーとしてcmdを実行していることがわかり、すべてが機能し始めました。

ヒント:プロジェクトの場所は常に慎重に検討してください。


1

これは私の問題を解決しました。以下をシステムパスに追加します

PATH_TO_android \ platforms

PATH_TO_android \ platform-tools


0

私はWindows7コンピューターでこの問題を経験しました:イオンサーブの実行中にコンピューターがシャットダウンしました(それがすべてを破壊した問題だと思います)

ノードを完全に削除し、すべてを新しいノードのコピーに再インストールします


0

Windowsで、VSコード端末からこのコマンドを実行している場合、すべての環境変数(つまり、build-tools、platform-tools、tools)を設定した後でも、外部のcmd端末から同じコマンドを実行しようとしても機能しません。私の場合、新しいVSコード端末を起動した後でも、更新された環境パスを取得できませんでした。

Windows cmdから同じコマンドを実行したときに機能しました。


0

ANDROID_HOME環境をUbuntu 20.04に設定するには、Ubuntuのスナップストアにアクセスし、Android Studioをインストールしてから開きます

vim $HOME/.bashrc

次のように環境変数を設定します。

export ANDROID_HOME=${HOME}/Android/Sdk
export PATH=${ANDROID_HOME}/tools:${PATH}
export PATH=${ANDROID_HOME}/emulator:${PATH}
export PATH=${ANDROID_HOME}/platform-tools:${PATH}

Android Studioの最近のバージョンで、ANDROID_HOMEを置き換えますANDROID_SDK_ROOTにください。そうしないと、ビルドでANDROID_HOMEが非推奨であると文句が表示されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.