问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

华为手机CPU构架32位的如何运行只支持64位的游戏?

发布网友 发布时间:2022-04-22 21:48

我来回答

3个回答

热心网友 时间:2023-09-28 14:58

如何为安卓应用提供64位原生的支持?
必须承认,64位构建会让APK的体积变的更大,多了so库嘛
64位通常会使应用运行的更加的快,因为64位的指令集支持更高的代码运行效率,举个例子:能够使用两倍数量的寄存器,支持双精度的浮点的运算,这使得编译器可以做更加复杂的矢量化优化
使用App Bundle发布格式在GooglePlay,Apk包的体积也不会受到太大影响,GooglePlay会按照用户设备的架构仅推送所需的文件,即使提供了32位和64位的文件,根据用户设备的架构类型,只需下载最使用的一套文件
在GooglePaly上可以构架一个包含X86和X86-64的文件Bundle,而不用担心对目标ARM设备应用体积的影响
从 2019 年 8 月 1 日开始,您在 Google Play 上发布的应用必须支持 64 位架构。后续不知道国内的应用市场是否也要强制

64 位 CPU 能够为您的用户提供更快、更丰富的体验。添加 64 位的应用版本不仅可以提升性能、为未来创新创造条件,还能针对仅支持 64 位架构的设备做好准备。
1、使用以 Java 编程语言或 Kotlin 编写的代码(包括任何库或 SDK),那么就表示该应用已经支持 64 位设备
2、应用使用了任何原生代码,或者不确定自己的应用是否使用了这类代码,那么需要评估应用并相应采取措施。
是否使用了原生代码?
使用了任何 C/C++(原生)代码。
与任何第三方原生库关联。
通过使用原生库的第三方应用构建程序构建而成。
应用是否包含 64 位库?
要确定应用是否包含 64 位库,最简单的方法就是检查 APK 文件的结构,在编译时,APK 会与应用所需的所有原生库打包在一起。应用无需支持所有 64 位架构,但对于支持的每种原生 32 位架构,则应用都必须包含相应的 64 位架构。,说通俗一点就是成对的出现应当支持的架构
对于 ARM 架构,32 位库位于 armeabi-v7a 中。对应的 64 位库位于 arm64-v8a 中
对于 x86 架构, x86(32 位)和 x86_64(64 位)
分析APK,只有32的架构

image.png
分析APK,32位和64位的架构

image.png
如果使用 Android Studio 或Gradle 进行编译,如何为安卓应用提供64位原生的支持呢?

大多数 Android Studio 项目都使用 Gradle 作为底层编译系统,因此本部分适用于使用这两种工具进行编译的情况。针对原生代码进行编译很简单,只需将 arm64-v8a和/或 x86_64(取决于您要支持的架构)添加到应用的“build.gradle”文件中的 ndk.abiFilters 设置
在 build.gradle 加入ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'

image.png
如果使用 CMake 进行编译?

可以通过将 arm64-v8a 传递到“-DANDROID_ABI”参数来编译 64 位 ABI
:: Command Line
> cmake -DANDROID_ABI=arm64-v8a … or
> cmake -DANDROID_ABI=x86_64 …

使用 ndk-build 进行编译?JNI

可以通过 APP_ABI 变量修改“app.mk”文件,从而编译 64 位 ABI:
APP_ABI := armeabi-v7a arm64-v8a x86 x86_64

热心网友 时间:2023-09-28 14:59

什么年代的手机,CPU还是32位的?现在不都早已经都是64位了吗?
64位CPU可以向下兼容32位应用,32位CPU不可以兼容64位应用的。

热心网友 时间:2023-09-28 14:59

你好是的华为手机CPU构架32位的如何运行只支持64位的最简单的游戏,稍微复杂点的游戏就不支持了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
中导条约是什么意思 南京的事业单位待遇好吗 condition ...个登陆和注册信息的源代码,最简单的就可以,不需要数据库的那种... 个旧附近的vba编程培训机构哪家比较正规? 个旧附近的.Net培训班? 个旧附近的编程培训班? 个旧附近哪里有编程培训在哪里? 湖口哪里可以学电脑电脑技术哪里可以学习 个旧北大青鸟少儿编程培训学费多少? Android Studio 为什么老是加载不起.so文件? 如何引用android ndk自带的iconv Android studio 编译的时候gc overhead limit exceeded 迁移一个eclipse工程到AndroidStudio有哪些坑 现在用androidstudio进行NDK开发成熟吗 android studio 怎么生成so android jni abifilters为什么没产生文件 帮了一两次小忙,同学老是要请客吃饭怎么办? 应不应该拒绝 android bionic 在ndk中吗 同学请我帮陪客人吃饭我应怎么做? android studio中怎么打包.so库文件 如何处理同学间互相请客吃饭的问题? 如何更新android studio中的ndk 同学请客吃饭就我没去,我要怎么办 为什么android studio 打包的程序进程不识别 同学请客吃饭的时候,我如果每次大家都去了就我不去的话会怎样呢? android 怎么把多个so文件编译成jar 同学请我吃饭的时候我如果每次都不去的话会怎样呢? build gradle中ndk怎么创建多个modulename 同学请客吃饭不去应该怎么回答? 请问为什么vivoz5x充电的时候现在变成了普通充电而不是闪充呢???_百度... 手机浏览器下载的缓存视频,怎么导出 vivo z5的充电口是什么接口? 我vivoz5手机充三小时才充满 才买了三周就 要充这么久是怎么回事?_百 ... vivoz5快充协议 怎样可以让vivoZ5手机充电变得很快? 手机里缓存的那些视频,怎样放到本地? VIVOz5是什么充电接口? 安卓手机的uc浏览器里的缓存视频,导出到电脑里,该怎么做? vivoz5可不可以用55w的充电器? 如何将手机里缓存的B站视频导出到电脑? vivoz5怎么快充? vivoz5能不能用z6的充电器? 黄瓜怎样切成条形? 刚买的vivo手机如何充电? 怎样把黄瓜切成一小块一小块菱形状的? ViVOZ5X的充电器和vivoX23的充电器一样吗? vivoz5充电器型号码是多少? 怎样切黄瓜? vivoz5用的是原装充电器可以显示闪充。为什么用原装充电器解却显示不了闪充图标呢?