Огромный размер файла apk при использовании OpenCV - PullRequest
2 голосов
/ 27 ноября 2011

Я создаю прототип приложения с помощью OpenCV.Приложение в настоящее время ничего не делает, но его размер файла apk составляет 6 МБ.Размер в 10 раз больше нормального размера приложения.Есть ли способ уменьшить этот размер?

Обновление: Я обнаружил, что, пока я использую собственную камеру Android и интерфейс с OpenCV в JNI / C ++, размер файла может зависеть от методов, которые вы используете в библиотеке,Текущее мое тестовое приложение с простым фильтром имеет размер 700K.

Ответы [ 3 ]

6 голосов
/ 28 ноября 2011

Вы можете разархивировать файл .apk и найти две версии opencv_java.so в папке lib.Каждый из них имеет размер около 5,6 МБ.

На самом деле opencv_java.so - это библиотека OpenCV.И это сложная задача уменьшить его размер даже до 4 Мб.Но вы можете легко удалить вторую копию opencv_java.so из вашего .apk, если вам не нужно поддерживать старые устройства ARMv5 и ARMv6.(Самый простой способ создать ваше приложение без библиотек armeabi OpenCV - это удалить все папки libs/armeabi из пакета OpenCV и перестроить ваше приложение.)

5 голосов
/ 09 февраля 2015

Если вы используете Android Studio, перейдите в build.gradle своего приложения и добавьте следующие строки внутрь android {}

productFlavors {
        x86 {
            ndk {
                abiFilter "x86"
            }
        }
        armv7a {
            ndk {
                abiFilter "armeabi-v7a"
            }
        }
}

Это позволит вам создать отдельный apk для отдельной архитектуры, тем самым уменьшив размер apk на много.

2 голосов
/ 27 ноября 2011

Вы можете использовать ProGuard , чтобы удалить код (из «двоичного кода»), который вы не используете из OpenCV.

...