簡體   English   中英

添加 'ndk { abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64' }' 后,Android 應用程序不兼容 64 位

[英]Android app not 64 bit compliant after adding 'ndk { abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64' }'

以下有關如何使Android應用64位兼容谷歌的文檔后在這里,Android應用程序包,我一直試圖建立還不是64位兼容。

android studio 項目包含不同的模塊(應用程序),它們有自己的 build.gradle 文件,但所有應用程序都有一個通用的 build.gradle(Module:app) 和 build.gradle 項目級別。 在一般 build.gradle(Module:app) 我添加了以下內容:

 ndk {
            abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
        } 

在此處輸入圖片說明

根據谷歌文檔到默認配置。 我還嘗試將相同的代碼添加到應用程序的 build.gradle(Module:app) 並構建應用程序包,這是 lib 文件的樣子在此處輸入圖片說明

gradle 不會生成使應用程序兼容 64 位所需的 x86_64 和 arm64-v8a 文件。 例如,我嘗試了將 abifilters 放置在何處的不同組合,僅將其添加到根 build.gradle,僅將其添加到應用程序的 build.gradle 中,並且在兩者上都有 abifilters,但它不會構建 64 位支持庫。

該應用程序是用 Java 構建的,我能夠通過添加以下內容來構建 64 位應用程序包:

ndk {
        abiFilters 'arm64-v8a', 'x86_64'
    }

然后分析了包,它沒有 lib 文件夾,谷歌開發者控制台警告消失了,但我如何為這種情況構建 64 位和 32 位支持庫?

您需要x86_64armb64-v8a .so文件才能支持 64 位。 你不能在 Android Studio 中構建它們。 這是原生庫。 您正在使用的庫的依賴項必須針對這些處理器架構重新構建。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM