我使用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。我会尝试这些解决方案。 –