首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为软件测试目的找到运行64位操作系统的Android手机?

如何为软件测试目的找到运行64位操作系统的Android手机?
EN

Stack Overflow用户
提问于 2019-06-10 19:57:32
回答 1查看 891关注 0票数 0

虽然许多手机都有64位ARM处理器,但它们似乎都在运行Android 32位操作系统。有任何手机运行64位Android吗?

在64位Android模拟器上进行测试之后,我现在需要一个运行64位操作系统的真正的Android设备来测试蓝牙4.0的经典通信。

我的应用程序使用本地代码和JNI。它不是纯java。

背景:从2019年8月1日起,谷歌要求在Google上发布的所有应用程序都支持安卓64位。

从2019年8月1日开始,在Google Play上发布的应用程序将需要支持64位架构。

我无法找到搜索和定位运行64位Android的Android设备的方法。

我学到了什么:

  • ARM64硬件并不意味着设备运行的是安卓64位,只意味着它有能力。
  • 我买了一个Moto G7;ARM64和4GB内存,它运行的是32位安卓
  • 三星S7有ARM64,内存只有1.5GB,但运行64位安卓
  • 事实: RAM > 4GB是32位Android无法寻址的。这并不是64位Android的有用指标,因为所有负担得起的Android设备都有4GB或更少的RAM。

唯一的解决方案是在购买或询问朋友并获得相同的模型之前访问该设备。

我从同事那里得到报告说,Pixel1和Pixel2运行64位安卓系统。我不能说所有的像素都运行64位的Android,但这可能是真的。

EN

回答 1

Stack Overflow用户

发布于 2019-06-12 20:35:18

编辑:对于用户Android设备,我有大量的统计数据。该报告提供来自JNI库的当前CPU架构,逻辑如下所示。统计数据还包含Build.MODEL的内容--大约2000行用于ARM64的不同行。这个列表太大了,无法给出如此的答案--所以我把它发表在其他地方。好好享受吧。

但这不能保证。一家移动运营商有可能会推出32位操作系统的型号,而另一家运营商则会将其与64位操作系统一起出售。

有些线路可能需要一些谷歌搜索。设备供应商在Build字段上传播签名的方式绝不是统一的。

如果您有一个JNI组件,并且您为所有架构构建了它,那么根据当前编译目标引入一个条件,并从Java端询问它。

代码语言:javascript
运行
复制
extern "C" jboolean JNIEXPORT Java_com_acme_MyClass_Is64(JNIEnv *jni, jobject cl)
{
#if defined(__aarch64__) || defined(__amd64__)
    return JNI_TRUE;
#else
    return JNI_FALSE;
#endif
}

忽略MIPS64,它甚至在现代版本的NDK中都不支持。在Java方面,它可以作为:

代码语言:javascript
运行
复制
package com.acme;
class MyClass
{
    public static native boolean Is64();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56532794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档