如何确保应用程序与 64 位兼容?

How to ensure an application will be compliant with 64 bit?

重要链接:

https://android-developers.googleblog.com/2019/01/get-your-apps-ready-for-64-bit.html

https://developer.android.com/distribute/best-practices/develop/64-bit#assess_your_app

如您所见:

Starting August 1, 2019: All new apps and app updates that include native code are required to provide 64-bit versions in addition to 32-bit versions when publishing to Google Play.

当您阅读该内容时,您会明白您必须上传您的应用程序的两个版本,一个针对 32 位编译,一个针对 64 位编译。

但是你可以读到这个:

Look for native libraries using APK Analyzer APK Analyzer is a tool that allows you to evaluate various aspects of a built APK. In our case, we're going to use it to find any native libraries, and ensure 64-bit libraries are present.

  1. Open Android Studio, and open any project.
  2. From the menu, select Build > Analyze APK…
  3. launch APK analyzer
  4. Choose the APK you wish to evaluate.
  5. Look within the lib folder, which is where you will find any '.so' files. If you can not find any '.so' files in your app at all, then your app is already ready and no further action is required. If you see armeabi-v7a or x86, then you have 32-bit libraries.

要点:

在 lib 文件夹中查找,您可以在该文件夹中找到任何“.so”文件。如果您在您的应用中根本找不到任何“.so”文件,那么您的应用已经准备就绪,无需进一步操作

在我的例子中,我正在使用 Java 代码进行开发,但我无法使用 APK 分析器找到 lib 文件夹,所以...理论上,不需要进一步的操作。但是,为什么他们说 "Starting August 1, 2019 All new apps and app updates that include native code are required to provide 64-bit versions in addition to 32-bit versions when publishing to Google Play." ?

有必要我做点什么吗?或者我可以像现在一样继续上传我的单个 APK 吗?

澄清一下,64 位要求仅适用于除 Java 之外还使用本机二进制文件的项目,本机二进制文件是指 c/c++ 编译的 .so 文件。 该要求指定,除了 32 位二进制文​​件之外,开发人员还必须包括 64 位变体。这可以通过两种方式完成,像往常一样使用包含两种二进制类型(32 位和 64 位 .so 文件)的单个 APK,或者将其拆分为 2 个 APK 版本。

无论哪种方式,如果您只使用 Java 开发项目,那么您无需担心,除非您依赖于第三方库自己使用本机二进制文件。在这种情况下,您必须确保您的任何项目依赖项还包括 64 位本机变体。

对于您的情况,如果您在 APK 中找不到任何 *.so 文件,那么您无需采取进一步的措施,一切都很好。