【问题标题】:How to reduce the apk size of my Android app with openCv library integrated如何通过集成的 openCv 库减小我的 Android 应用程序的 apk 大小
【发布时间】:2017-02-03 07:34:42
【问题描述】:

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

场景:我正在构建一个使用 opencv 库的 Android 应用程序。当我构建 APK 文件时,apk 的大小为“66”MB,这对我的应用来说太大了。我使用的是最新版本的 OpenCV

分析:当我分析 apk 文件时,我可以看到由于 amr64、armeabi、mips、x86 等所有架构中的 'libopencv_java3.so' 文件,大小太大。如果我删除所有这些文件并构建 APK,然后大小仅为 7 MB,仅适用于目标设备中安装的 OpenCVManager

问题:我不希望我的应用用户安装另一个应用 (OpenCVManager) 来运行我的应用。所以,只是想知道,在没有 OpenCVManager 帮助的情况下,有哪些可能的解决方案可以减小应用程序的 apk 大小以使其正常工作?

【问题讨论】:

  • 您找到更好的解决方案了吗?如果是,请分享。

标签: android opencv apk


【解决方案1】:

您可以像这样在 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/

【讨论】:

  • 如果我们使用的是android app bundle,我认为不需要ABI拆分吗?
【解决方案2】:

使用 proguard 来混淆、缩小、缩减资源。只需确保阅读 OpenCV 的文档以了解其 proguard 规则,为未使用的资源运行 android lint。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-22
    • 2023-04-04
    • 2014-09-25
    • 2018-12-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-02
    • 1970-01-01
    相关资源
    最近更新 更多