使用OpenCV时,巨大的apk文件大小

时间:2011-11-27 02:30:12

标签: android opencv filesize

我正在使用OpenCV构建原型应用程序。该应用程序目前没有做任何事,但其apk文件大小为6MB。大小是普通应用程序大小的10倍。有没有办法减少这个尺寸?

更新:我发现只要我在JNI / C ++中使用Android原生相机和OpenCV接口,文件大小就可以取决于您在库中使用的方法。目前我的测试应用程序使用简单的过滤器,大小为700K。

3 个答案:

答案 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中删除您未使用的代码(来自“二进制”)。