私は1つのAndroid AARライブラリを開発しました。このライブラリは顧客が必要とするすべての機能で構成されています。コードを難読化しにくいように、コードを難読化するために顧客に提供する前にライブラリでproguardを適用します。アンドロイドのAARライブラリにproguardを適用するには?
私は順番に以下の設定を行っている
Click Hereここで言及として、私はこの質問を投稿する前に、それをGoogleで検索し、私はそれだけでライブラリプロジェクトはProGuardのを実行しないことがわかったので、彼らは任意の構成を使用していません私の図書館プロジェクトにプロガードを適用する。
buildTypes {
debug {
shrinkResources false
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
release {
shrinkResources true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
私はproguard-rules.pro
-keepparameternames
-renamesourcefileattribute SourceFile
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
-keep public class * {
public protected *;
}
-keepclassmembernames class * {
java.lang.Class class$(java.lang.String);
java.lang.Class class$(java.lang.String, boolean);
}
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
private static final java.io.ObjectStreamField[] serialPersistentFields;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}
にこのルールを適用しているが、私のデモプロジェクトにライブラリをこのAARを使用した後、適切に慣れるが、コードがアンドロイドに逆コンパイルした後に、それはちょうど見え取得隠されていませんスタジオはメソッドを逆コンパイルするだけでCtrlキーを押しながらそのメソッドをクリックすると、そのメソッドに含まれるすべてのプロットルールがそのライブラリに適用されずに表示されます。
私はアンドロイドに慣れているので、適切な方法を提案するか、間違った手順を教えてください。
[Androidライブラリ(AAR)にプロガイド構成を含める方法](http://stackoverflow.com/questions/30201420/how-to-include-a-proguard-configuration-in-my- android-library-aar) –