패닉 : 깨진 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에 파일 트리가 잘못 될 수 있습니다. 다음을 수행하십시오.
있는지 확인 SDK가 디렉토리 적어도이 4 개의 디렉토리를 가지고 :
emulator
,platforms
,platform-tools
,system-images
. 매우 중요합니다! 이 디렉토리가 있어야합니다. 그들 중 일부가 존재하지 않습니다.로 이동하여
<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
: ' '을 열 수 없습니다 : 잘못된
이를 해결하는 두 가지 방법이 있습니다.
AVD에 포함 된 데이터에 신경 쓰지 이름이 삭제되었습니다.
qcow2
AVD 디렉토리에서 모든 파일을 삭제하십시오 (예 :에서<user_home>/.android/avd/<avd_name>
). 이 경우 하드 리셋 후와 같이 정품 버전의 Android가 제공됩니다.에뮬레이터의 데이터가 중요한 경우
qcow2
HEX 편집기 ( HxD 선호 )를 사용하여 모든 파일을 하나씩 기본img
파일 의 경로를 다음Overwrite
모드 에서 올바른 파일로 변경합니다 (파일 크기). 그런 다음 경로를 선택하고 16 진수 길이를 가져옵니다 (예 :)2F
.2F
ASCII 슬래시를 나타냅니다/
. 그것을 제자리에 기재하십시오13
:
추신 : 강력하게 사용할 수 있습니다. 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 android
API 를 사용할 수 있습니다. ) .Android 스튜디오 기본 android-sdk를 @EFreak의 답변을 사용합니다.
Homebrew의 Android SDK를 사용하도록 Android Studio 구성
기본적으로 Android 스튜디오에서 Android SDK 위치가 변경됩니다. android studio에서 프로젝트를로드 다 먼저. 그런 다음이 버튼을 클릭하여 SDK 관리자를 다합니다.
다음으로 Android SDK 관리자의 기본 환경 설정이 Android SDK 위치 옆에있는 편집을 클릭해야합니다.
Homebrew의 Android SDK 위치 찾기
다음으로 실제로 내 brew
android-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"'
export
ed 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_ROOT
sdk가 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_HOME
및 echo $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에서 동일한 문제가 여기에 있습니다.
- brew와 함께 설치 한 android-sdk를 제거했습니다.
- 나는 설정
ANDROID_HOM
과 동일하게 E 변수를ANDROID_SDK_ROOT=/Users/username/Library/Android/sdk
.
실제로는 오류가 있습니다. ./emulator with -verbose
실제 오류가 표시되는 옵션 을 실행하면 도움이 됩니다.
나는 같은 문제가 있었다. .android / avd 폴더에서 이미지 에뮬레이터를 삭제하고 lib32stdc ++ 6을 설치 한 후 :
sudo apt-get install lib32stdc++6
그래서 작동합니다! 마법?
'IT' 카테고리의 다른 글
몽구스 — 힘 모음 이름 (0) | 2020.08.06 |
---|---|
템플릿은 무엇입니까 (0) | 2020.08.06 |
키 입력을 입력 할 때 UITextField의 값 가져 오기? (0) | 2020.08.06 |
Chart.js v2- 격자 선 배포 (0) | 2020.08.06 |
언제 thread.start () 대신 java의 thread.run ()을 호출하고? (0) | 2020.08.06 |