GitHub에서 일부 프로젝트를 테스트하여 Android Studio를 사용하고 있으며 apk를 에뮬레이션하려고 할 때 에뮬레이터를 선택할 수 없습니다.
그것은 나에게 말한다 :
기기는 x86을 지원하지만 APK는 armeabi-v7a 만 지원합니다.
왜 이렇게합니까?
GitHub에서 일부 프로젝트를 테스트하여 Android Studio를 사용하고 있으며 apk를 에뮬레이션하려고 할 때 에뮬레이터를 선택할 수 없습니다.
그것은 나에게 말한다 :
기기는 x86을 지원하지만 APK는 armeabi-v7a 만 지원합니다.
왜 이렇게합니까?
답변:
같은 문제가 있었는데 module : app 에서 build.gradle 을 확인했습니다 . 다음과 같은 구성이 있음이 밝혀졌습니다.
ndk {
abiFilters "armeabi-v7a", "x86"
}
내가 모두 댓글을 달았을 때 모든 것이 잘 작동했습니다.
React Native Android 프로젝트를 다루려고했습니다 .
USB 디버깅을 끄고 하드웨어 장치에서 다시 켭니다.
Allow computer to connect to this device
프롬프트가 처음에 표시되지 않고 두 번째로 표시 되었기 때문에 작동 합니다.
Linux : 파일> 캐시 무효화 / 다시 시작 전화 : 대신이 장치 충전을 사진 전송 (PTP)으로 변경합니다.
Camera (PTP)
로 변경 Media Device (MTP)
했고 작동합니다. 감사합니다!
비슷한 문제가 있었는데 아래와 같이 "abiFilters"목록에 "x86"값을 추가하여 해결했습니다.
[build.gradle (Module : app) 파일 열기] deafultSection 에서 " ndk "를 검색 하고 "x86"을 추가하세요!
ndk {
abiFilters "armeabi", "armeabi-v7a", "x86"
}
도움이 되었기를 바랍니다 !!!
armeabi
SDK 19 이상을 타겟팅하는 경우 드롭 해야합니다. 안드로이드 자체는 4.4부터 지원하지 않습니다
제 경우에는 앱이 일부 네이티브 라이브러리를 사용합니다. 각 플랫폼에는 해당 라이브러리를 빌드해야합니다.
따라서 x86 (또는 기타) 플랫폼의 기본 lib가 생성되지 않습니다. 어딘가에 abifilter를 추가해야합니다.
abi 필터를 지정할 수있는 여러 위치가 있습니다.
Application.mk는 다음과 같이 필요한 플랫폼을 추가합니다.
APP_ABI := armeabi armeabi-v7a x86
build.gradle
abiFilters를 찾고 다음과 같이 필요한 플랫폼을 추가하십시오.
abiFilters "armeabi","armeabi-v7a","x86"
장치 를 다시 연결 하고 개발자 옵션을 끄거나 켜야합니다 .
기기는 x86을 지원하지만 APK는 armeabi-v7a 만 지원합니다.)
x86
에뮬레이터에서 이미지 를 사용한 것 같습니다 .
별도의 계정을 만듭니다. 필요한 경우 "기타 이미지"탭을 선택하여 팔 장치를 찾습니다.
또는 실제 장치에서 실행하십시오. 나열한 리포지토리는 Raspberry Pi 3 / ODroid에서 실행되는 것입니다.
나를 위해 케이블 옵션을
-> Charge Only.
에
-> Transfer file.
아래 코드는 저에게 효과적이었습니다.
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86'
}
x86 프로세서를 사용하여 AVD를 실행하는 것은 ARM 에뮬레이터를 사용하는 것보다 10 배 빠르지 만 대부분의 경우 ARM 용 APK 만 컴파일합니다. x86 AVD를 사용하여 더 빠른 에뮬레이션을 실행하려면 다음을 수행해야했습니다 (Cocos2d-x 프로젝트의 경우).
app / jni / Android.mk
APP_ABI := armeabi-v7a:x86
gradle.properties
PROP_APP_ABI=armeabi-v7a:x86
app / build.gradle
android {
...
defaultConfig {
...
ndk {
abiFilters = []
abiFilters.addAll(PROP_APP_ABI.split(':').collect{it as String})
}
}
}
장치를 다시 시작하면 문제가 해결되었습니다 (React-native).
보안 옵션에서 알 수 없는 소스 를 활성화 해보 십시오. 그것은 나를 위해 일했습니다.
나는 이것을 본다
빌드에 CMake를 사용하는 경우 \ proj.android \ gradle.properties 파일을 확인하고 x86 용 빌드를 포함하도록 PROP_APP_ABI를 업데이트하거나, 대신 armeabi-v7a 또는 arm64-v8a Android를 사용할 수 있습니다. 이미지.
예 : PROP_APP_ABI = armeabi-v7a : arm64-v8a : x86
cmake를 사용하지 않는 경우 ABI 설정을 변경해야하는 경우 \ proj.android \ app \ jni \ Application.mk를 확인하십시오.