2017-02-20 11 views
1

アプリにPDFレポートの表示をサポートするために、このAndroidPdfViewer libraryを含めました。 APKサイズが4.7Mbから20.1Mbに大幅に増加します。barteksc/AndroidPdfViewer大規模なAPKサイズ

このサイズを縮小する方法はありますか?これを助けたり解決したりするために、どこで何を修正するべきかを教えてください。

私はproguardに精通しており、合理的な成功を収めて自分のアプリを設定しています。

答えて

1

なぜapkが非常に大きいのですか

Android PdfViewerはPdfiumAndroidに依存しています。PdfiumAndroidは、多くのアーキテクチャでネイティブライブラリ(ほぼ16 MB)が設定されています。 Apkには、市販されているすべてのデバイスで実行するために、このライブラリをすべて含める必要があります。幸い、Google Playでは複数のapkをアップロードできます。アーキテクチャごとに1つあなたのアプリケーションを自動的に複数のAPKに分割する良い記事があります。利用可能なのはhereです。最も重要なセクションは、複数のAPKの作成とバージョンコードの処理をAPK分割で改善することですが、記事全体を読む価値があります。アプリケーションでこれを行うだけで、PdfiumAndroidをフォークする必要はありません。

API:https://github.com/barteksc/AndroidPdfViewer

0

あなたはこれを行うことによって、あなたは以前よりも少ない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するコードの下に追加します。

+0

コメントがいっぱい – Gahan

関連する問題