Android 어플리케이션을 위한 64bit화 검증 장치의 ABI를 조사하는 방법

Android 어플리케이션을 위한 64bit화 검증 장치의 ABI를 조사하는 방법



https://developer.android.com/distribute/best-practices/develop/64-bit
상기 페이지와 같이
2019년 8월 1일 이후 GooglePlay가 공개한 응용 프로그램은 64bit 구조를 지원해야 합니다.
또한 2021년 8월 1일부터 64bit 버전을 포함하지 않는 응용 프로그램은 GooglePlay에서 제외됩니다.
응용 프로그램 (apk) 은 64bit에 대해 말할 필요가 없다
이후 64bit를 지원하는 단말기가 정상적으로 작동하는지 확인해야 한다.
따라서 휴대용 장치의 CPU 구조는 무엇입니까?
다음은 지원되는 ABI가 무엇인지 조사하는 방법입니다.
※ ABI에 대한 자세한 내용은 아래 페이지에 있습니다.
https://developer.android.com/ndk/guides/abis#sa

■ ABI 분류


플랫폼
32비트 라이브러리
64비트 라이브러리
ARM
armeabi, armeabi-v7a
arm64-v8a
x86
x86
x86_64

■ adb 명령으로 조사

  • USB 등 조사하고 싶은 장치는 PC/MC에 연결됩니다
  • 콘솔(터미널)을 엽니다
  • 이하adb명령을 실행합니다
  • 
    $ adb shell getprop ro.product.cpu.abi
    
    실제 실행 예$ adb shell getprop ro.product.cpu.abi
    arm64-v8a
    여기서 마치겠습니다.
    그래도 현존하는 설비는
    ARM의 경우 위의 결과가 arm64-v8a인 경우에도
    왜냐하면 하위 호환성이 있는 것 같아요.
    armeabi, armeabi-v7a 지원
    결과는arm64-v8a가 없어도
    동작을 확인할 수 있습니다.
    
    // Your app's build.gradle
        apply plugin: 'com.android.app'
    
        android {
           compileSdkVersion 27
           defaultConfig {
               appId "com.google.example.64bit"
               minSdkVersion 15
               targetSdkVersion 28
               versionCode 1
               versionName "1.0"
               ndk.abiFilters 'armeabi','armeabi-v7a','arm64-v8a','x86','x86_64'
        // ...
    
    app/build.gradle
    Android Studio에서 확인해 보도록 하겠습니다.
  • app/build.gradle을 엽니다
  • ndk.abiFilters에서arm계('armeabi','armeabi-v7a','arm64-v8a')를 뜯어냅니다
  • 연결 장치를 실행해 보십시오(연결 장치의 ABI는'arm64-v8a'입니다)
  • Device supports arm64-v8a, armeabi-v7a, armeabi, but APK only supports x86, x86_64오류
    armeabi 또는armeabi-v7a를 포함하면 오류가 없고 정상적인 동작이 표시되지 않기 때문에 ABI가arm64-v8a 장치에 64bit 라이브러리가 없어도 32bit 라이브러리에서 동작할 수 있음을 알 수 있습니다

    좋은 웹페이지 즐겨찾기