android studio 打包jar 及混淆
来源:互联网 发布:mac怎么玩手游模拟器 编辑:程序博客网 时间:2024/06/10 03:16
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 <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);#}-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 0
- android studio 打包jar 及混淆
- Android studio 代码混淆及打包apk
- Android studio 代码混淆及打包apk
- Android Studio混淆打包忽略第三方jar包配置
- 如何使用Android Studio打包混淆的Jar
- Android Studio 打包成jar文件并混淆代码
- 如何使用Android Studio打包混淆的Jar
- Android Studio 混淆打包
- android studio混淆打包
- Android studio 打包、混淆
- android studio混淆打包
- Android studio 打包混淆
- android studio 混淆打包
- Android Studio 混淆打包
- Android Studio 混淆打包
- android studio 混淆打包
- Android Studio 混淆打包
- Android Studio混淆打包
- iOS 底层解析weak的实现原理(包含weak对象的初始化,引用,释放的分析)
- 我国首艘货运飞船天舟一号即将启程,为天宫二号“加油”
- JavaScript对象
- Unity官方手册翻译之旅---Documentation versions
- 浅谈移动优先的跨终端Web 解决方案
- android studio 打包jar 及混淆
- Phthon自定义模块并导入
- CodeForces 588A. Duff and Meat
- MySQL 深入理解索引B+树存储 (二)
- 属性动画_展开菜单栏
- 初探nginx(搭建)
- session的removeAttribute()和invalidate()的区别
- NVMe和AHCI模式的区别
- 除了iPhone,谷歌还要把AI塞进Photo和厨房