深圳做营销网站的公司哪家好,网站建设规范布局有几部分,大连建设工程综合管理平台,怎么做网站的icp备案信息安卓手机APP开发__支持64位的架构
目录
概述
读取你的APP
快速的状态检查
你的APP使用了原生的代码吗#xff1f;
你的APP包含了64位的代码库吗#xff1f;
确保在这些目录中有原生的代码库.
使用APK分析器查看原生的代码库
通过解压缩APK查看原生的代码库
用安卓工…安卓手机APP开发__支持64位的架构
目录
概述
读取你的APP
快速的状态检查
你的APP使用了原生的代码吗
你的APP包含了64位的代码库吗
确保在这些目录中有原生的代码库.
使用APK分析器查看原生的代码库
通过解压缩APK查看原生的代码库
用安卓工作台或者是Gradle构建
用CMake构建
用ndk-build构建 概述
在谷歌的应用中发布的APP需要支持64位的架构。添加上你的APP的64位的版本 提供了性能上的提升并且能够运行在仅支持64位的硬件上。
如下的步骤确保你的32位的程序支持64位的设备。
读取你的APP
如果你的APP仅使用Java编程语言或者是Kotlin包括所有的库和SDK那么 你的APP支持64位的设备。如果你的APP使用了任何的原生的代码或者是 你不确定是否使用了原生的代码那么读取你的APP检查一下。
快速的状态检查
使用谷歌应用的命令行浏览一下已存在的发布版本是否是合规的。
谷歌应用的命令行也显示你的程序发布过是否会有和64位环境需求相关的问题的告警。 如果出现了一个告警按如下的步骤操作让你的APP与64位的设备兼容。
你的APP使用了原生的代码吗
包括如下的三个方面 在你的APP中内嵌了C/C原生代码。 链接了第三方的原生的代码库 由第三方的APP构造器来构建的而这个构造器使用了原生的代码库。
你的APP包含了64位的代码库吗
检查一下你的APK文件的结构。当构建的时候APK的打包带着被APP需要使用的原生的代码库。 原生的代码库被存储在基于ABI的各个文件夹中。为了支持每一个64位的架构它是不必需的 但是对于每一个你支持的原生的32位架构你必须包含相应的64位的架构。
对于ARM架构32位的库在目录armeabi-v7a中64位的库在arm64-v8a目录中。
对于x86架构32位的库在目录x86中64位的库在x86_64目录中。
确保在这些目录中有原生的代码库.
注意的是,依赖于你的APP,在每一个文件夹中可能没有相同的库。目标是确保你的APP能在 仅64位的环境下运行。
在一个经典的情况下一个APK能同时为32位和64位构架而构建每个目录下都有相应的库。 如果这不支持64位你可能仅看到了32位的ABI的目录而没有64位的目录。 使用APK分析器查看原生的代码库
APK分析器是一个工具让你能评估一个构建好的APK的各个方面。使用它 来查找各个原生的库并且确保64位的库是存在的。
打开安卓工作台打开项目。 从菜单上选择 构建〉分析APK 启动APK分析器 选择你要评估的APK
看lib目录如果有的话文件以.so后缀结尾。如果没有的话那么 你的APP支持64位的设备没有其它的动作要做了。如果你看到了 armeabi-v7a 或者是 x86目录那么你有32位的库。 检查一下看看有没有.so文件。 通过解压缩APK查看原生的代码库
APK的文件是结构化的像zip文件。使用命令行或者是其它的抽取工具 抽取APK的文件。依赖于你的抽取工具你可能不得不重命名文件为.zip.
浏览被抽取的文件遵循上述的指导来确定你的APP是否支持64位设备。 你能在命令行上运行如下的命令例子
:: Command Line zipinfo -1 YOUR_APK_FILE.apk | grep \.so$ lib/armeabi-v7a/libmain.so lib/armeabi-v7a/libmono.so lib/armeabi-v7a/libunity.so lib/arm64-v8a/libmain.so lib/arm64-v8a/libmono.so lib/arm64-v8a/libunity.so
注意的是在这个例子中armeabi-v7a和 arm64-v8a的代码库的存在性 这意味着APP支持64位的架构。 用安卓工作台或者是Gradle构建
使用如下的代码
Kotlin
// Your apps build.gradle
plugins {id(com.android.app)
}android {compileSdkVersion(27)defaultConfig {appId com.google.example.64bitminSdkVersion(15)targetSdkVersion(28)versionCode 1versionName 1.0ndk {abiFilters listOf(armeabi-v7a,arm64-v8a,x86,x86_64)}
// ...
用CMake构建
命令如下
:: Command Line cmake -DANDROID_ABIarm64-v8a … or cmake -DANDROID_ABIx86_64 … 用ndk-build构建
需要修改的是Application.mk的文件的APP_ABI变量。
APP_ABI : armeabi-v7a arm64-v8a x86 x86_64