[android] Gradle, Android 및 ANDROID_HOME SDK 위치

편집 : (2016 년 8 월)

이 질문은 2013 년 11 월부터 (Android Studio는 여전히 개발자 미리보기 모드에 있음),

설치 중 현재 (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이 있습니다. 그들은 무엇을 원합니까? 여기서 무엇이 잘못 되었습니까?

우분투 13.04에서 실행

편집하다:

이미 sdk.dir=<path>프로젝트 루트에 local.properties 파일을 작성 했으며 작동합니다. 그러나 이로 인해 시스템 빌드 서버에서 코드를 이식하기가 더 어려워 지므로 여전히 의문점이 남아 있습니다.

ANDROID_HOME이 작동하지 않는 이유와 작동하게하려면 어떻게해야하는지 아는 사람이 있습니까?



답변

문제를 해결했습니다. 이것은 나를 위해 작동합니다 :

/ my_current_project /

local.properties 라는 파일을 만들고 내부에 넣었습니다.

sdk.dir = / my_current_path_to / sdk

콘솔에서해야 할 일

ANDROID_HOME = / my_current_path_to / sdk 설정

도움이 되었기를 바랍니다.


답변

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/


답변

제 경우 settings.gradle에는 실종되었습니다.

파일을 저장하고 프로젝트의 최상위 폴더에 저장하십시오. 다른 프로젝트에서도 복사 할 수 있습니다.

스크린 샷 참조 :

여기에 이미지 설명을 입력하십시오

이것이 당신의 시간을 절약 할 수 있기를 바랍니다.


답변

이것은 나를 위해 작동합니다 :

$ export ANDROID_HOME=/path_to_sdk/
$ ./gradlew


답변

Android Gradle 플러그인은 아직 베타 버전이며 버그 일 수 있습니다. 나를 위해 ANDROID_HOME을 설정해도 작동하지만 다른 버전 일 수 있습니다 (가장 최신 버전으로 다시 시도하고 작동하는지 알려주세요).

ANDROID_HOME뿐만 아니라 환경 변수 ANDROID_SDK도 설정하는 것이 좋습니다.

일부 컴퓨터 에서이 문제를 보았 으므로이 경우 local.properties를 만듭니다. 최신 버전의 Android Studio 가이 파일을 생성하고 sdk.dir 속성을 채우는 것을 알았습니다.

local.properties를 버전 제어로 확인하지 말고 gitignore에 추가하여 잠재적 문제로 정당한 것으로 식별 된 시스템에서 코드를 이식하는 것을 방해하지 않도록하십시오.


답변

어떤 이유로 든 gradle 스크립트는 환경에서 ANDROID_HOME 값을 선택하지 않습니다. 명령 행에서 명시 적으로 지정하십시오

$ ANDROID_HOME=<sdk location> ./gradlew


답변

메인 모듈에 local.properties 파일이 있고 시스템 레벨에서 ANDROID_HOME 환경 변수가 설정되었지만 동일한 문제에 직면했습니다.

내 주요 프로젝트 모듈에있는 local.properties 파일을 전체 프로젝트의 루트 (예 : 기본 모듈의 상위 디렉토리)에 복사 할 때이 문제가 해결되었습니다.

모듈과 루트 디렉토리에 local.properties 파일을 복사하십시오. 작동해야합니다.