如何通过集成openCv库减少我的Android应用的apk大小

时间:2017-02-03 07:34:42

标签: android opencv apk

我已经搜索了很多,但没有得到解决方案,因此发布了这个。

场景:我正在构建一个使用opencv库的Android应用。当我构建APK文件时,apk的大小是' 66' MB对于我的app.I' m使用最新版本的OpenCV

太多了

分析:当我分析apk文件时,我可以看到由于“libopencv_java3.so”而导致的尺寸过大。所有架构中的文件,如amr64,armeabi,mips,x86等。如果我删除所有这些文件并构建APK,那么大小只有7 MB,这只能用于安装在目标设备中的OpenCVManager

问题:我不希望我的应用用户安装其他应用(OpenCVManager)来运行我的应用。所以,只是想知道,在没有OpenCVManager帮助的情况下,减少应用程序的apk大小的所有可能的解决方案是什么?

2 个答案:

答案 0 :(得分:8)

您可以在build.gradle文件中启用ABI拆分,如下所示:

    android {
    // Some other configuration here...

    splits {
        abi {
            enable true
            reset()
            include 'x86', 'armeabi', 'armeabi-v7a', 'mips'
            universalApk false
        }
    }
}

请参阅此链接https://realm.io/news/reducing-apk-size-native-libraries/

答案 1 :(得分:0)

使用proguard来混淆,缩小,缩小资源。只需确保通过OpenCV读取他们的proguard规则的文档,为未使用的资源运行android lint。