错误提示:不符合Google Play关于提供64位版本应用规定

原文链接: https://developer.android.google.cn/distribute/best-practices/develop/64-bit

解决方案如下:

使用 64 位库编译应用

下面针对编译 64 位库做出了相关的说明。不过,需要指出的是,以下内容仅介绍了如何编译在源代码的基础上可编译的代码和库。

如果您使用任何外部 SDK 或库,请确保按照上文所述的步骤使用 64 位版本。如果没有 64 位版本可用,请与相应 SDK 或库的所有者联系,并在规划支持 64 位设备的方案时将这一点考虑在内。

使用 Android Studio 或 Gradle 进行编译

大多数 Android Studio 项目都使用 Gradle 作为底层编译系统,因此本部分适用于使用这两种工具进行编译的情况。针对原生代码进行编译很简单,只需将 arm64-v8a 和/或 x86_64(取决于您要支持的架构)添加到应用的“build.gradle”文件中的 ndk.abiFilters 设置:

// 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','arm64-v8a','x86','x86_64'
    // ...
    

使用 CMake 进行编译

如果您的应用是使用 CMake 编译的,则可以通过将 arm64-v8a 传递到“-DANDROID_ABI”参数来编译 64 位 ABI:

:: Command Line
    > cmake -DANDROID_ABI=arm64-v8a … or
    > cmake -DANDROID_ABI=x86_64 …
    

在使用 externalNativeBuild 时,此方法无效。请参阅使用 Gradle 进行编译部分。

使用 ndk-build 进行编译

如果您的应用是使用 ndk-build 编译的,则可以通过 APP_ABI 变量修改“app.mk”文件,从而编译 64 位 ABI:

APP_ABI := armeabi-v7a arm64-v8a x86 x86_64
    

 参考资料:https://developer.android.google.cn/distribute/best-practices/develop/64-bit

猜你喜欢

转载自blog.csdn.net/auccy/article/details/102502440