web-dev-qa-db-ja.com

Gradle、Android、およびAndroid_HOME SDKの場所

編集:(aug-2016)

その質問は2013年11月からのものです(Android StudioはまだDeveloper Previewモードになっていました)。

現在(AS v2.2、2016年8月)、インストール中にASはSDKフォルダーを選択するように(またはデフォルトでインストールするように)要求し、自動的にどのプロジェクトを開いているかに適用します。

これは、問題が再現できなくなったため、考えられる回避策または修正方法が関係ないことを意味します。

元の質問:

このプロジェクトには、すでに構成されていて、ラッパーを使用して別の開発者PCで正しく実行されるいくつかのモジュールがあります。私は自分のマシンに完全なgitサブモジュールをクローンしました。

以下は私のコマンドラインを直接印刷したものです。

$ ./gradlew

FAILURE: Build failed with an exception.

* Where:
Build file '/home/budius/project_name/ActionBar-PullToRefresh/library/build.gradle' line: 1

* What went wrong:
A problem occurred evaluating project ':ActionBar-PullToRefresh:library'.
> SDK location not found. Define location with sdk.dir in the local.properties file or with an Android_HOME environment variable.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 6.378 secs

$ echo $Android_HOME
/home/budius/Applications/Android-studio/sdk
$ 

ご覧のとおり、Android_HOMEがそこにあります。彼らは他に何を望んでいますか?ここで何が問題なのですか。

ubuntu 13.04で動作しています

編集:

私は既にプロジェクトルートにsdk.dir=<path>を持つlocal.propertiesファイルを作成しました、そしてそれはうまくいきます。しかし、それはコードをサーバーを構築するシステム間で移植することをより困難にするので、問題は未解決のままです。

Android_HOMEが機能していない理由と機能させるにはどうすればよいですか。

146
Budius

私は問題を解決しました。これは私のために働く:

/ my_current_project /

local.propertiesというファイルを作成して中に入れ

sdk.dir =/my_current_path_to/sdk

コンソールで私がする必要があります

android_HOME =/my_current_path_to/sdkに設定します。

お役に立てれば。

94
u53r

OSXでは、IntelliJはあなたの.bash_profileや.bash_rcなどで設定した環境変数を拾いません。

これを試して、あなた自身のsdkの場所の値を代入してください:

launchctl setenv Android_HOME /usr/local/opt/Android-sdk

その後IntelliJを再起動して、Bobがおじです。

これは、より一般的に述べられている問題への参照です。 https://emmanuelbernard.com/blog/2012/05/09/setting-global-variables-intellij/

51
Matthew Daumen

私の場合はsettings.gradleがありませんでした。

他のプロジェクトからコピーすることもできますが、ファイルを保存してプロジェクトの最上位フォルダに配置します。

スクリーンショットの参照先:

enter image description here

これがあなたの時間を節約することを願っています。

28
Hiren Patel

これは私のために働く:

$ export Android_HOME=/path_to_sdk/
$ ./gradlew
24
giopromolla

Android Gradleプラグインはまだベータ版です。これは単なるバグかもしれません。私にとっては、Android_HOMEの設定は機能しますが、バージョンが異なる場合があります(最新バージョンでもう一度試して、機能するかどうかをお知らせください)。

Android_HOMEだけでなく環境変数Android_SDKも設定する価値があります。

私はいくつかのマシンでこれに関する問題を見ました、それで私たちはそのような場合local.propertiesを作成します - 私はAndroid Studioの最新バージョンがあなたのためにこのファイルを作成しsdk.dirプロパティを記入することに気づきました。

Local.propertiesをバージョン管理にチェックインするべきではないことに注意してください。それがgitignoreに追加されたので、あなたが正当な問題として正当に識別したシステム間でコードを移植することを妨げません。

19
ZoFreX

なんらかの理由で、gradleスクリプトは環境からAndroid_HOMEの値を取得していません。コマンドラインで明示的に指定してみてください

$ Android_HOME=<sdk location> ./gradlew
15
Andrew Marshall

私はメインモジュールにlocal.propertiesファイルがあり、Android_HOME環境変数がシステムレベルで設定されているのに同じ問題に直面しました。

この問題を修正したのは、メインプロジェクトモジュールにあるlocal.propertiesファイルをプロジェクト全体のルート(つまりメインモジュールの親ディレクトリ)にコピーしたときです

Local.propertiesファイルをモジュールとルートディレクトリの中にコピーしてみてください。うまくいくはずです。

14
joecizac

クローンgitリポジトリを開いたときに同じ問題に遭遇しました。 local.propertiesファイルは、各マシンのビルド環境に固有のものであり、したがってリポジトリの一部ではないため、.gitignoreファイルに自動的に追加されます。

解決策は、gitからクローンを作成した後に開くだけでなく、プロジェクトをインポートすることです。これにより、Androidスタジオはあなたのマシンに固有のlocal.propertiesファイルを作成する必要があります。

ファイル>>プロジェクトのインポート>>

13
Bulwinkel

MAC OSX:

  1. ターミナルを開き、ファイルを編集します。

~/.bash_profile

たす:

export Android_HOME=~/Library/Android/sdk export PATH=${PATH}:${Android_HOME}/tools export PATH=${PATH}:${Android_HOME}/platform-tools

  1. 実行します。

    source ~/.bash_profile

  2. ターミナルとAndroid Studioを再起動します

10

MAC OSXでそれをする方法:

1)ターミナルを開いて編集:vi ~/.bash_profileそこにファイルがなければ、それを追加するだけです。

