Vik*_*ngh 4 android 32bit-64bit android-5.0-lollipop
众所周知,Android 5.0.64位支持。我有一个非常简单的问题。我们可以通过编程方式检查任何应用程序在哪种模式下运行,即32位或64位吗?例如:我的Nexus 9上运行了Facebook应用程序,那么我可以使用Android应用程序检查Facebook应用程序的进程是在32位模式还是64位模式下运行?
提前致谢!
小智 5
尝试System.getProperty("os.arch")。我还没有在 64 位 Android 上尝试过,但如果是 64 位设备,它必须返回类似“aarch64”的内容。
http://developer.android.com/reference/java/lang/System.html#getProperty(java.lang.String)
在Nexus 5x中
String arch = System.getProperty("os.arch");
Run Code Online (Sandbox Code Playgroud)
退货
armv8l
Run Code Online (Sandbox Code Playgroud)
不是aarch64,我的代码坏了。然而,
root@bullhead:/ # uname -m
aarch64
root@bullhead:/ # getprop ro.product.cpu.abilist
arm64-v8a,armeabi-v7a,armeabi
Run Code Online (Sandbox Code Playgroud)
有线。所以我将代码更改为
boolean is64 = (android.os.Build.VERSION.SDK_INT >= 21) && System.getProperty("ro.product.cpu.abilist").contains("64");
Run Code Online (Sandbox Code Playgroud)
于2016-02-11更新
在Samsung Samsung Galaxy S5 Neo中,Android 5.1.1
String arch = System.getProperty("os.arch");
Run Code Online (Sandbox Code Playgroud)
返回,aarch64但它不是64位设备!!!
ro.product.cpu.abilist 退货 armeabi-v7a,armeabi
bool is64Bit = System.getProperty("ro.product.cpu.abilist").contains("64");
Run Code Online (Sandbox Code Playgroud)
检查是唯一的检查方法。
| 归档时间: |
|
| 查看次数: |
7257 次 |
| 最近记录: |