패닉 : 깨진 AVD 시스템 경로. ANDROID_SDK_ROOT 값을 확인하십시오


151

cordova run android터미널에 입력 한 후이 오류가 발생합니다.

Waiting for emulator to start...
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [/Users/username/Library/Android/sdk]!

이것은 내보내기 후에 발생합니다.

export ANDROID_SDK_ROOT='/Users/username/Library/Android/sdk'

내보내기 전에 다음을 얻었습니다.

Waiting for emulator to start...
PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT

내가 잘못 가고있는 아이디어가 있습니까? 나는 이것이 sdk 루트라고 확신하므로 왜 avd 시스템 경로가 깨져 있습니까?


당신이 AVD Manager를 사용하여 에뮬레이터를 실행하는 관리 수행 (에있는 <AndroidSDK> \ AVD manager.exe를)?
e666

4
크로스 플랫폼 앱을 만드는 동안 Visual Studio에서도 이와 동일한 문제에 직면하고 있습니다. 내 오류 텍스트는1>PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT 1>Emulator Nexus_5X_API_23 cannot be started.
RBT

방금 Android SDK 관리자를 열고 거기에 있던 모든 것 (도구, 다양한 API 레벨, 기타)을 설치했습니다. 말 그대로! 내 문제를 해결했습니다. 그러나 안드로이드 에뮬레이터를 실행하는 데 필요한 인텔의 HAXM 기술과 관련하여 더 많은 문제에 직면했습니다. 그것들은 다르게 해결되어야합니다.
RBT


2
안드로이드 스튜디오를 통해 DVD를 시작할 수 있습니다. 명령 줄에서 시작하려고 할 때이 오류가 발생합니다. PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [/usr/local/share/android-sdk]!해당 경로를 확인할 때 오류가 발생했습니다 ->echo $ANDROID_SDK_ROOT /usr/local/share/android-sdk. 따라서 경로가 정확하더라도 에뮬레이터가 충돌합니다.
Mike S.

답변:


163

AVD 또는 SDK를 다른 디렉토리로 이동하거나 이전 SDK를 새 디렉토리로 바꾸거나 SDK가 손상 될 때 몇 가지 다른 문제가있을 수 있습니다.

아래에서는 내가 아는 모든 가능한 문제에 대해 설명하고 여러 가지 방법으로 문제를 해결합니다.

물론 AVD가 만들어져 있고 C:\Users\<user_name>\.android\avd(Windows) 또는 ~/.android/avd(Linux / MacOS)에 있다고 가정합니다 .

.android다른 장소 로 이동 한 경우 ANDROID_SDK_HOME환경 변수를 포함하는 상위 디렉토리의 경로로 환경 변수를 설정 .android하고 AVD Manager가 가상 장치를 성공적으로 찾 도록하십시오 .

경로도 확인하십시오 <user_home>/.android/avd/<avd_name>.ini


불완전하거나 손상된 SDK 구조

PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value

에뮬레이터에서 SDK를 찾을 수 없거나 SDK가 손상된 경우이 2 개의 오류가 발생합니다.

따라서 먼저 ANDROID_SDK_ROOT변수 를 제거하는 것이 좋습니다 . 에뮬레이터가 SDK 디렉토리 외부에있는 경우에만 필요합니다. 그러나 일반적으로 에뮬레이터는 SDK 디렉토리 안에 있습니다. 이 경우 SDK 위치를 자동으로 감지해야합니다 . 그렇지 않은 경우 SDK에 파일 트리가 잘못되었을 수 있습니다. 다음을 수행하십시오.

  1. 있는지 확인 SDK 디렉토리가 적어도이 4 개의 디렉토리를 가지고 : emulator, platforms, platform-tools, system-images. 매우 중요합니다! 이 디렉토리가 있어야합니다. 그들 중 일부가 존재하지 않으면 빈 디렉토리를 만드십시오.

  2. 로 이동하여 <user_home>/.android/avd/<avd_name>엽니 다 config.ini. image.sysdir.1속성을 찾으십시오 . 실제 시스템 이미지가 들어있는 SDK 디렉토리 내부의 디렉토리를 가리 킵니다. 이 디렉토리가 존재하고 같은 파일이 들어 있는지 확인 build.prop, system.img등 그렇지 않은 경우에, 당신은 열 필요가 SDK 관리자 와 AVD가 필요로 다운로드 시스템 이미지 (아래 참조).

