Как подавить Gradle от автоматического преобразования vectorDrawable в PNG? - PullRequest
0 голосов
/ 08 января 2019

Я нацеливаю свое (первое) приложение на API23 и выше (minSDKVersion - 23), используя почти исключительно векторные рисования (импортированные из SVG). После сборки, проверяя анализатор APK, все vectorDrawables были преобразованы в PNG в 6 различных разрешениях , что излишне увеличивает размер APK. Из вводных статей по Android Studio 1.4 я предполагаю, что это происходит с целевым API <21 для нисходящей совместимости, однако я даже не хочу этой совместимости. </p>

Насколько я понимаю, я мог бы управлять этим с помощью aaptOptions в настройках gradle, но я не уверен, как это сделать. Или использование appcompat и support-v4 поощряет сборку к API <21, обеспечивая тем самым автоматическое преобразование XML в PNG? Как остановить преобразование векторных рисунков в растровые изображения в Gradle? </p>

Я уже переключил все настройки компилятора на минимум 23, compileSDKVersion и targetSDKVersion равны 28. Все PNG удаляются из папок res, все остальные растровые изображения конвертируются в webp.

compileSdkVersion 28
defaultConfig {
    minSdkVersion 23
    targetSdkVersion 28
    versionCode 18
    versionName "0.9.5"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
buildToolsVersion '28.0.3'
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:support-v4:28.0.0'
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.google.android.gms:play-services-ads:17.1.2'
    implementation 'com.dynamitechetan.flowinggradient:flowinggradient:1.1'
}

Ожидаемый результат заключается в том, что в APK есть только vectordrawables и несколько изображений webP, что уменьшает общий размер. Вместо этого vectordrawables включены в формате png в APK.

...