錯誤提示:不符合Google Play關於提供64位版本應用規定

解決方案如下:

使用 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章