android studio 打包jar 及混淆
2017-10-27 20:02
429 查看
file ->new module
在your_module的lib中加入你是用的第三方包
在build gradle
中加入
点击Gradle projects
选你要打包的模块 双击exportJar 就生成了
在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. 4000 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 就生成了
相关文章推荐
- android studio 代码混淆打包错误 The same input jar is specified twice
- Android Studio下使用gradle 导出jar包,并打包assets目录,以及混淆代码
- 如何使用Android Studio打包混淆的Jar
- android studio 代码混淆打包错误 The same input jar is specified twice
- Android studio3.1.3 打包jar,混淆
- Android Studio 打包成jar文件并混淆代码
- Android Studio 打包成jar文件并混淆代码
- android Studio 混淆打包jar,已经添加其他文件到jar
- 如何使用Android Studio打包混淆的Jar
- android studio 将引用第三方jar和.so的项目打包jar并混淆
- android studio 将引用第三方jar和.so的项目打包jar并混淆
- Android Studio(十一):代码混淆及打包apk
- Android——打包篇:Android Studio将代码打包成jar包
- Android studio打包混淆编译的时候出现异常:transformClassesAndResourcesWithProguardForRelease
- Android Studio 混淆打包
- Android Studio和eclipse混淆打包总结
- Android studio 导出jar包并混淆和aar
- ant build.xml 打包应三方jar注意的问题与混淆R的写法
- eclipse Android jar包的打包与混淆
- android studio 使用gradle 导出jar包,并打包assets目录