我正在使用OpenCV构建原型应用程序。该应用程序目前没有做任何事,但其apk文件大小为6MB。大小是普通应用程序大小的10倍。有没有办法减少这个尺寸?
更新:我发现只要我在JNI / C ++中使用Android原生相机和OpenCV接口,文件大小就可以取决于您在库中使用的方法。目前我的测试应用程序使用简单的过滤器,大小为700K。
答案 0 :(得分:6)
您可以解压缩.apk文件,并在opencv_java.so
文件夹下找到两个版本的lib
。每个都约为5.6Mb。
实际上opencv_java.so
是OpenCV库。将其尺寸减小到4Mb是一项艰巨的任务。但是,如果您不需要支持旧的ARMv5和ARMv6设备,则可以从.apk中轻松删除opencv_java.so
的第二个副本。 (在没有armeabi OpenCV库的情况下构建应用程序的最简单方法是从OpenCV包中删除所有libs/armeabi
文件夹并重建应用程序。)
答案 1 :(得分:5)
如果您使用Android应用的Android Studio goto build.gradle并在android {}
productFlavors {
x86 {
ndk {
abiFilter "x86"
}
}
armv7a {
ndk {
abiFilter "armeabi-v7a"
}
}
}
这将允许您为单独的体系结构创建单独的apk,从而减少apk的大小。
答案 2 :(得分:2)
您可以使用ProGuard从OpenCV中删除您未使用的代码(来自“二进制”)。