アプリにPDFレポートの表示をサポートするために、このAndroidPdfViewer libraryを含めました。 APKサイズが4.7Mbから20.1Mbに大幅に増加します。barteksc/AndroidPdfViewer大規模なAPKサイズ
このサイズを縮小する方法はありますか?これを助けたり解決したりするために、どこで何を修正するべきかを教えてください。
私はproguardに精通しており、合理的な成功を収めて自分のアプリを設定しています。
アプリにPDFレポートの表示をサポートするために、このAndroidPdfViewer libraryを含めました。 APKサイズが4.7Mbから20.1Mbに大幅に増加します。barteksc/AndroidPdfViewer大規模なAPKサイズ
このサイズを縮小する方法はありますか?これを助けたり解決したりするために、どこで何を修正するべきかを教えてください。
私はproguardに精通しており、合理的な成功を収めて自分のアプリを設定しています。
なぜapkが非常に大きいのですか?
Android PdfViewerはPdfiumAndroidに依存しています。PdfiumAndroidは、多くのアーキテクチャでネイティブライブラリ(ほぼ16 MB)が設定されています。 Apkには、市販されているすべてのデバイスで実行するために、このライブラリをすべて含める必要があります。幸い、Google Playでは複数のapkをアップロードできます。アーキテクチャごとに1つあなたのアプリケーションを自動的に複数のAPKに分割する良い記事があります。利用可能なのはhereです。最も重要なセクションは、複数のAPKの作成とバージョンコードの処理をAPK分割で改善することですが、記事全体を読む価値があります。アプリケーションでこれを行うだけで、PdfiumAndroidをフォークする必要はありません。
あなたはこれを行うことによって、あなたは以前よりも少ない10メガバイトまでのAPKのサイズを小さくすることができ、異なるデバイスのための複数のAPKを生成する必要があります。それを行う方法についての詳しい説明はこちらhttps://youtu.be/bP05Vpp49hs
android{
.....
splits {
abi {
enable true
reset()
include 'x86_64', 'x86', 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'mips'
universalApk false
}
}
.....
}
ext.versionCodes = ['armeabi': 1, 'armeabi-v7a': 2, 'arm64-v8a': 3, mips: 4, 'x86': 5, 'x86_64': 6]
import com.android.build.OutputFile
// For each APK output variant, override versionCode with a combination of
// ABI APK value * 1000 + defaultConfig.versionCode
android.applicationVariants.all { variant ->
// assign different version code for each output
variant.outputs.each { output ->
output.versionCodeOverride =
project.ext.versionCodes.get(output.getFilter(OutputFile.ABI)) * 1000 + android.defaultConfig.versionCode
}
}
Whatchビデオ:(アプリケーションモジュール)をbuild.gradleするコードの下に追加します。
コメントがいっぱい – Gahan