プロジェクトにAndroidサポートライブラリを追加していますが、結果のAPKファイルのサイズがかなり大きくなっていることに気付きました。
私がやろうとしているのは、Proguardを使用して、使用していないライブラリ内のクラス、たとえばバックワード互換の通知ビルダークラスを削除することです(実際、Support libから何も使用せずにこれをテストしたので、削除しました私の/libsフォルダーにあります)。
私のproguard.cfgは、 (実際には難読化する必要がないので)<sdktools>\tools\proguard\proguard-android.txt自分で追加したものですが、.APKファイルがこれ以上小さくなることはありません。-dontobfuscate私のproguard.cfgは以下のとおりです。
#これはProGuardの構成ファイルです。
#http://proguard.sourceforge.net/index.html#manual/usage.html
-dontobfuscate
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-詳細
#最適化はデフォルトでオフになっています。Dexはコードの実行が好きではありません
#ProGuardを介して、手順の最適化と事前検証を行います(
#これらの最適化自体)。
-最適化しない
-未確認
#最適化を有効にしたい場合は、
#独自のプロジェクト構成ファイルに最適化フラグを含めます。
#代わりに、
#あなたのこのファイルの代わりに「proguard-android-optimize.txt」ファイル
#project.propertiesファイル。
-keepattributes*アノテーション*
-パブリッククラスcom.google.vending.licensing.ILicensingServiceを維持します
-パブリッククラスcom.android.vending.licensing.ILicensingServiceを維持します
#ネイティブメソッドについては、http://proguard.sourceforge.net/manual/examples.html#nativeを参照してください。
-keepclasseswithmembernames class * {
ネイティブ;
}
#アニメーションが引き続き機能するように、ビューにセッターを保持します。
#http://proguard.sourceforge.net/manual/examples.html#beansを参照
-keepclassmembers public class * extends android.view.View {
void set *(***);
*** 得る*();
}
#XML属性onClickで使用できるメソッドをActivityに保持したい
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
#列挙クラスについては、http://proguard.sourceforge.net/manual/examples.html#enumerationsを参照してください。
-keepclassmembers列挙型*{
public static ** [] values();
public static ** valueOf(java.lang.String);
}
-keep class *android.os.Parcelable{を実装します
public static final android.os.Parcelable $ Creator *;
}
-keepclassmembersクラス**。R$* {
public static;
}
#サポートライブラリには、新しいプラットフォームバージョンへの参照が含まれています。
#このアプリが古いものに対してリンクしている場合に備えて、それらについて警告しないでください
#プラットフォームバージョン。私たちはそれらについて知っています、そしてそれらは安全です。
-android.support。**に警告しないでください