jar包混淆 以及 Android代码混淆

一、准备
1.需要混淆的jar包——本例:conch_3.jar
2.启动ProguardGui工具(双击sdk\tools\proguard\bin\proguardgui.bat)
3.根据需求配置configuration——本例:test.pro(如下)

-injars 'G:\TestDex1\libs\conch_3.jar'
-outjars 'E:\conch_out.jar'
-libraryjars 'E:\ProgramFiles\android-sdk\platforms\android-19\android.jar'
#
-dontusemixedcaseclassnames #不使用大小写混合
-keepattributes *Annotation*
#
-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 class com.test.wrapper.** {*;}
-keep class com.test.ExportJavaFunction {*;}
-keep class com.test.LYEngine {*;}
-keep class com.test.ProcessInfo {*;}
#
-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);
}

4.如果混淆后又需要引用内部类需要
-keepattributes InnerClasses
-keep class com.test.ILayaExternalInterface$* { *; } #某文件下的内部类

二、操作
1.准备完成后,在点击右边Proguard按钮,点击Load configration按钮,导入上面配置好的混淆文件。
2.然后点击右边Process按钮,再次点击下面的View Configuration按钮,能看到正确的配置文件。
3.最后点击下面的Process按钮,进行Jar的混淆。
出现successfully提示,则混淆完毕。

——–由此jar混淆完毕——-

附录:
jar包dex化

dx --dex --output=F:\test\AndroidTestProject\assets\out.jar F:\test\AndroidTestProject\assets\bin\classes F:\test\AndroidTestProject\assets\libs
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值