모든 것이 올바르게 설정되면 이러한 오류 ANDROID_SDK_ROOT가 사라져야합니다. 그렇지 않은 경우 ANDROID_SDK_ROOT변수 를 설정하려고 할 수 있습니다 .


필수 패키지 및 HAXM이 설치되지 않았습니다

다음에 직면 할 수있는 문제는 에뮬레이터가 시작되기 시작하지만 즉시 중단되거나 종료된다는 것입니다. 이는 필요한 패키지가 모두 설치되지 않았 음을 의미합니다.

또 다른 가능한 오류는 다음과 같습니다.

ADB 바이너리를 자동으로 감지 할 수 없습니다. 확장 설정 페이지에 ADB에 대한 사용자 정의 경로가 추가 될 때까지 일부 에뮬레이터 기능이 작동하지 않습니다.

따라서 AVD를 성공적으로 시작하려면 최소한 다음 패키지가 설치되어 있어야합니다.

emulator (Android Emulator)
platform-tools (Android SDK Platform-Tools)
tools (Android SDK Tools)

앞에서 언급했듯이 예를 들어 AVD가 사용하는 시스템 이미지를 설치해야합니다. system-images;android-25;google_apis;x86

SDK의 최신 버전에는 독립형이 없습니다 SDK Manager.exe. 그 대신 Android Studio를 사용하거나 tools\bin\sdkmanager.bat(Linux / MacOS에 sh파일 이있을 수 있음) 사용해야 합니다.

사용 가능한 모든 패키지를 나열하려면 sdkmanager --list또는sdkmanager --list --verbose

패키지를 설치하려면 sdkmanager <package1> <package2> ...

또한 시스템에 HAXM 을 수동으로 설치하는 것이 좋습니다 .


Qcow2- 파일은 잘못되었거나 존재하지 않는 기본 이미지를 나타냅니다

마지막으로 언급 할 문제는 AVD 또는 SDK를 한 컴퓨터 나 디렉토리에서 다른 컴퓨터 나 디렉토리로 이동하려고 할 때 발생합니다. 이 경우 다음과 같은 오류가 발생할 수 있습니다.

qemu-system-i386.exe :-드라이브 if = 없음, 중복 검사 = 없음, 캐시 = 안전하지 않음, index = 0, id = system, file = C:\Users\<old_user_name>\.android\avd\<avd_name>.

avd \ system.img.qcow2, 읽기 전용 : 백업 파일을 열 수 없습니다 <old_sdk_dir>\system-images\android-22\google_apis\x86\system.img: ' '을 열 수 없습니다 : 잘못된 인수

이를 해결하는 두 가지 방법이 있습니다.

  1. AVD에 포함 된 데이터에 신경 쓰지 않으면 qcow2AVD 디렉토리에서 모든 파일을 삭제하십시오 (예 :에서 <user_home>/.android/avd/<avd_name>). 이 경우 하드 리셋 후와 같이 깨끗한 버전의 Android가 제공됩니다.

  2. 에뮬레이터의 데이터가 중요한 qcow2경우 HEX 편집기 ( HxD 선호 )를 사용하여 모든 파일을 하나씩 열고 기본 img파일 의 경로를 찾은 다음 Overwrite모드 에서 올바른 파일로 변경하십시오 ( 파일 크기). 그런 다음 경로를 선택하고 16 진수 길이를 가져옵니다 (예 :) 2F. 2FASCII 슬래시를 나타냅니다 /. 그것을 제자리에 넣으십시오 13:

HxD HEX 편집기를 사용하여 Android qcow2 파일 편집

추신 : 확실하지는 않지만 qemu-img 와 같은 다른 유틸리티가있을 수 있습니다. 글쎄, 나에게 바이너리를 수동으로 편집하는 것이 더 쉽다.


이제 Android 가상 장치를 성공적으로 시작할 수 있습니다. 나는 희망한다 :)


또 다른 이유는 hw.cpu.archconfig.ini에서 찾을 수 없습니다
daserge

2
나는 모든 지시를 따랐 는데도 여전히 AVD 시스템 경로가 깨졌습니다.
롤백

대박. qcow 기본 파일로 완료했습니다! qcow 파일을 리베이스하는보다 일반적인 방법에 대해 알고 있습니까? AVD를 여러 사람과 공유하고 싶습니다 ...
Amit Moran

