Android Studio에서 에뮬레이터를 실행할 수 없습니다. 실행을 시도했습니다. 앱을 실행하려고하면

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 관리자로 설치 / 재설치하십시오.


답변

도구로 이동 | 안드로이드 | AVD 관리자

오른쪽 끝에있는 작업 열 아래의 화살표를 클릭합니다 (오류 메시지가있는 위치).

편집 선택

기본 선택 유지 (나의 경우 MNC x86 Android M)

다음을 클릭하십시오.

마침 클릭

AVD를 저장하고 이제 마지막 열에서 오류가 사라졌습니다. 이제 에뮬레이터가 제대로 작동합니다.


답변

이 문제를 해결했습니다. 이것이 다른 사람들에게 도움이되기를 바랍니다. (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_ROOTis 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 분이 걸렸습니다)


답변

“C : \ Program Files \ Android \ android-sdk \ AVD Manager.exe”를 실행하고 고장난 장치를 수리하여 문제를 해결했습니다.


답변

짧은 대답 : 구식을 사용하여 같은 이미지를 만들어보십시오.<AndroidSDK>\AVD Manager.exe .

Android Studio에서 모든 통합 도구를 실행하면서 이전 관리자 (AVD / SDK)를 사용하지 않는 것이 당연해졌습니다.

필자의 경우 새 (통합) AVD Manager를 사용하여 이전 시스템 이미지 (테스트 한대로 API 11 이하)로 장치를 만들 때이 문제가 발생했습니다.

구식 AVD 관리자 도구 (에 있음 <AndroidSDK>\AVD Manager.exe)를 사용하여이 구식 장치 이미지를 만들 려고했을 때 성공했습니다.


답변

방금 당신이했던 것과 같은 문제가 발생했습니다. 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 인텔 아톰 버전을 다운로드했고 오류없이 에뮬레이터를 시작할 수있었습니다. 도움이되기를 바랍니다 …..


답변

일반적으로 개발중인 앱 유형에 적합하지 않은 AVD 에뮬레이터로 인해 오류가 발생합니다. 예를 들어 웨어러블 용 앱을 개발하고 있지만이를 실행하기 위해 전화 에뮬레이터를 사용하려는 경우입니다.