當前位置:成語大全網 - 書法字典 - 如何混淆android加入庫

如何混淆android加入庫

android項目將看到這些項目

項目。屬性?此文檔用於打開項目。是不是很迷惑?

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 *;

}