'ANDROID_HOME'환경 변수를 찾지 못했습니다.


131

이온 안드로이드 프로젝트를 만들려고하는데 안드로이드 SDK가 설치되어 있습니다.

SDK 관리자 설치 패키지

내 프로젝트의 이름은 myApp입니다 .AndApp을 성공적으로 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

스택 오버플로에 대해 거의 같은 종류의 질문을 보았지만 아무것도 효과가 없습니다. 내 안드로이드 SDK 구성에 문제가 있습니까? 이 프로젝트를 어떻게 만들 수 있습니까?


2
ANDROID_HOME은 PATH와 비슷합니다. 반향 할 때 반환 만됩니다 /home/hari/Android/Sdk(정확하다고 가정)
OneCricketeer

[이 질문] (에 대한 내 대답을 참조하십시오 stackoverflow.com/questions/35110403/... )는 당신을 위해 그것을 해결됩니다
Ramy hakam

터미널을 열 때마다 이것을 입력해야하는데 어떻게 유지합니까?
Luke Flournoy

@LukeFlournoy 이 답변
Diego Somar

답변:


200

개발 환경이 올바르게 설정되었는지 확인할 수 있습니다.

spring.io 에서 인용 :

Android 개발 환경 설정

Android 애플리케이션을 빌드하기 전에 Android SDK를 설치해야합니다. Android SDK를 설치하면 Android 가상 장치 (AVD)를 만들고 관리하기위한 그래픽 사용자 인터페이스 인 AVD Manager도 설치됩니다.

  1. 로부터 안드로이드 웹 사이트 , 당신의 운영 시스템에 대한 안드로이드 SDK의 올바른 버전을 다운로드합니다.

  2. 아카이브를 원하는 위치에 압축 해제하십시오. 예를 들어, Linux 또는 Mac에서는 사용자 디렉토리의 루트에 배치 할 수 있습니다. 추가 설치 세부 사항 은 Android 개발자 웹 사이트를 참조하십시오.

  3. ANDROID_HOMEAndroid SDK의 위치를 ​​기반으로 환경 변수를 구성하십시오 . 또한, ANDROID_HOME/toolsANDROID_HOME/platform-toolsPATH 추가를 고려 하십시오.

맥 OS X

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

윈도우

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 관리자 창을 엽니 다 .

    android

    참고 : 이 명령으로 Android SDK 관리자 가 열리지 않으면 경로가 올바르게 구성되지 않은 것입니다.

  2. 도구 확인란을 선택하십시오 .

  3. 최신 Android SDK 의 확인란을 선택하십시오 .

  4. 로부터 엑스트라 폴더의 확인란을 선택 안드로이드 지원 라이브러리를 .

  5. 패키지 설치 ... 버튼을 클릭하여 다운로드 및 설치를 완료하십시오.

    참고 : 사용 가능한 모든 업데이트를 설치하려고 할 수 있지만 각 API 레벨이 대량 다운로드되므로 시간이 더 오래 걸립니다.


1
3 번 (ANRDOID_HOME 변수 구성) : 어떤 파일에 있어야합니까?
suMi

@suMi는 OS를 기반으로 터미널에서 내보내기 명령을 실행 ANDROID_HOME하고 SDK를 저장 한 위치에 따라 동일하게 설정 한 PATH를 변경합니다 . 자세한 내용은 stackoverflow.com/questions/19986214/… 를 참조하십시오.
브래드 W

@suMI 변경 사항을 영구적으로 유지하려면 Linux 또는 Mac을 사용하는 경우 해당 줄을 .bashrc에 추가하십시오.
brt

teamcity에서이 문제가 발생하면 ANDROID_HOME에 대한 teamcity에 env 매개 변수를 작성해야합니다.
lawphotog

무엇 즉 /android-sdk-linux, toolsplatform-tools? 내 디렉토리에 해당 디렉토리가 표시되지 않습니다 /opt/android-studio. 내 안드로이드 스튜디오가 실행 중이지만 디렉토리가 없습니다.
Dzintars

38

리눅스에서

우선 .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

아직 설치되지 않은 경우 안드로이드 플랫폼을 추가하십시오

ionic platform add android

sudo 명령없이 안드로이드 플랫폼을 추가했는지 확인하십시오

