android studio 生成混淆的jar包

注:jar混淆包要把对外的接口全部保护起来,混淆对内的代码

说明:以下配置代码也是引用自别处,但具体地址找不到了。

第一步:配置build.gradle


def SDK_BASENAME = "lib_iso8583";
def SDK_VERSION = "_v1.0.0";
def sdkDestinationPath = "build/outputs/jar/";
def zipFile = file('build/intermediates/bundles/default/classes.jar')

task deleteBuild(type: Delete) {
    delete sdkDestinationPath + SDK_BASENAME + SDK_VERSION + ".jar"
}

task makeJar(type: Jar) {
    from zipTree(zipFile)
    from fileTree(dir: 'src/main', includes: ['assets/**']) // 打包assets目录下的所有文件
    baseName = SDK_BASENAME + SDK_VERSION
    destinationDir = file(sdkDestinationPath)
}

makeJar.dependsOn(deleteBuild, build)

第二步:设置代码混淆保护
根据实际情况


#忽略警告
-ignorewarnings
#保证是独立的jar,没有任何项目引用,如果不写就会认为我们所有的代码是无用的,从而把所有的代码压缩掉,导出一个空的jar
-dontshrink
#保护泛型
-keepattributes Signature

-optimizationpasses 5
-dontusemixedcaseclassnames

-keep class com.centerm.iso8583.bean.**{*;}
-keep enum com.centerm.iso8583.enums.**{*;}
-keep class com.centerm.iso8583.impl.**{*;}
-keep interface com.centerm.iso8583.inf.**{*;}
-keep class com.centerm.iso8583.parse.**{*;}
-keep class com.centerm.iso8583.ISOConfig
-keep public class * extends android.app.Fragment
-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 * extends android.support.v4.**
-keep public class com.android.vending.licensing.ILicensingService

-keep class com.centerm.iso8583.util.BCDUtil{
    public *;
}
-keep class com.centerm.iso8583.MessageFactory{
    public *;
}
-keep class com.centerm.iso8583.IsoMessage{
   public byte[] getAllMessageByteData();
}

第三步:在terminal中执行:gradlew makeJar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值