file ->new module
在your_module的lib中加入你是用的第三方包
在build gradle
中加入

 //==============以下是要添加的内容======================//task to delete the old jar 这个表示将会删除这个目录下的*.jar名称的旧版本task deleteOldJar(type: Delete) {    delete 'build/libs/komlin-core.jar'}//task to export contents as jar 将from(*)该目录下的文件复制到release/下 并更改名称为Bsdiff.jar task exportJar(type:Copy) { from('build/intermediates/bundles/debug/') into('build/libs/') include('classes.jar')   //Rename the jar     rename('classes.jar', 'xx-core.jar') }exportJar.dependsOn(deleteOldJar, build)
buildTypes {    release {        minifyEnabled true //改的就是这里 是否混淆        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'    }}
在proguard-rules.pro 修改混淆规则
-optimizationpasses 5          # 指定代码的压缩级别-dontusemixedcaseclassnames   # 是否使用大小写混合-dontskipnonpubliclibraryclasses-dontpreverify           # 混淆时是否做预校验-verbose                # 混淆时是否记录日志-ignorewarnings   #屏蔽警告-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*  # 混淆时所采用的算法#保持io.netty.**这个包里面的所有类和所有方法不被混淆-dontwarn io.netty.**#混淆jar的时候一定要配置,不然会把没有用到的代码全部remove-dontshrink#-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 方法不被混淆    native ;}#-keepclasseswithmembers class * {   # 保持自定义控件类不被混淆#    public (android.content.Context, android.util.AttributeSet);#}#-keepclasseswithmembers class * {# 保持自定义控件类不被混淆#    public (android.content.Context, android.util.AttributeSet, int);#}#-keepclassmembers class * extends android.app.Activity {  # 保持自定义控件类不被混淆#    public void *(android.view.View);#}-keep class komlin.com.your.KomlinUtils{    public *;}-keep interface komlin.com.your.KomlinSocketCallBack{       *;}-keep class  komlin.com.your.KomlinClient{    public *;}-keepclassmembers enum * {     # 保持枚举 enum 类不被混淆 public static **[] values(); public static ** valueOf(java.lang.String);}

点击Gradle projects
选你要打包的模块 双击exportJar 就生成了

更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. Android中在代码中设置控件的宽和高
  3. GPS在Android的使用
  4. 【Android(安卓)开发教程】使用Intent传递数据
  5. Android(安卓)Studio 配置JNI快速生成头文件
  6. Android(安卓)用纯代码实现复杂界面
  7. android将path拆分为多个path
  8. android activity-alias 的作用
  9. 《第一行代码-Android》学习笔记(八)

随机推荐

  1. android中fragment之间传值
  2. Android(安卓)比Timer更好方法
  3. android webview读取本地相册时“Not all
  4. Android(安卓)访问权限许可大全
  5. Android(安卓)O u-blox gps移植
  6. Android-- 输入法键盘控制
  7. Android(安卓)播放音乐的service
  8. Android(安卓)倒计时控件
  9. httplive流媒体播放(m3u8)
  10. [置顶] android中横竖屏幕的处理