인코딩 없이 Android 장치를 64bit CPU로 판별하는 방법

10708 단어 Android
2019/8/1 이후 64bit이 지원되지 않는 응용 프로그램이 Play Store에 업로드되지 않으면warning이 표시됩니다.
대응 방법은 공식.의 소개에 따라 진행할 수 있을 것 같고 동작을 확인할 때 64bit 단말기에서 동작을 확인해야 한다.그러나 공식 홈페이지에서 ↓의 느낌은 어느 단말기가 64bit에 구체적으로 대응하는지 모르기 때문에 수중에 있는 검증 단말기가 64bit인지 조사해야 한다.
애플리케이션 테스트를 시작하려면 64비트 호환 장치가 필요합니다.구글의 픽셀과 다른 주력 기기 등 각종 인기 기종은 64위를 지원한다.
Antutu Benchmark 같은 앱을 설치하는 방법도 있지만adb로 빠르게 확인할 수 있다면 쉬울 것 같아서 조사해 봤습니다.

방법 1


uname 명령은 터미널에서 사용할 때 다음과 같은 방법으로 확인할 수 있습니다.
$adb shell uname -m
# ↓結果
aarch64

방법 2


uname 명령이 없으면 /proc/cpuinfo 를 직접 표시하는 것이 좋습니다.
이 예는 SC-04E의 단말기로 Processor : ARMv7의 표기에 따라 64bit가 아니라고 판단할 수 있다.
$adb shell cat /proc/cpuinfo
# ↓結果
Processor   : ARMv7 Processor rev 0 (v7l)
processor   : 0
BogoMIPS    : 13.53

processor   : 1
BogoMIPS    : 13.53

processor   : 2
BogoMIPS    : 13.53

processor   : 3
BogoMIPS    : 13.53

Features    : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4
CPU implementer : 0x51
CPU architecture: 7
CPU variant : 0x1
CPU part    : 0x06f
CPU revision    : 0

Hardware    : SAMSUNG JF
Revision    : 000f
Serial      : 0000922000000b99

메서드 3 (추적)


Play Console의 장치 디렉토리에서 터미널을 검색하는 것이 더 빠를 수 있습니다.ABI를 보면 64bit 지원 여부를 알 수 있습니다.

메서드 4 (추적)


bundletool이 있으면 다음 패드가 연결된 장치의 규격을 표시할 수 있습니다.
$tmp=`mktemp`.json && bundletool get-device-spec --output $tmp && cat $tmp && rm $tmp
결과
{
  "supportedAbis": ["arm64-v8a", "armeabi-v7a", "armeabi"],
  "supportedLocales": ["ja-JP", "en-US"],
  "deviceFeatures": ["reqGlEsVersion=0x30002", "android.hardware.audio.output", "android.hardware.bluetooth", "android.hardware.bluetooth_le", "android.hardware.camera", "android.hardware.camera.any", "android.hardware.camera.autofocus", "android.hardware.camera.capability.manual_post_processing", "android.hardware.camera.capability.raw", "android.hardware.camera.external", "android.hardware.camera.flash", "android.hardware.camera.front", "android.hardware.faketouch", "android.hardware.fingerprint", "android.hardware.location", "android.hardware.location.gps", "android.hardware.location.network", "android.hardware.microphone", "android.hardware.nfc.any", "android.hardware.opengles.aep", "android.hardware.screen.landscape", "android.hardware.screen.portrait", "android.hardware.sensor.accelerometer", "android.hardware.sensor.compass", "android.hardware.sensor.gyroscope", "android.hardware.sensor.light", "android.hardware.sensor.proximity", "android.hardware.sensor.stepcounter", "android.hardware.telephony", "android.hardware.telephony.gsm", "android.hardware.touchscreen", "android.hardware.touchscreen.multitouch", "android.hardware.touchscreen.multitouch.distinct", "android.hardware.touchscreen.multitouch.jazzhand", "android.hardware.usb.accessory", "android.hardware.usb.host", "android.hardware.vulkan.level=1", "android.hardware.vulkan.version=4194307", "android.hardware.wifi", "android.hardware.wifi.direct", "android.software.activities_on_secondary_displays", "android.software.app_widgets", "android.software.autofill", "android.software.backup", "android.software.companion_device_setup", "android.software.connectionservice", "android.software.cts", "android.software.device_admin", "android.software.file_based_encryption", "android.software.home_screen", "android.software.input_methods", "android.software.live_wallpaper", "android.software.managed_users", "android.software.midi", "android.software.picture_in_picture", "android.software.print", "android.software.securely_removes_users", "android.software.sip", "android.software.sip.voip", "android.software.verified_boot", "android.software.voice_recognizers", "android.software.vr.mode", "android.software.webview", "com.google.android.feature.ZERO_TOUCH"],
  "screenDensity": 480,
  "sdkVersion": 26
}

좋은 웹페이지 즐겨찾기