2016-05-29 74 views
0

因爲Crosswalk超過40mb。我決定分開我的apk減少APK大小...Crosswalk建設不同的Cpu架構APK for x86&arm

我知道如何發佈在谷歌differenk APK Play商店...我readed documantations ...

文件說:

支持多個CPU架構當使用Android NDK,你 可以通過 聲明每個期望架構與APP_ABI可變創建支持多個CPU架構單一APK Application.mk文件中的。

例如,下面是聲明瞭 三種不同的CPU架構支持的Application.mk文件:

APP_ABI:= armeabi armeabi-V7A MIPS APP_PLATFORM:= Android的9

NDK應用Documantation說

Application.mk文件是一個非常小的GNU Makefile片段, 定義了幾個編譯變量。它通常位於 $ PROJECT/jni /中,其中$ PROJECT指向您的應用程序的項目 目錄。另一種方法是將其放在頂級$ NDK/apps /目錄的子目錄 之下。例如: $ NDK/apps // Application.mk這裏是一個短名稱,用於 向NDK構建系統描述您的應用程序。它實際上並沒有進入 您生成的共享庫或您的最終包裝

我對NDK沒有經驗......看了一些視頻...

In this question latest answer告訴

對於手臂你會把這一行Application.mk:

APP_ABI:= armeabi armeabi-V7A

並且爲Intel x86:

APP_ABI:= 86

而且你必須改變AndroidManifest.xml中有每個平臺(按照您提供的 鏈接指令字) 不同的版本。要小心,如果你再次運行cordova build android,它可能會替換平臺/ android的所有內容,並且你的修改將會丟失 。

構建項目使用

platforms \ android \ cordova \ build。bat -release

所以,如果我把我的應用程序與NDK集成在一起,並把APP_ABI變量將拆分apk的CPU架構?

有沒有簡單的方法呢?我需要做額外的步驟嗎?

+1

如果您僅將Crosswalk作爲庫(.so文件+ .jar文件)使用,那麼您所需要做的就是在gradle build腳本中使用apk分割http://tools.android.com/tech-docs/new-建立系統/用戶指南/ apk的分裂 –

+0

真的非常感謝信息:) – Beyaz

回答

0

適用於單一架構的Crosswalk庫將使APK大小增加20M。如果你發現它超過40M,這個庫可能適用於x86和ARM。

如果您使用的是Crosswalk的正式包裝工具,您可以選擇定位架構。如果您使用Crosswalk作爲圖書館參考,您可以從官方網站上單獨下載不同架構的圖書館。

+1

我的問題是,如何分割apk的CPU Arhitecture的手臂和x86 ...例如:將有Croswalk手臂庫爲ARM Cpu arhitecture與x86一樣 – Beyaz