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-v8a
和x86_64
目录中。据我所知,Android 只查找 ARM 版本,如果缺少该版本,则会显示警告。您通常可以从lib
中其他目录内的本机文件名中找出包含这些文件的依赖项。
通常将该库更新到其最新版本就足够了,否则您可能需要寻找替代方案。
【讨论】:
以上是关于Android 应用,如何支持 64 位架构?的主要内容,如果未能解决你的问题,请参考以下文章
Google Play Store 上发布的所有 Android 应用程序是不是必须同时支持 ARM 和 Intel(32/64)位架构?