@daserge al 내 '.ini'파일의 형식이 이상합니다 (각 매개 변수 뒤에 줄 바꿈이 없음). 정상입니까?
J3STER

1
고맙습니다, 내 경우 platform-tools 폴더가 누락되어 command로 설치했습니다 tools/bin/sdkmanager "platform-tools". 문제가 무엇인지 명확하게
밝히지

128

Mac : Android Studio를 android-sdk사용하여 설치했습니다 brew. 어떻게해서 2 번 설치하면이 문제가 발생했습니다. sdk를 사용하여 brew 설치를 제거 brew cask uninstall android-sdk하고 다음 변수를 env에 추가 했을 때 . 효과가있었습니다.

export ANDROID_HOME=/Users/<Username>/Library/Android/sdk
export ANDROID_SDK_ROOT=$ANDROID_HOME

18
이전에 Nativescript 튜토리얼을 따르는 동안 brew를 사용하여 android sdk를 설치했습니다. Android Studio를 설치 한 후 에뮬레이터가 시작되지 않습니다. 귀하의 수정으로 내 문제가 해결되었습니다. 감사합니다!
Cocoanut

2
이것은 나에게도 효과가있었습니다. 또한 설치 한 android-sdkNativeScript 설치하는 동안. 에뮬레이터는 이제 Android Studio에서 직접 실행되지만 NativeScript (tns run android)를 통해 실행되지 않습니다.
Mudlabs

3
그것은 내 문제를 해결했지만 brew의 android-sdk 버전을 삭제하지 않았습니다.
mrisek

1
명령 줄 도구는 더 이상 사용되지 않습니다. 최선의 진전은 AS를 적절하게 설치하고 맥주 통 facebook.github.io/react-native/docs/를
Harry Moreno

1
많은 검색을 마친 후에 마침내 문제가 해결되었습니다. 정말 고맙습니다!!!
user3575337

27

macOS에서 문제가 해결됩니다.

pico ~/.bash_profile

export ANDROID_HOME=/Users/$USER/Library/Android/sdk
export ANDROID_SDK_HOME=/Users/$USER/Library/Android/sdk
export ANDROID_AVD_HOME=/Users/$USER/.android/avd
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_AVD_HOME

source ~/.bash_profile

4
많은 것들이 시도 된 후에, 이것은 유일한 작품이었습니다. 대단히 감사합니다 : D
Alan Cordova

완벽하게 작동합니다. 감사합니다.
허먼 뎀송

@SundayOkoi 그것은 홈 디렉토리에 간다
1800 정보

저도 마찬가지입니다. 이것은 나를 위해 작동합니다. 비록 이것에 약간의 변화가 있었지만.
Edper

15

Homebrew의 Android SDK를 기본 SDK로 사용하는 동안 오류 제거

@ EFreak처럼 homebrew (Mac 용 패키지 관리자)와 함께 android-sdk를 설치했습니다. 네이티브 스크립트 자습서를 따르고 오류가 발생하여 오류를 해결하기 위해 아래 작업을 수행해야했습니다. android-sdk 버전보다 brew 버전을 사용하려면이 답변을 사용하십시오 (원본 스크립트 tns run androidAPI 를 사용할 수 있음 ) .Android 스튜디오 기본 android-sdk를 원한다면 @EFreak의 답변을 따르십시오.

Homebrew의 Android SDK를 사용하도록 Android Studio 구성

기본적으로 Android 스튜디오에서 Android SDK 위치를 변경하면됩니다. 먼저 android studio에서 프로젝트를 엽니 다. 그런 다음이 버튼을 클릭하여 SDK 관리자를 엽니 다.

안드로이드 SDK 관리자 버튼 위치

다음으로 Android SDK 관리자의 기본 환경 설정이 나타나면 Android SDK 위치 옆의 편집을 클릭해야합니다.

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

Homebrew의 Android SDK 위치 찾기

다음으로 실제로 내 brewandroid-sdk가 있는 SDK 구성 요소 설정 화면에서 SDK 위치를 업데이트해야합니다 /usr/local/share/android-sdk. brew cask info android-sdk다음과 같이 출력 하단 근처에서 실행하여 설치 위치를 찾을 수 있습니다 .

You can control android sdk packages via the sdkmanager command.
You may want to add to your profile:

  'export ANDROID_SDK_ROOT="/usr/local/share/android-sdk"'