2)追加(あなたのユーザー名に変更してこれを追加):

#Java var home: Java_HOME="/usr/libexec/Java_home" Android_HOME="/Users/<YOUR USER NAME>/Library/Android/sdk"

3)source ~/.bash_profileを実行してください。

4)echo $Java_HOME; echo $Android_HOME;を実行する

5)あなたの出力が:

/usr/libexec/Java_home /Users/<YOUR USER NAME>/Library/Android/sdk

だからあなたはいいです。

and RESTART Androidスタジオ!

そして、Javaがあることを確認してください:)

Java -version

そしてgradle :)

gradle --version

8
Nimitack

Local.propertiesをルートフォルダにコピーして、もう一度実行してください。

これは私のために働きました(Ubuntu):

Android_HOME=/path/to/Android-sdk/etc/environmentを追加してください。

リブート。

4
everyman

windowsでは、Android_HOME = E:\ Android\adt-bundle-windows-x86_64-20131030\sdkと設定します。

Linuxの場合は、sdk.dirを設定する必要があります。

スクリプトは2つの異なる変数を使用します。

3
richard

あなたがWindowsのPlantformを使用している場合は、管理者としてAndroid Studioを実行してみてください

2
Megoc

Linuxでは、端末からstudio.shを実行し、この端末にAndroid_HOMEを設定します。これは私のために働きました。

2
Naren

私は同じ問題を抱えている、サンプルコードはAndroid環境を見つけることができないようではなく、代わりにsettings.gradleからサンプルコードを削除してからインストールがうまく行くことを修正しようとするようです。

その後Eclipseにプロジェクトをインポートするだけです。それがすべてです:)

Local.propertiesファイルが見つからない可能性があります。その場合は、/ local.properties内に 'local.properties'という名前のファイルを追加して、次のようにsdkの場所を指定します。

sdk.dir = C:\ Users \\ AppData\Local\Android\Sdk

1
kinath_ru

Local.propertiesファイル内のsdk.dirを削除し、Android_HOMEを設定するだけです環境変数それは私のために働きました。

1
PraveenMax

シェルにAndroid_HOME =/xxx/xxx /をエクスポートし、それをGradleファイルのSystem.env.Android_HOMEで使用します。

PS:Android_HOMEをグローバルにするための 'export'キーワードを忘れないでください。

1
Jindowin

私は同じような問題に出くわしました。どういうわけか、私は自分のプロジェクトにビルドフォルダがありませんでした。このフォルダを別のプロジェクトから私が問題を抱えているプロジェクトにコピーすることで、この問題を解決しました。

0
Horatio

私はUbuntuで同じ問題に直面しました(local.propertiesAndroid_HOMEの両方が追加されました)が、ビルド失敗は持続しました。そのため、次の行を追加してください。

export Android_HOME=/home/<user>/Android/Sdk export PATH=$PATH:/home/<user>/Android/Sdk/tools

studio.shスクリプトに直接(/usr/local/Android-studio/bin内)

たぶんそれは役に立つでしょう。

0
Lukas

あなたは、local.propertiesのバージョン管理が問題を引き起こすと述べました。私は、Androidのコマンドラインツールを使用して、プロダクションに関係するマシン間でlocal.propertiesファイルを更新するスクリプトを一緒にハッキングしました。 Androidアップデートプロジェクトコマンドは、local.properties以外にもたくさん生成します。不要なゴミを(少なくとも私にとっては)これが、スクリプトの最後にあるすべてのrmコマンドの理由です。

#!/bin/bash
scname="$0"
echo "${scname}: updating local properties..."
ln -fs src/main/AndroidManifest.xml
Android update project -t 24 -p "$(pwd)"
echo "${scname}: ...done"
echo "${scname}: removing Android update project junk ..."
rm -v project.properties
rm -v build.xml
rm -v proguard-project.txt
rm -v AndroidManifest.xml
echo "${scname}: ...done"

このスクリプトは、コーディングを行った新しいマシンで最初に実行するものです。ルートプロジェクトディレクトリで実行する必要があります。もちろん、Android Studioにはこれを扱うためのGUIの方法があるかもしれませんが、別のエディターを使用しているのでわかりません。私はまた、その解決策が一般的であると主張することはできませんが、それは "私のために働く"(tm)です。

0
Mali Remorker

解決策:

1 "sdk.dir = path_of_sdk"を追加します

2次のようにevn変数を付けてgradlewを実行します。

$ Android_HOME = path_of_sdk ./gradlw

0
RoFF

私は、Android_HOMEをシステム全体の変数として追加することで、まったく同じ問題を解決しました。 Ubuntuではそれがあるはずです / etc/profile またはシェルスクリプトファイルで /etc/profile.d/

その後、ログアウトして再度ログインします。GradleはAndroid_HOME変数を認識するはずです。

0
Joe3112

23.0.2の代わりにBuild-Tools 23.0.1をインストールすると、この問題は解決しました。

0
TheBetterJORT

Windowsの場合

  1. Android_HOMEをC:/ Users/YOUR_USERNAME/AppData/Local/Android/sdkに環境変数に追加します。
  2. PATHに%Android_HOME%\ platform-toolsを追加します。
0
J. Jerez

私は同じエラーが発生しましたが、私の場合、私はプロジェクトをクローンしていました、クローンされたプロジェクトは私がその時点でインストールしなかったAndroid API 22で構築されました。私はAPI 22のSDKツールをダウンロードする必要がありました

0
Didi Pepple