在我们的
Android应用程序中,我们有两个.so文件:一个用于x86,另一个用于ARM.它们非常大,并且将.apk的大小从7 MB增加到11 MB.
由于.so文件是运行时实体,因此它们必须位于.apk文件中.
有没有办法可以减少.so文件的大小或以更好的方式在我的.apk中使用/构建它?
我从这里得到一点http://developer.sonymobile.com/2012/01/31/tips-for-reducing-apk-file-size/,即从本机代码中删除调试符号.
解决方法
Play商店允许您使用
upload separate APKs per CPU architecture.所以你将拥有一个ARM APK和一个x86 APK,而不是一个带有两者的APK.
使用Gradle for Android设置此类APK相对简单 – 为每个架构使用单独的product flavor.我认为在Gradle for Android之外有这样做的方法,虽然我怀疑它涉及更多.
另一种方法是简单地不分发x86 .so.现代x86驱动的Android设备往往具有libhoudini,允许它们使用ARM .so NDK库.但是,与Android模拟器一样,在x86上模拟ARM很慢,因此您需要测试并查看您的应用程序在x86上是否可以接受.
并且,正如Stratton先生所建议的那样,特别是如果这些库是你的库,看看你是否可以修剪库的大小. ProGuard不像剥离Java代码那样剥离本机代码.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。