exported ANDROID_SDK_ROOT변수 의 값 (여기서는 /usr/local/share/android-sdk)은 홈 SDK의 Android SDK 위치입니다.

그런 다음 Android SDK 위치 단추 (그림에서 1로 표시됨)를 클릭하고 Homebrew의 Android SDK 위치에 붙여 넣어야합니다.

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

그런 다음 패키지를 설치하여 마법사를 완료하십시오. 이 단계에서 장치 에뮬레이터를 삭제하고 다시 만들어야했지만 그 후에는 잘 작동하는 것 같습니다.

Homebrew의 Android SDK를 가리 키도록 Android SDK 환경 변수 설정

또한 프로파일 설정 스크립트에 ANDROID_HOMEand ANDROID_SDK_ROOTsdk가 android sdk의 Homebrew 위치로 설정되어 있으며 Homebrew 경로로 가고 있는지 확인하려는 경우 위의 작업이 아직 작동하지 않습니다. 당신이 뾰족한 밖으로 안드로이드 스튜디오를 설치하기 전에 브루를 설치 한 경우는 브루 위치 변경 얻을 수있는 이 답변에 의한 @Jamie 갑옷 . 당신은 안드로이드 SDK에 대한 환경 변수를 실행하여 올바르게 설정되었는지 확인할 수 있습니다 echo $ANDROID_HOME그리고 echo $ANDROID_SDK_ROOT그들은 모두 안드로이드 SDK의 브루 위치를 표시되는지 확인.

ANDROID_HOME 및 ANDROID_SDK_ROOT 값을 변경해야하는 경우 Mac의 프로필 설정에서 ~/.bash_profile"~ / .bashrc"또는 "~ / .profile"과 같은 형식으로 다음과 같이 정의 할 수 있습니다.

export ANDROID_HOME="/usr/local/share/android-sdk"
export ANDROID_SDK_ROOT="/usr/local/share/android-sdk"

두 내보내기의 값을 Homebrew의 Android SDK 위치의 올바른 값으로 변경 한 다음 파일을 저장해야합니다. 올바른 값이 기록되었는지 확인하려면 먼저 파일을 다시 실행하고 환경 변수를 재설정해야하는 터미널을 닫고 열어야합니다. 또는 source <profile file name>편집 및 저장 한 프로파일 파일이있는 위치 를 실행하여 파일을 소싱 할 수 있습니다 . 그런 다음 다시 실행할 수 echo $ANDROID_HOMEecho $ANDROID_SDK_ROOT그들이 브루 안드로이드 SDK의 위치를 가지고 있는지 확인합니다.


3
당신은 영웅입니다! NativeScript 문서는 이러한 측면을 언급하지 않습니다.
Jamie Birch

나는 당신 tns run android.이 실행할 수있는 추출 설치가 필요하다고 생각하지 않습니다 .이 기본 스크립트 설정 스크립트를 실행하기 전에 이것은 저에게 효과적이었습니다. 이 스크립트는 많은 것들을 깨뜨렸다 -_-
Felipe Centeno

1
@FelipeCenteno 네, 이것을하기 위해 양조 할 필요는 없습니다. brew와 함께 모든 android sdk를 이미 설치 한 경우이 방법입니다. 기본 안드로이드 스튜디오의 SDK를 사용하는 경우 EFreaks 답변을 사용할 수 있습니다.
John

14

공구 경로가 잘못되었음을 의미합니다. 이것은 brew를 사용하는 Mac에서 보이는 모습입니다. 버전을 확인하십시오.

export ANDROID_SDK_ROOT='/usr/local/Cellar/android-sdk/24.4.1_1'

귀하의 경우 다음을 실행해야합니다.

export ANDROID_SDK_ROOT='/Users/username/Library/Android/sdk'

3
오류는 여전히 동일합니다. 또한 두 번 확인하고 ANDROID_SDK_ROOT에 설정되어 .bash_profile있습니다. 심지어는 echo $ANDROID_SDK_ROOT올바른 경로를 제공합니다 /usr/local/Cellar/android-sdk/24.4.1_1 나는 사제와 맥 OS를 사용하고 있습니다.
Shivam Maheshwari

12

