Android 判断APP是否是64位

今天看到邮箱里面Google发来的邮件是在8月1号之前必须把APP支持64位代码,为了运行的体验

如何判断自己的app的是否是64位 用Android studio就可以

如果应用仅使用以 Java 编程语言或 Kotlin 编写的代码(包括任何库或 SDK),那么就表示该应用已经支持 64 位设备。如果应用使用了任何原生代码,或者不确定自己的应用是否使用了这类代码,那么需要评估应用并相应采取措施。

如何判断应用是否使用了原生代码?

首先需要检查您的应用是否使用了任何原生代码。如果您的应用符合以下情况,便是使用了原生代码:

  • 使用了任何 C/C++(原生)代码。
  • 与任何第三方原生库关联。(用第三方库有风险啊!!)
  • 通过使用原生库的第三方应用构建程序构建而成。

应用是否包含 64 位库?

要确定应用是否包含 64 位库,最简单的方法就是检查 APK 文件的结构。在编译时,APK 会与应用所需的所有原生库打包在一起。原生库会根据 ABI 而存储在不同的文件夹中。应用无需支持所有 64 位架构,但对于支持的每种原生 32 位架构,则应用都必须包含相应的 64 位架构。

对于 ARM 架构,32 位库位于 armeabi-v7a 中。对应的 64 位库位于 arm64-v8a 中。

对于 x86 架构,请查找 x86(32 位)和 x86_64(64 位)。

首先要确保这两个文件夹中都有原生库。总结如下:

平台32 位库文件夹64 位库文件夹
ARMlib/armeabi-v7alib/arm64-v8a
x86lib/x86lib/x86_64

第一步  打开自己要检测的APP

查看 lib 文件夹,可以在其中找到所有“.so”文件。如果在的应用中找不到任何“.so”文件,则说明该应用已经准备好相应的库,无需采取进一步措施。如果看到 armeabi-v7a 或 x86,则说明有 32 位库。

检查是否在 arm64-v8a 或 x86_64 文件夹中也有类似的“.so”文件。

如果您没有任何 arm64-v8a 或 x86_64 库,则需要更新编译流程以开始在 APK 中编译并打包相应工件。

第二步 添加64位的库就OK

 
// Your app's build.gradle
    apply plugin: 'com.android.app'

    android {
       compileSdkVersion 27
       defaultConfig {
           appId "com.google.example.64bit"
           minSdkVersion 15
           targetSdkVersion 28
           versionCode 1
           versionName "1.0"            
           ndk.abiFilters 'armeabi-v7a'//32位,'arm64-v8a'//64位 ,'x86'//32位,'x86_64'//64位
    // ...

然后点击编译就可以啦~
接着在用第一步判断就可以发现应用是否支持64位代码了
    

 

借鉴Google的博客 https://developer.android.com/distribute/best-practices/develop/64-bit#test_your_app_on_64-bit_hardware

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值