IT

패닉 : 깨진 AVD 시스템 경로.

lottoking 2020. 8. 6. 22:20
반응형

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


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 또는 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를 설치하면 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. 그 대신 안드로이드 스튜디오를 사용하거나 tools\bin\sdkmanager.bat(리눅스 / 맥 OS에 sh파일 이있을 수 있음) 사용해야 합니다.

사용 가능한 모든 패키지를 비용 청구 sdkmanager --list또는sdkmanager --list --verbose

패키지를 설치 비용 sdkmanager <package1> <package2> ...

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


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

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

qemu-system-i386.exe :-드라이브 if = 없음, 이따 검사 = 없음, 캐시 = 안전하지 발생, 인덱스 = 0, id = 시스템, 파일 = 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. 에뮬레이터의 데이터가 중요한 경우 qcow2HEX 편집기 ( HxD 선호 )를 사용하여 모든 파일을 하나씩 기본 img파일 의 경로를 다음 Overwrite모드 에서 올바른 파일로 변경합니다 (파일 크기). 그런 다음 경로를 선택하고 16 진수 길이를 가져옵니다 (예 :) 2F. 2FASCII 슬래시를 나타냅니다 /. 그것을 제자리에 기재하십시오 13:

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

추신 : 강력하게 사용할 수 있습니다. qemu-img 와 같은 일부 유틸리티가 다른 기본 이미지를 사용할 수 있습니다. 글쎄, 나에게 바이너리를 수동으로 편집하는 것이 더 많은 것.


이제 Android 가상 장치를 사용하여 시작할 수 있습니다. 나는 희망한다 :)


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

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

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

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

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

다음을 실행해야합니다.

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

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


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

@ EFreak처럼 homebrew (Mac 용 패키지 관리자)와 android-sdk를 함께 설치했습니다. 아래에서 펼쳐서 오류를 해결하기 위해 아래 작업을 수행해야합니다. 안드로이드 SDK 버전보다 브루 버전을 사용하는 것입니다. (사용 가능한 사용이 가능한 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_HOME있고 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의 위치를 ​​가지고 있는지 확인합니다.


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

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

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


좋아, 나는 cordova에서 android를 사용하고 ANDROID_HOME 다음과 같이 변경했습니다.

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

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

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

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


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

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


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


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


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

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


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

에뮬레이터 : [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

다른 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에서 가상 장치를 시작했습니다.


이 문제를 해결하려는 비용 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.

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

확장 펼쳐

NativeScript를 통해 Android 에뮬레이터를 시작하는 데 문제가있는 사람은 env vars 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 변수에 올바른 경로가 포함되어 있는지 확인하면 에뮬레이터가 시작됩니다.


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


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

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

rm /usr/local/bin/android

지시에 따라 sdk v6을 설치 다 https://facebook.github.io/react-native/docs/getting-started.html#1-install-android-studio

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


방금 Mac에서 동일한 문제가 여기에 있습니다.

  1. brew와 함께 설치 한 android-sdk를 제거했습니다.
  2. 나는 설정 ANDROID_HOM과 동일하게 E 변수를 ANDROID_SDK_ROOT=/Users/username/Library/Android/sdk.

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


나는 같은 문제가 있었다. .android / avd 폴더에서 이미지 에뮬레이터를 삭제하고 lib32stdc ++ 6을 설치 한 후 :

sudo apt-get install lib32stdc++6

그래서 작동합니다! 마법?

참고 URL : https://stackoverflow.com/questions/39645178/panic-broken-avd-system-path-check-your-android-sdk-root-value

반응형