다음과 같이 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

플랫폼을 성공적으로 추가하면 이온으로 안드로이드를 만들 수 있습니다.

감사


14
버전 3.0.0부터는입니다 ionic cordova platform add android.
Baumi

28

안드로이드 에뮬레이터와 작동하도록 Ionic Project를 성공적으로 설정하기 위해 따라야하는 단계는 다음과 같습니다.

  1. 이온 프로젝트 만들기 : ionic start appName 탭 (탭 테마 용)
  2. cd appName
  3. 이온 성 설정 사스
  4. 웹에서 앱을 시작하려면 : ionic serve

안드로이드 플랫폼을 추가하려면 :

선험적 인 것들

먼저 환경 변수를 설정해야합니다. 이를 위해서는 3 개의 파일을 고려해야합니다.

~ / .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

Posteori 것들

1. 플랫폼 추가 : ionic platform 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. 안드로이드 에뮬레이터에서 앱을 실행하려면 : ionic run android

감사!


감사합니다 Nikhil, 그것은 나에게도 효과가있었습니다. 많은 것들을 시도 후 - 그것은 :-) 당신이 제공되는 위의 단계 일
라지브 Jayaswal

Java 및 Android 변수를 / etc / environment에 추가 한 후 '로그인 루프'문제가 발생했습니다. 운 좋게도 터미널 로그인 (ctrl + alt + F3)에서 제거 할 수 있었고 이제 로그인이 정상입니다.
Harry

8

Windows에 휴대용 SDK 버전이있는 경우 시스템에 다음 2 개의 경로를 추가하십시오.

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

이것은 나를 위해 일했습니다.


내 답변이 왜 투표에 걸 렸는지 궁금합니다. 이 행동의 이유를 가질 수 있습니까?
BoCyrill

2
추가하는 방법을 말하지 않았기 때문에?
Florian Lauterbach

1
정확히는 해당 ​​프로세스를 수행하는 방법을 지정하지 않았습니다.
Anuj


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. 웹 사이트에서 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를 사용하여 접근 방식을 보여주는 답변을 공유하고 싶습니다.

안드로이드 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

Google에서 동일한 문제를 찾고 여기에 왔으며 4 시간을 낭비하여 무엇이 잘못 될 수 있는지 알아 냈습니다. 그리고 지금이 답변을 게시하는 동안 정말 바보 같은 느낌이 듭니다. 필자의 경우 SDK, JDK, JRE, Ant 및 기타 모든 것이 설치되어 하루 전에 작동했습니다.

그러나 하나의 특정 프로젝트 만이이 문제를 제공했습니다. 이것은 아래에 있었다 "C : \ 사용자 \ 이름 \ 문서" 위치

곧 " 관리자 권한으로 실행 "을 선택하자마자 cmd를 일반 사용자로 실행하고 있음을 깨달았습니다 .

팁 : 항상 프로젝트 위치를 신중하게 고려하십시오!


1

이것은 내 문제를 해결했습니다. 시스템 경로에 아래 추가

PATH_TO_android \ 플랫폼

PATH_TO_android \ 플랫폼 도구


0

Windows7 컴퓨터 에서이 문제가 발생했습니다. 이온 서브가 실행되는 동안 컴퓨터가 종료되었습니다 (모든 것이 손상된 문제라고 가정합니다)

노드를 완전히 제거하고 새 노드 사본에 모든 것을 다시 설치하십시오.


0

Windows의 경우 VS 코드 터미널 에서이 명령을 실행하고 모든 환경 변수 (예 : build-tools, platform-tools, tools)를 설정 한 후에도 외부 cmd 터미널에서 동일한 명령을 실행하려고하면 작동하지 않습니다. 필자의 경우 새로운 VS 코드 터미널을 시작한 후에도 업데이트 된 환경 경로를 사용할 수 없었습니다.

Windows cmd에서 동일한 명령을 실행할 때 작동했습니다.


0

우분투 20.04에서 ANDROID_HOME 환경 을 설정하려면 우분투의 스냅 스토어를 방문하여 Android 스튜디오를 설치 한 다음

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 스튜디오에서 ANDROID_HOMEANDROID_SDK_ROOT바꾸면 빌드가 ANDROID_HOME이 더 이상 사용되지 않는다고 불평합니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.