Android导入第三方jar包,proguard混淆脚本(屏蔽警告,不混淆第三方包)

本文介绍了一种在Android项目中导入第三方jar包并进行proguard混淆的方法。通过特定的配置脚本,可以实现对第三方包的有效保护,避免混淆过程中出现错误或警告。具体配置包括忽略警告、指定第三方类库及保持某些类不受混淆影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android导入第三方jar包,proguard混淆脚本(屏蔽警告,不混淆第三方包)

 

最近1个项目中 需要导入第三方包,混淆时用到了如下脚本,可屏蔽警告,不混淆第三方包指定内容。

非常有效

 

proguard.cfg 文件

 

-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-ignorewarnings //这1句是屏蔽警告,脚本中把这行注释去掉
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

//这1句是导入第三方的类库,防止混淆时候读取包内容出错,脚本中把这行注释去掉

-libraryjars libs/mmbilling.jar

-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

-keepclasseswithmembernames class * {
    native <methods>;
}

-keepclasseswithmembernames class * {
    public <init>(android.content.Context, android.util.AttributeSet);
}

-keepclasseswithmembernames class * {
    public <init>(android.content.Context, android.util.AttributeSet, int);
}

-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

-keep class * implements android.os.Parcelable {
  public static final android.os.Parcelable$Creator *;
}

 

//这4句是不混淆第三方包中的指定内容,脚本中把这行注释去掉

-keep class com.ccit.** {*; }  
-keep class ccit.** { *; }
-keep class com.aspire.**
-keep class mm.vending.**

 

http://ophir.blog.51cto.com/1741965/784551
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值