0
我面臨一個問題,從長回來混淆android lib項目不是一個android應用程序, 我嘗試使用android proguard GUI但混淆後,我無法使用該jar。如何混淆android庫項目一步一步
請爲我提供步驟指南或任何已解決此問題的鏈接。
在此先感謝..
我面臨一個問題,從長回來混淆android lib項目不是一個android應用程序, 我嘗試使用android proguard GUI但混淆後,我無法使用該jar。如何混淆android庫項目一步一步
請爲我提供步驟指南或任何已解決此問題的鏈接。
在此先感謝..
它保存爲proconf.txt和使用ProGuard貴爲confiuration文件打開並更改輸入和輸出的jar位置..和過程 也改變andoid.jar和支持lib如果位置需要。
-injars 'bishwash/eclipse kepler'
-outjars bishwash/
-libraryjars bishwash/android-sdk-macosx/platforms/android-18/android.jar
-libraryjars 'bishwash/eclipse kepler/android-work/uxcam_lib_new/libs/android-support-v4.jar'
-dontskipnonpubliclibraryclassmembers
-printmapping mapping.txt
-dontusemixedcaseclassnames
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
-keepparameternames
-renamesourcefileattribute SourceFile
-dontpreverify
-verbose
-keepclassmembers class * extends 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();
}
# Keep - Library. Keep all public and protected classes, fields, and methods.
-keep public class * {
public protected <fields>;
public protected <methods>;
}
# Also keep - Enumerations. Keep the special static methods that are required in
# enumeration classes.
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
# Keep names - Native method names. Keep all native class/method names.
-keepclasseswithmembers,allowshrinking class * {
native <methods>;
}
# Keep names - _class method names. Keep all .class method names. This may be
# useful for libraries that will be obfuscated again with different obfuscators.
-keepclassmembers,allowshrinking class * {
java.lang.Class class$(java.lang.String);
java.lang.Class class$(java.lang.String,boolean);
}
-assumenosideeffects class android.util.Log {
public static *** d(...);
public static *** e(...);
}
我已經嘗試過的相同的過程,但在使用特定的類名稱混淆後,使用解編譯器檢查時顯示空白的方法。請給我提供更多的步驟,我的lib有7到8個包,更多的信息將不勝感激... –
再次嘗試與上述完全相同的proguard.txt。它爲我的項目工作。 –
在做了上述步驟之後,在方法邏輯不混淆的情況下,我公開的方法暴露給最終開發者,那邏輯需要重命名..... –