項目。屬性?此文檔用於打開項目。是不是很迷惑?
proguard-project.txt?該文件記錄了代碼混淆的屬性。
若要打開模糊處理,只需將。
# proguard . config = $ { SDK . dir }/tools/proguard/proguard-Android . txt:proguard-project . txt“只需刪除“#“。
關於proguard-project.tx?混淆的屬性:
通常情況下,我們只需要做上述步驟即可滿足要求。如果有壹些特殊要求,並且壹些類或jar包不需要混淆,此時我們需要修改proguard-project.txt文件。以下是在網上搜索的網友分享的經歷:
1.在proguard-project.txt文件中添加不需要混淆的類和第三方jar包?
這是壹個不需要在自己的包中混淆的類。如果某些類調用jni,則不需要混淆,否則會出錯。此外,如果其他項目作為庫引入到項目中,這些項目的某些類不應混淆。
這是為了防止項目中的第三方罐子被混淆?
此外,添加上述文字,否則控制臺中將報告警告警告。
2.還有其他經歷:
-優化通過5級壓縮級別
-dontusemixedcaseclassnames在混淆時不會產生各種類名。
-dontskipnoppubliclibraryclasses指定不應忽略非公共* * *庫類。
-未經預先驗證,請勿預先驗證。
-冗長
優化!代碼/簡化/算術!field/*,!分類/合並/*優化
-keep public class * extend Android . app . activity不混淆,保持不變。
-保留公共類*擴展android.app.Application
-保留公共類*擴展android.app.Service
-保持公共類*擴展Android . content . broadcast receiver
-保持公共類*擴展Android . content . content provider
-保持公共類*擴展Android . app . backup . backupagenthelper
-保持公共類*擴展android.preference.Preference
-保留公共類com . Android . vending . licensing . ilisensingservice
-保留公共抽象接口com.asqw.android.Listener{
公共保護<。方法& gt;所有方法都不會混淆。
}
-保留公共類com.asqw.android{
public void Start(Java . lang . string);這種方法不混亂。
}
-keepclasswithmembernames class * {如果所有指定的類成員都存在(在壓縮步驟之後),則保護指定的類和類成員的名稱。
本地& lt方法& gt;
}
-keepclasswithmembers class * {保護指定的類和類成員,前提是所有指定的類和類成員都存在。
公共& ltinit & gt(android.content.Context,Android . util . attributeset);
}
-keepclasseswithmembers class * {
公共& ltinit & gt(android.content.Context,android.util.AttributeSet,int);
}
-keep class members class * extend Android . app . activity {保護指定類的成員,如果此類受到保護,它們將得到更好的保護。
public void *(Android . view . view);
}
-keepclassmembers枚舉* {
public static * *【】values();
public static * * value of(Java . lang . string);
}
-keep class * implementandroid . OS . parcelable {保護指定的類文件和該類的成員。
public static final Android . OS . parcelable $ Creator *;
}