ADB shell
을 이용하거나, 앱 내에서는 android.os.Build
클래스나 System.getProperty
를 이용해 해당 단말의 32/64 비트 여부를 확인할 수 있다. 테스트에는 단말로 ASUS Zenfone 5(Intel Atom Z2560 1.6 GHz Dual-Core CPU) 및 각 타입별 에뮬레이터를 사용.
- ASUS Zenfone 5 : 4.4.2 Kitkat
- Emulator : 5.0 Lollipop
ADB (Android Debug Bridge)
Terminal에서 다음 커맨드 수행.
adb shell getprop ro.product.cpu.abi
adb shell getprop ro.product.cpu.abi2
다음 결과의 x86
에서 테스트 단말은 32비트 환경임을 확인할 수 있다.
ro.product.cpu.abi : x86 ro.product.cpu.abi2 : armeabi-v7a
참고로, Android Studio 1.0을 기본 설치하였다면, adb
경로는C:\Users\{사용자이름}\AppData\Local\Android\sdk\platform-tools
App (Using Code)
Build.CPU_ABI
, Build.CPU_ABI2
는 API level 21(5.0 Lollipop)에서 Deprecated
.
5.0 Lollipop에서는 SUPPORTED_ABIS
, SUPPORTED_32_BIT_ABIS
, SUPPORTED_64_BIT_ABIS
를 사용하는데 이전과 달리 Array String 으로 리턴된다.
import android.os.Build;
Log.i(TAG, "CPU_ABI : " + Build.CPU_ABI);
Log.i(TAG, "CPU_ABI2 : " + Build.CPU_ABI2);
Log.i(TAG, "OS.ARCH : " + System.getProperty("os.arch"));
Log.i(TAG, "SUPPORTED_ABIS : " + Arrays.toString(Build.SUPPORTED_ABIS));
Log.i(TAG, "SUPPORTED_32_BIT_ABIS : " + Arrays.toString(Build.SUPPORTED_32_BIT_ABIS));
Log.i(TAG, "SUPPORTED_64_BIT_ABIS : " + Arrays.toString(Build.SUPPORTED_64_BIT_ABIS));
Device ASUS Zenfone 5
CPU_ABI : x86 CPU_ABI2 : armeabi-v7a OS.ARCH : i686
Emulator x86_64
CPU_ABI : x86_64 CPU_ABI2 : OS.ARCH : x86_64 SUPPORTED_ABIS : [x86_64, x86] SUPPORTED_32_BIT_ABIS : [x86] SUPPORTED_64_BIT_ABIS : [x86_64]
Emulator armeabi-v7a
CPU_ABI : armeabi-v7a CPU_ABI2 : armeabi OS.ARCH : armv7l SUPPORTED_ABIS : [armeabi-v7a, armeabi] SUPPORTED_32_BIT_ABIS : [armeabi-v7a, armeabi] SUPPORTED_64_BIT_ABIS : []
Emulator x86
CPU_ABI : x86 CPU_ABI2 : OS.ARCH : i686 SUPPORTED_ABIS : [x86] SUPPORTED_32_BIT_ABIS : [x86] SUPPORTED_64_BIT_ABIS : []
Reference
반응형
댓글