Skip to content
This repository has been archived by the owner on Apr 23, 2024. It is now read-only.

APK стал весить на 6 мб больше #2

Closed
Snowmaze-dev opened this issue Oct 4, 2021 · 2 comments
Closed

APK стал весить на 6 мб больше #2

Snowmaze-dev opened this issue Oct 4, 2021 · 2 comments

Comments

@Snowmaze-dev
Copy link

Snowmaze-dev commented Oct 4, 2021

Раньше пробовал Cronet отдельно и размер apk рос буквально на 200 кб, сейчас размер apk растёт с 2 мб до 8 мб. В частности из-за либ Cronet, которые 12мб в распакованном состоянии весят. Так и должно быть?
image

@Snowmaze-dev
Copy link
Author

Snowmaze-dev commented Oct 4, 2021

Вижу они в knet/cronet/src/main/jniLibs лежат, но они серьёзно так нужны?

@AndrewChupin
Copy link
Contributor

AndrewChupin commented Oct 4, 2021

Добрый день, APK действительно становится больше, в основном, за счет динамических библиотек.

Для Release APK это.
ArchivePathEntry: pathPrefix="", path="/lib/x86/libcronet.93.0.4577.82.so" - 2MB
ArchivePathEntry: pathPrefix="", path="/lib/arm64-v8a/libcronet.93.0.4577.82.so" - 2MB
ArchivePathEntry: pathPrefix="", path="/lib/armeabi-v7a/libcronet.93.0.4577.82.so" - 1.9 MB

Они нужны, т.к. в них находится вся логика работы с quic и другими network протоколами, в данный момент мы работаем над тем, чтобы они стали меньше.

Что можно сделать?
Debug:
Размер APK не должен вам мешать при разработке, а так же не должен увеличивать время вашей компиляции, т.к. все gradle задачи, связанные с нативными библиотеками занимают достаточно мало времени, а так же кешируются(если у вас включен build cache).
Или вы можете сделать flavour для разных типов процессоров:

// Kotlin Gradle DSL
flavorDimensions += listOf("abi")
productFlavors {
    setup("arm") {
        dimension = "abi"
        ndk {
            abiFilters += setOf("armeabi-v7a", "arm64-v8a")
        }
    }
    setup("x86") {
        dimension = "abi"
        ndk {
            abiFilters +=setOf("x86")
        }
    }
}

Release:
Вы можете использовать ABB, вместе APK, для публикации в Google Play, тогда размер APK будет увеличен только на 2 MB, т.к. для конкретного телефона нужна только одна версия библиотеки(arm7 arm8 или x86) в зависимости от типа CPU.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants