欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

如何為安卓應用提供64位原生的支持?

林雅南2年前17瀏覽0評論

作為Android開發(fā)者,不請自來

根據GooglePlay的政策,從2019年8月開始,所有在Play上架的新應用和已有應用的更新都必須包含原生64位版本,也就是說如果你的應用不支持64位CPU架構,可能會慘遭下架。

那么我們應當如何檢測自己的應用是否支持64位CPU呢?

首先需要檢查您的應用是否使用了任何原生代碼。如果您的應用符合以下情況,便是使用了原生代碼:

  • 使用了任何C/C++(原生)代碼。
  • 與任何第三方原生庫關聯(lián)。
  • 通過使用原生庫的第三方應用構建程序構建而成。

如果你有使用這三類,比如你的應用實現了JNI的一些參數,又或者關聯(lián)使用了一些第三方的SDK,他們很可能就存在使用JNI的問題。

要確定應用是否包含64位庫,最簡單的方法就是檢查APK文件的結構。在編譯時,APK會與應用所需的所有原生庫打包在一起。原生庫會根據ABI而存儲在不同的文件夾中。您的應用無需支持所有64位架構,但對于您支持的每種原生32位架構,則應用都必須包含相應的64位架構。

對于ARM架構,32位庫位于armeabi-v7a中。對應的64位庫位于arm64-v8a中。

對于x86架構,請查找x86(32位)和x86_64(64位)。

當然,還有很多的手段是可以自查的

使用APK分析器查找原生庫

從菜單中依次選擇Build>AnalyzeAPK…


  1. 選擇您要評估的APK。
  2. 查看lib文件夾,您可以在其中找到所有“.so”文件。如果在您的應用中找不到任何“.so”文件,則說明該應用已經準備好相應的庫,您無需采取進一步措施。如果您看到armeabi-v7ax86,則說明您有32位庫。

  3. 檢查是否在arm64-v8ax86_64文件夾中也有類似的“.so”文件。

  4. 如果您沒有任何arm64-v8ax86_64庫,則需要更新編譯流程以開始在APK中編譯并打包相應工件。

  5. 如果您看到32位和64位的庫均已打包到軟件包中,則可以跳至在64位設備上測試應用。

在解壓縮的APK中查找原生庫

將APK解壓后,在libs下也可以查看是否有32或者64位的so

總結

所以如何為安卓應用提供64位原生的支持?首先如果你的應用沒有使用到任何32位的CPU指令集,那么你無需操作,但是如果你的應用支持32位的CPU指令集,那你必須支持64位,所以在編譯32位的時候你應該再編譯64位的支持so才行

希望我的回答對你有所幫助,謝謝。