Windows10에서 동일한 문제가
발생했습니다. 아래 단계에 따라 문제를 해결했습니다.
Android Studio 열기
-도구
-SDK 관리자
-Android SDK 위치 복사
Android SDK 위치
설정 시스템 환경 변수
ANDROID_HOME 및 ANDROID_SDK_ROOT
시스템 환경 변수


같은 문제가 있습니다. 감사.
Jason Ching

나는 똑같은 문제에 직면하여 이러한 지침으로 해결되었습니다.
SuKu

8

에뮬레이터 업데이트 후 동일한 문제가 발생했습니다. ANDROID_AVD_HOME 변수를 추가 한 후 문제가 해결되었습니다. 여기에 이미지 설명을 입력하십시오

중요 사항 : ASCII가 아닌 문자는 경로에서 사용할 수 없습니다. 마지막으로 ASCII 이외의 문자가 포함 된 이전 경로가 포함 된 Configuration settings.ini 파일에서 가상 장치를 다시 설치하거나 장치 경로를 수동으로 재정의하십시오.

C:\Users\<user_name>\.android\avd\<avd_name>

예, 비 ASCII 문자가 중요합니다. 이 문자를 제거한 후 모두 정상적으로 작동합니다. superuser.com/questions/1355431/…
Alex Z

8

Windows 10에서 Android Studio를 실행하고 환경 변수에서 ANDROID_HOME 및 ANDROID_SDK_ROOT를 설정했지만 여전히 오류가 발생했습니다.

장치를 다운로드하는 것을 잊었습니다.

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

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

"시스템 이미지 누락"을 다운로드 한 후 모든 것이 제대로 작동합니다.


2
나의 신. 설정할 필요가없는 환경 변수를 너무 많이 설정했습니다. 내가해야 할 일은 무언가를 다운로드하는 것이 었습니다. 감사.
앤디

7

내 경우에는 ANDROID_HOME과 ANDROID_SDK_ROOT가 다르기 때문에 고장났습니다. 따라서 ANDROID_HOME을 ANDROID_SDK_ROOT와 동일하게 설정하면 작동하기 시작했습니다.


1
예 @Blagojce으로 나를 위해 작동하고, 덕분에 내가 추가 말했다 C : \ 사용자 \ % 사용자 이름 % \의 AppData \ 로컬 \ 안드로이드 \ SDK \ 두 변수 ANDROID_HOME 및 ANDROID_SDK_ROOT에서
Abdelhadi 아브

그것은 나를 위해 그것을 고쳤다. Visual Studio / Xamarin을 설치하기 전에 Android SDK가 설치되어 있어야합니다.
thowa

6

Oleg Cherrs가 대답했습니다. 그가 언급했듯이

/.android/avd/로 이동하여 config.ini를 엽니 다. > image.sysdir.1 특성을 찾으십시오. 시스템> 이미지를 포함하는 SDK 내의 디렉토리를 가리 킵니다. 이 디렉토리가 존재하고 build.prop,> system.img 등과 같은 파일이 포함되어 있는지 확인하십시오. 그렇지 않은 경우 SDK 관리자를 열고 AVD에 필요한 시스템 이미지를 다운로드해야합니다 (아래 참조).

avd 디렉토리에서 해당 에뮬레이터 * .ini 파일을 찾았습니다. "image.sysdir.1"항목을 수정했습니다. 나는 상대를 절대 경로로 대체했습니다 (앞에 ANDROID_SDK_ROOT를 추가하십시오). 그 후 에뮬레이터가 명령 줄에서 예상대로 시작되었습니다.


모든 PATH 변수가 올바르게 설정된 WIN10 x64에서 작동하는 솔루션 만 나를 위해 일했습니다. (FYI : 변수 자체 대신 ANDROID_SDK_ROOT의 절대 경로를 추가했습니다.)
Max Methot

나는 갔지만 C:\Users\edkol\.android\avdconfig.ini가 보이지 않습니다. 하나를 추가해야합니까? 그렇다면 어디서 구할 수 있습니까?
ekolis

6
  • Platuss 디렉토리가 / usr / local / share / android-sdk에 없습니다 .

  • 문제를 해결하는 platform이라는 빈 디렉토리를 만들었습니다.


5

좋아, 나는 cordova에서 android를 실행할 수 있고 ANDROID_HOME을 다음과 같이 변경했습니다.

export ANDROID_HOME=/usr/local/opt/android-sdk

5

AVD 에뮬레이터를 추가해야합니다. 이 위치로 이동하십시오 :

C:\Users\%username%\AppData\Local\Android\sdk\

AVD Manager를 시작하고 두 번째 탭 (장치 정의)에서 "createAVD"버튼을 클릭하십시오.


3

오늘 그 문제에 부딪쳐서 해결했습니다.

에뮬레이터 : [140735565005632] : 오류 : android / android-emu / android / qt / qt_setup.cpp : 28 : Qt 라이브러리가 / Users / your_user_name / Library / Android / sdk / emulator / lib64 / qt / lib에 없습니다.

15:08 에뮬레이터 : '/ Users / your_user_name / Library / Android / sdk / emulator / qemu / darwin-x86_64 / qemu-system-x86_64'를 시작할 수 없습니다 : 해당 파일 또는 디렉토리가 없습니다.

해결책은 매우 간단했습니다. Android Studio => 도구 => Android => SDK 관리자 => SDK 도구 => Android 에뮬레이터 선택 => 적용을 통해 Android 에뮬레이터를 설치하십시오.

macOS High Sierra에서 MacBook Pro를 사용하고 있는데이 문제와 관련이 없습니다. 에뮬레이터는 Android Studio 3.0.1에서 Android Studio 설치 관리자를 처음 시작할 때 분명히 설치되지 않습니다.

또한 .bashrc 또는 .zshrc에 경로가 다음과 같이 정의되어 있는지 확인하십시오.

export ANDROID_HOME=/Users/your_user_name/Library/Android/sdk
export ANDROID_SDK_ROOT=$ANDROID_HOME
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

3

나는 Windows 10에 있는데 문제는 내 컴퓨터의 avd 디렉토리에 ASCII가 아닌 문자가 있다는 것입니다.

수행 할 작업은 다음과 같습니다.

관리자 권한으로 cmd 실행

다음 명령을 실행하십시오.

mklink /D C:\\.android C:\\Users\\-yourUsername-\\.android

(이것은 ASCII가 아닌 문자가있는 경로와 새 문자 사이의 심볼릭 링크를 만듭니다)

환경 변수 ANDROID_AVD_HOME에서 value를 변수로 추가 하십시오 C:\\.android\avd.


2

AVD에서 사용하는 시스템 이미지가 아래에서 다운로드되었는지 확인하십시오. $ANDROID_SDK_ROOT/system-images/


2

다음과 같은 경로 변수를 설정 한 후 사라지는 것과 동일한 문제가 발생했습니다. 참고 AVD 홈 경로는 다른 세 가지와 다릅니다.

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


2

네이티브 스크립트

NativeScript를 통해 Android 에뮬레이터를 시작하는 데 문제가있는 사용자는 ANDROID_HOME 및 ANDROID_SDK_ROOT 환경이 대체되었을 수 있습니다.

내가 스스로 문제를 만드는 방법은 Android Studio를 설치하여 다른 에뮬레이터를 생성하는 것입니다. 이미 홈 브루를 통해 안드로이드 SDK를 설치 한 후에이 작업을 수행했습니다.

따라서 NativeScript 설치 중에 HomeBrew를 통해 android sdk를 설치하도록 선택한 경우 NativeScript는 위와 같이 설정합니다.

ANDROID_HOME=/usr/local/share/android-sdk
ANDROID_SDK_ROOT=/usr/local/share/android-sdk

이후에 Android Studio를 설치하면이 값이 다음과 같이 무시됩니다.

ANDROID_HOME=/Users/[User]/Library/Android/sdk
ANDROID_SDK_ROOT=/Users/[User]/Library/Android/sdk

따라서 자연스럽게 Android 스튜디오 및 Android SDK의 NativeScript / Brew 설치와 충돌이 있습니다. 하나 또는 다른 것을 제거하거나 env 변수에 올바른 경로가 포함되어 있는지 확인하면 에뮬레이터가 시작됩니다.


1

다른 Googled "솔루션"을 시도한 후 Windows에서 ANDROID_SDK_ROOT 환경 변수를 설정하고 ANDROID_HOME 및 ANDROID_SDK_HOME 변수를 추가 및 제거한 후 나에게 도움이 되는 유일한 방법은 Xerox23의 대답-AVD의 config.ini를 하드 코드로 편집하는 것입니다 ANDROID_SDK_ROOT의 값을 image.sysdir.1 속성에 넣습니다.

