我使用Android NDK爲Android編譯了一個應用程序。我有兩個項目。首先 - 是一個帶有ndk libs和jni文件夾的庫。其次 - 我的工作應用程序包括作爲圖書館的第一個項目。我的應用程序的尺寸太大了(30Mb)。我想減少它。我閱讀教程,但他們告訴做基本的選擇,如刪除日誌和未使用的代碼等,但這並不能幫助我。我可以用我所有的.c文件刪除jni文件夾(如果我在最終版本中是正確的,它們是不必要的,因爲它們被編譯爲 .so libs),或者這不會減小apk的大小?或者可能是我應該做點別的?感謝您對我的問題感興趣!Android NDK。減小APK的大小
回答
您也可以檢查任何使用的第三方庫,並查看是否可以禁用任何不必要的擴展。
有一次,我用assimp完全支持所有的裝載機,它增加了超過10MB到我的應用程序。 通過從其中刪除不必要的模塊,結果是少得多的膨脹。
謝謝你的回答。我會檢查這些擴展 –
如果您Application.mk
有行
APP_ABIS = all
或類似,考慮運費單獨的APK爲不同的平臺(armeabi,armeabi-V7A,X86,MIPS)。
技術細節在長度Android - build separate APKs for different processor architectures
這似乎是非常有趣的鏈接,因爲每個平臺的每個lib都有很大的大小。我會檢查鏈接! –
討論您可以啓用的build.gradle文件中像這樣ABI分裂:
android {
// Some other configuration here...
splits {
abi {
enable true
reset()
include 'x86', 'armeabi', 'armeabi-v7a', 'mips'
universalApk false
}
}
}
這將通過更大的減少您的應用程序大小程度。
原因是現在Gradle會在每個CPU上生成一個APK,進一步縮小尺寸!
在我的情況下,它將我的apk文件大小從5.4mb減少到了3.2mb。
你應該看看:
- Reducing your Android APK size When Using Native Libraries:鏈接時間優化
- Redex:Android的字節碼(DEX)優化
- Build Multiple APKs:拆分APK由dentity和建築
- Reduce APK Size:對於減少或移除不必要的資源(您已經在您的問題中啓動了這一個,但在此處僅供參考)
- 1. 使用HoloEveryWhere減小apk的大小
- 2. 如何在原始文件夾中減小.mp3文件的大小以減小Android中.apk文件的大小?
- 3. 請幫助減少Xamarin.Android apk大小
- 4. APK文件大小減少清單
- 5. 如何減少apk中的GMS大小
- 6. android .apk大小增加
- 7. 如何減少Mobilefirst apk大小
- 8. 如何減少apk安裝大小?
- 9. 縮小apk的大小
- 10. 如何減小res包的大小android
- 11. 不能減小開關的大小android
- 12. Android我的APK大小更大50 MB
- 13. 註釋掉一些代碼會減小apk的大小嗎?
- 14. Android JPEG到位圖=大小減小
- 15. 有效APK文件的最小大小
- 16. 減小jdialog的大小
- 17. 減小EditField的大小
- 18. 如何降低的Android的.apk大小
- 19. 安裝的apk大小超過apk的實際大小
- 20. Google Play中的Android APK大小限制
- 21. Sinch Libarary增加Android的大小APK
- 22. 安卓apk文件大小小於20kb
- 23. 如何壓縮我的mp3文件以減小apk文件大小?
- 24. SQL中減小的行大小並沒有減小表的大小
- 25. HTML - 減小頁面大小
- 26. Bootstrap減小字體大小
- 27. 減小函數大小
- 28. PowerShell - 減小圖像大小
- 29. 如何縮小apk文件的大小?
- 30. 如何縮小APK文件的大小?
標準的android版本只複製.so文件。它不會複製任何.c源文件或頭文件。您可能需要調查其他資源的大小,例如藝術品。你可以用'7zip'等工具打開apk文件,並調查哪些文件佔用的空間最大。如果這沒有幫助,您可能需要調查OBB文件的用法,您可以在其中存儲其他數據。 http://developer.android.com/google/play/expansion-files.html – tillaert
謝謝,tillaert。我會嘗試這些解決方案。 –