Android 스튜디오를 설치하고 테스트 실행을 시도했습니다. 앱을 실행하려고하면 다음과 같은 오류 메시지가 나타납니다.
emulator: ERROR: This AVD's configuration is missing a kernel file!!
emulator: ERROR: ANDROID_SDK_ROOT is undefined
아무도 이것을 고치는 방법을 알고 있습니까 ????
Android 스튜디오를 설치하고 테스트 실행을 시도했습니다. 앱을 실행하려고하면 다음과 같은 오류 메시지가 나타납니다.
emulator: ERROR: This AVD's configuration is missing a kernel file!!
emulator: ERROR: ANDROID_SDK_ROOT is undefined
아무도 이것을 고치는 방법을 알고 있습니까 ????
답변:
실제로 시스템 이미지가 없을 수 있습니다. $ANDROID_HOME/system-images/android-<YOUR DESIRED API>/armeabi-v7a
존재하고 비어 있지 않은지 다시 확인하십시오 . 실제로 누락 된 경우-SDK 관리자로 설치 / 재설치하십시오.
$ANDROID_HOME/system-images/android-<YOUR DESIRED API>/armeabi-v7a
, 2 : SDK 관리자를 사용하여 가상 장치를 다시 설치하는 방법
이 문제를 해결했습니다. 이것이 다른 사람들에게 도움이되기를 바랍니다. (Android 스튜디오 v2에서와 같은 문제)이 문제는 arm 에뮬레이터에 적용됩니다. 이 예에서는 armeabi-v7a API 16을 사용하고 있습니다.
수정은 세 단계입니다.
1 단계 : SDK 관리자를 열고 ARM EABI v7a 시스템 이미지를 설치했는지 확인합니다.
2 단계. 이것은 시스템 변수에 sdk의 위치를 추가하는 명백한 경우입니다.
바탕 화면에서 "이 PC"아이콘을 마우스 오른쪽 버튼으로 클릭 한 다음
Properties -> Advanced system settings -> Environment Variables...
그런 다음 변수 이름을 사용하여 sdk의 경로를 시스템 변수 섹션에 새로 추가하십시오. ANDROID_SDK_ROOT
.
3 단계. 변경 사항을 등록하려면 Android Studio를 다시 시작합니다. ANDROID_SDK_ROOT
is undefined 문제를 수정 한 후에도 에뮬레이터는 sdk 관리자가 커널 파일을 설치했음을 알 수 있지만 여전히 커널 파일을 찾을 수 없습니다.
path-to-sdk\sdk\system-images\android-16\default\armeabi-v7a\kernel-qemu
그 이유는 sdk 관리자가 커널 파일을 설치하는 위치와 에뮬레이터가 찾는 위치가 섞여 있기 때문입니다.
에뮬레이터에 대한 config.ini (Android Studio-> AVD Mananger-> "Show On Disk")를 열면 다음 줄이 표시됩니다.
image.sysdir.1=add-ons\addon-google_apis-google-16\images\armeabi-v7a\
(예 : \ path-to-sdk \ add-ons \ addon -....)
복사 한 config.ini 파일에서이 값을 변경하는 대신
path-to-sdk\sdk\system-images\android-16\default\armeabi-v7a\kernel-qemu
(설치된 sdk 관리자 폴더의 커널 파일)
에
\path-to-sdk\add-ons\addon-google_apis-google-16\images\armeabi-v7a\
그리고 그것은 누락 된 커널 파일이었습니다. 에뮬레이터를 실행할 수 있습니다. (Android Studio를 닫았다가 다시 열어야합니다.) x86에 비해 10 배 더 느리므로 에뮬레이터를 잠시 기다리십시오. (내가 시작하는 데 약 5 분이 걸렸습니다)
image.sysdir.1=system-images\android-16\default\armeabi-v7a
image.sysdir.1
`system-images \ android-15 \ google_apis \ armeabi-v7a` 로 업데이트 해야 함
짧은 대답 : 구식을 사용하여 같은 이미지를 만들어보십시오.<AndroidSDK>\AVD Manager.exe
.
Android Studio에서 모든 통합 도구를 실행하면서 이전 관리자 (AVD / SDK)를 사용하지 않는 것이 당연해졌습니다.
필자의 경우 새 (통합) AVD Manager를 사용하여 이전 시스템 이미지 (테스트 한대로 API 11 이하)로 장치를 만들 때이 문제가 발생했습니다.
구식 AVD 관리자 도구 (에 있음 <AndroidSDK>\AVD Manager.exe
)를 사용하여이 구식 장치 이미지를 만들 려고했을 때 성공했습니다.
~/Library/Android/sdk/tools/android avd
.
방금 당신이했던 것과 같은 문제가 발생했습니다. Google의 세 번째 링크가 오류를 발생시키는이 코드를 가져 왔습니다.
if (kernelFile == NULL) {
kernelFile = avdInfo_getKernelPath(avd);
if (kernelFile == NULL) {
derror( "This AVD's configuration is missing a kernel file!!" );
const char* sdkRootDir = getenv("ANDROID_SDK_ROOT");
if (sdkRootDir) {
derror( "ANDROID_SDK_ROOT is defined (%s) but cannot find kernel file in "
"%s" PATH_SEP "system-images" PATH_SEP
" sub directories", sdkRootDir, sdkRootDir);
} else {
derror( "ANDROID_SDK_ROOT is undefined");
}
exit(2);
그 사람이 쓴 :
"/ * 커널 이미지 이름이"-armv7 "로 끝나는 경우 cpu * 유형을 자동으로 변경합니다. 이것은 구성 관리에 대한 가난한 사람의 접근 방식이지만 dex preopt pass로 ARMv7 * 시스템 이미지를 빌드하는 것을 지나칠 수 있어야합니다. "
그래서 다시 들어가서 원하는 API 레벨에 맞는 x86 인텔 아톰 버전을 다운로드했고 오류없이 에뮬레이터를 시작할 수있었습니다. 도움이되기를 바랍니다 .....
나는 같은 오류가 있었다. 나를위한 해결책은 ANDROID_HOME 경로를 변경하는 것이 었습니다 . 먼저 tools-> android-> sdk 관리자를 살펴 보았습니다. Android Studio에서 를 . 이 창에서 Android Studio가 SDK를 찾는 경로를 볼 수 있습니다. image
그런 다음 Windows CMD 셸을 열고 다음을 실행했습니다.
echo %ANDROID_HOME%
그러나 경로는 첫 번째 단계의 ANDROID STUDIO CONFIGURATION의 경로와 다릅니다.
해결책은 사용자 환경 인 ANDROID_HOME을 첫 번째 단계 중 하나로 변경하는 것이 었습니다. 이미지
마침내 cmd 셸을 닫고 다른 cmd 셸을 열어 실행합니다.
echo %ANDROID_HOME%
경로가 업데이트되었고 에뮬레이터를 완벽하게 실행할 수있었습니다.
이 문제를 해결하기 위해 따라야 할 일반적인 접근 방식입니다.
1. Android 스튜디오에서 실행하여 SDK 관리자를 확인하고 ./android.sh
깨진 패키지를 찾는 데 도움이 되는 실행하여 alons sdk 폴더를 서십시오.
Intel보다 Google API를 지원하는 시스템 에뮬레이터 이미지를 설치해보십시오. 와 마찬가지로 다른 시스템 이미지로 실행하여 문제를 해결했습니다.
Linux 용 Google에서 제안한 KVM 기반 가상화에 대한 실험