Android Studio 3.0.1 및 에뮬레이터 26.1.4를 사용하여 Android Studio 내에서 AVD Manager에서 가상 장치를 시작했습니다.


1

Windows 시스템의 경우 : 설정된 경로를 많이 시도한 후 경로 등을 제거하십시오. 마지막으로 작동하는 것은 폴더를 C:\Users\johndoe\.android찾아 삭제하는 것입니다. 그 후에 Android Studio를 점심 식사를 할 수있게되면 새 AVD를 다운로드하여 설치하라는 메시지가 표시되며 새 폴더와 파일을 재정의하고 새로 만듭니다. 이것은 문제를 해결합니다.


안녕하세요, 좋은 조언입니다. 오래된 설치를하는 우리 모두는 그렇게해야합니다. 다른 요리법을 따르고 실패한 후에는 대답이 트릭입니다. 감사!
lm2a

1

이 문제를 해결하려면 SDK Manager.exe ( "C : \ Program Files (x86) \ Android \ android-sdk")를 사용하여 시스템 이미지가없는 패키지를 설치해야했습니다. 필요한 시스템 이미지 ( "android-23")가 "C : \ Program Files (x86) \ Android \ android-sdk \ system-images"에 없습니다.

SDK Manager.exe를 실행하고 적절한 패키지를 설치 한 후 Android Studio에서 에뮬레이터를 실행할 수 있습니다.

나를 위해 일한 해결책은 다음과 같습니다.

https://www.embarcadero.com/starthere/xe5/mobdevsetup/android/en/creating_an_android_emulator.html


1

아래 단계를 따라 문제를 해결하십시오.

1.

export ANDROID_HOME=/usr/local/Cellar/android-sdk/24.4.1
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_HOME/bin

2.

Go to android studio preferences => Build, Execution, Deployment => Build Tools => Gradle => Android studio  => Enable embedded Maven Repository should be selected.

삼.

Go to android studio preferences => Appearance & Behavior => System Settings => Android SDK => Go to SDK Tools and select Android Emulator

1

/usr/local/share/android-sdk이 파일은 homebrew로 시도 할 때 만들어 졌기 때문에 파일을 제거하여이 문제를 해결했습니다 .

export ANDROID_HOME=/Users/<username>/Library/Android/sdk

export ANDROID_SDK_ROOT=/Users/<username>/Library/Android/sdk

export ANDROID_AVD_HOME=/Users/<username>/.android/avd

충분합니다 ....


1

안드로이드 스튜디오를 열고 툴바에 집중하십시오.

그런 다음 도구> SDK 관리자로 이동

모양 및 동작> 시스템 설정> Android SDK

이제 탭에서 여기에서 Android SDK 위치를 복사하십시오. Android SDK 위치

그런 다음 환경 변수로 이동 한 다음이 변수와 함께 경로를 설정하십시오

  1. ANDROID_HOME
  2. ANDROID_SDK_ROOT

환경 변수


1
  1. 초기에 생성 된 장치를 삭제합니다.
  2. Android 스튜디오를 닫습니다.
  3. 제어판-> 시스템 및 보안-> 시스템-> 고급 시스템 설정-> 환경 변수를여십시오.
  4. 새 변수 "ANDROID_SDK_HOME"을 작성하고 새 경로를 설정하십시오 (필자의 경우 F : \ Coding2019 \ Android \ AVDdevices). '확인'을 누릅니다.
  5. Android Studio를 엽니 다.
  6. 새 장치를 만듭니다. 드롭 다운 메뉴에서 생성 한 후 "세부 사항보기"를 클릭하여 새 AVD의 새로운 경로를 봅니다.

1

ANDROID_SDK_HOME은 ".android"파일의 루트에 대한 포인터이며 기본적으로 SDK 폴더의 루트가 아닌 "C : \ Users \ name \ .android"에 생성됩니다. -ANDROID_SDK_HOME을 SDK 루트 폴더에 할당하면 작동하지 않습니다. - ".android"파일의 경로에 ASCII가 아닌 문자가 있으면 작동하지 않습니다. -AVD 폴더는 현재 ".android"파일 안에 있어야합니다.

