當前位置:編程學習大全網 - 源碼下載 - android 加入library如何混淆

android 加入library如何混淆

android工程會看到項目有

project.properties?這個文件就是用來開啟項目是否混淆

proguard-project.txt ?這個文件就是記錄了代碼混淆的屬性

要開啟混淆,只需要將project.properties 文件中的

# 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也不需要混淆,不然會出錯。還有如果項目中有其他項目作為library引入,那這些項目的壹些類也不能混淆。

這個是保持項目中的第三方jar不混淆?

另外加上上面幾句話,不然會在控制臺中報warning警告

2.另外還有其他壹些經驗:

-optimizationpasses 5壓縮等級

-dontusemixedcaseclassnames 混淆時不會產生形形色色的類名

-dontskipnonpubliclibraryclasses 指定不去忽略非公***的庫類。

-dontpreverify 不預校驗

-verbose

-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* 優化

-keep public class * extends android.app.Activity  不進行混淆保持原樣

-keep public class * extends android.app.Application

-keep public class * extends android.app.Service

-keep public class * extends android.content.BroadcastReceiver

-keep public class * extends android.content.ContentProvider

-keep public class * extends android.app.backup.BackupAgentHelper

-keep public class * extends android.preference.Preference

-keep public class com.android.vending.licensing.ILicensingService

-keep public abstract interface com.asqw.android.Listener{

public protected <methods>;?所有方法不進行混淆

}

-keep public class com.asqw.android{

public void Start(java.lang.String); 對該方法不進行混淆

}

-keepclasseswithmembernames class * { 保護指定的類和類的成員的名稱,如果所有指定的類成員出席(在壓縮步驟之後)

native <methods>;

}

-keepclasseswithmembers class * { 保護指定的類和類的成員,但條件是所有指定的類和類成員是要存在。

public <init>(android.content.Context, android.util.AttributeSet);

}

-keepclasseswithmembers class * {

public <init>(android.content.Context, android.util.AttributeSet, int);

}

-keepclassmembers class * extends android.app.Activity {保護指定類的成員,如果此類受到保護他們會保護的更好

public void *(android.view.View);

}

-keepclassmembers enum * {

public static **[] values();

public static ** valueOf(java.lang.String);

}

-keep class * implements android.os.Parcelable {保護指定的類文件和類的成員

public static final android.os.Parcelable$Creator *;

}

  • 上一篇:股票中MACD指標怎麽分析?
  • 下一篇:肇源的旅遊名勝
  • copyright 2024編程學習大全網