Android 应用,如何支持 64 位架构?

Posted

技术标签:

【中文标题】Android 应用,如何支持 64 位架构?【英文标题】:Android app, How to support 64-bit architectures? 【发布时间】:2019-11-30 15:14:58 【问题描述】:

上次我在 Play Store 上发布我的应用程序的新版本时,它显示了以下警告:此版本违反了 Google Play 64 位要求。

根据 android 开发者网站:Support 64-bit architectures

使用 APK Analyzer 查找本机库

    打开 Android Studio,然后打开任何项目。

    从菜单中,选择构建 > 分析 APK...

    启动 APK 分析器

    选择您要评估的 APK。

    查看 lib 文件夹,您可以在其中找到任何“.so”文件。如果您在应用程序中根本找不到任何“.so”文件,那么您的应用程序已经准备就绪,无需进一步操作。如果您看到 armeabi-v7a 或 x86,那么您有 32 位库。

应用程序的所有代码都是用 Java 编写的,但我正在使用一些库。

问题是我没有看到lib文件夹,按照上面的步骤。

【问题讨论】:

您的问题不清楚。消息说您的应用符合要求,那么您遇到了什么问题? @Jörg 我说:问题是我没有看到lib文件夹,按照上面的步骤。,我必须寻找原生库,作为它写在文档中。 :对于您支持的每个本机 32 位架构,您必须包含相应的 64 位架构。 嗯,你在使用任何原生库吗? 我还是不明白你的问题是什么。来自 Play 商店的消息告诉您您的应用符合要求。您正在尝试查找不兼容的库。你什么都找不到。如果 Google 告诉您您完全合规,您为什么会惊讶于您找不到任何不合规的库? 对不起,我看错了警告,我看的是Complaint而不是Compliant,谢谢。 【参考方案1】:

您的一个(或多个)库可能包含本机二进制文件,但它们不支持 64 位架构。 您可以通过获取您的 apk 文件并解压缩它来检查这一点(例如,您可以重命名为 .zip 然后解压缩)。

在 zip 中,打开 lib 目录,并检查其内容。 64 位版本应位于arm64-v8ax86_64 目录中。据我所知,Android 只查找 ARM 版本,如果缺少该版本,则会显示警告。您通常可以从lib 中其他目录内的本机文件名中找出包含这些文件的依赖项。 通常将该库更新到其最新版本就足够了,否则您可能需要寻找替代方案。

【讨论】:

以上是关于Android 应用,如何支持 64 位架构?的主要内容,如果未能解决你的问题,请参考以下文章

Google Play Store 上发布的所有 Android 应用程序是不是必须同时支持 ARM 和 Intel(32/64)位架构?

来了!Android应用市场64位应用策略

小米应用商店支持 64 位架构适配

支持64位应用程序的要求

我的应用程序是不是支持 64 位? (IOS)

iOS 应用提交:缺少 64 位支持