답은 이것입니다.

  • 필요한 경우 이전 답변 (Android Studio의 프로젝트 내부)과 같이 SDK 폴더를 변경하십시오.
  • Android Studio를 닫습니다.
  • 제어판> 시스템> 고급 시스템 설정> 환경 변수.
  • 새 사용자 변수를 추가하십시오. 변수 이름 : ANDROID_SDK_HOME 변수 값 : C : \ src (또는 비 ASCII 문자 또는 SO 권한에 문제가없는 폴더) 입력 할 경로는 ANDROID SDK의 루트 폴더가 될 수 없습니다 !! !
  • Android Studio를 엽니 다. 새 위치에 ".android"라는 폴더가 만들어 졌는지 확인하십시오.
  • 작성한 Android 가상 장치 (AVD)를 삭제하십시오.
  • Android Studio를 닫고 엽니 다.
  • 새로운 AVD를 만들고 마술이 일어나는 것을보십시오.

건배.


1

中国的小伙伴注意! 原因是AVD目录不能包含中文 나는 모든 방법보다했는데, 난 여전히 오류가 발생, 내 AVD 디렉토리 중국 charactor가 포함되어 있기 때문에이 있는지 궁금하다. 그래서 다음 단계에 따라 기본 avd 디렉토리를 변경하고 작동했습니다. 1. 경로에 ASCII가 아닌 문자가 포함되지 않은 폴더를 만듭니다. 2. $HOME/.android방금 만든 폴더 아래의 기본 avd 폴더를 복사하거나 잘라 냅니다. 3. PATH를 추가 ADNDROID_SDK_HOME하면 Android 스튜디오에서 $ ADNDROID_SDK_HOME / .android / avd 아래의 avd를 찾습니다

마침내 그것은 일했다! :>


1

사용자가 비 ASCII 문자를 포함하는 경우 수정

" PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT"를 받는 사용자의 경우 사용자의 사용자가 비 ASCII를 포함하기 때문일 수 있습니다. 문자를 .

따라서 AVD 폴더가 있는 SDK 및 .android 폴더 를 다른 폴더로 이동해야합니다.

SDK 경로 변경

Android Studio를 열고 구성으로 이동하여 SDK 관리자를 선택하십시오. 현재 Android SDK 위치를 "C : \ Android \ Sdk"로 변경하십시오 (또는 ASCII가 아닌 문자를 포함하는 사용자 폴더가 아닌 다른 곳) .

그런 다음 다음 시스템 변수를 추가하십시오.

ANDROID_SDK_ROOT C:\Android\Sdk
ANDROID_HOME C:\Android\Sdk

AVD 경로 변경 :

AVD 폴더가있는 위치를 변경하려면 (일반적으로 " C:\Users\<user name>\.android\avd"에 배치됨) 배치 위치 를 변경해야합니다 .android. 먼저 가까운 안드로이드 스튜디오 , 시스템 변수를 추가 ANDROID_SDK_HOME원하는 새로운 장소에 대한 경로로 .android예를 들면,로 C:\Android_SDK_HOME또 다른 예에서 사용되는 :

ANDROID_SDK_HOME C:\Android_SDK_HOME

이를 추가 한 후 Android Studio를 실행하십시오 . 그런 다음 다시 닫으십시오. 이제라는 폴더 .android가 나타납니다.

마지막으로해야 할 일은 ANDROID_AVD_HOME시스템 변수 를 설정하는 것 입니다. 이 경우에는C:\Android_SDK_HOME\.android\avd

ANDROID_AVD_HOME C:\Android_SDK_HOME\.android\avd

이것이 일부의 문제를 해결하기를 바랍니다. :)


형님 정말 감사합니다 나는이 문제를 인터넷 검색하고 신선한 게시물을 보냈으며 효과가있었습니다!
JangoCG

0

초기부터 React Native를 수행 한 이후이 문제가 발생했습니다. Google은 명령 줄 도구를 더 이상 사용하지 않으며 Android 스튜디오를 주장합니다. 나를위한 해결책은 명령 줄 도구를 제거하는 것이 었습니다

rm -rf /usr/local/Cellar/android-sdk

rm /usr/local/bin/android

https://facebook.github.io/react-native/docs/getting-started.html#1-install-android-studio에 따라 AS 설치 SDK v6을 엽니 다.

새로운 AVD를 만들면 오류없이 시작됩니다


0

실제로는 오류가 다릅니다. ./emulator with -verbose실제 오류가 표시되므로 옵션 을 실행하면 도움이됩니다 .

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