Adnroid studio生成混淆的jar包方法
来源:互联网 发布:网络机顶盒主板维修 编辑:程序博客网 时间:2024/05/17 07:55
Adnroid studio生成混淆的jar方法
1. 概述
以下为android studio 导出jar包的流程
2.打包jar步骤
- 在项目中新建一个Module并选择选择Android Libraray
File-New-New Modele-Android Libraray - 需要生成jar的源文件java都放在新建的Library中
- 配置Library build.gradle
- 配置混淆文件
3. 详细步骤
3.1 配置Library的build.gradle文件
apply plugin: 'com.android.library'android { compileSdkVersion 25 buildToolsVersion "25.0.3" defaultConfig { minSdkVersion 15 targetSdkVersion 25 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }}dependencies { compile fileTree(include: ['*.jar'], dir: 'libs')}//=======生成jar包脚本 start=============================================def SDK_BASENAME = "httpUtil";def SDK_VERSION = "_V1.0";def sdkDestinationPath = "build";//生成jar存放目录//打包release目录下的classes.jar(开启混淆后这个jar就是混淆的源码)----注意由于as版本原因有的在default目录def releaseJar = file('build/intermediates/bundles/release/classes.jar')//打包debug目录下的classes.jardef debugJar = file('build/intermediates/bundles/debug/classes.jar')//将libs目录下的gson打入jar包def thirdPartyJar = file('libs/gson-2.8.0.jar')//打包jar前先删除原先的jartask deleteBuild(type: Delete) { delete sdkDestinationPath + SDK_BASENAME + SDK_VERSION + ".jar"}task makeJar(type: Jar) { from zipTree(releaseJar)//导出混淆的jar //from zipTree(debugJar)//导出未混淆的jar //from zipTree(thirdPartyJar)将第三方jar包打入jar包 //from fileTree(dir: 'src/main', includes: ['assets/**'])//将assets目录打入jar包 exclude('**/BuildConfig.class')//排除不必要的class文件 baseName = SDK_BASENAME + SDK_VERSION destinationDir = file(sdkDestinationPath)}makeJar.dependsOn(deleteBuild, build)//=======生成jar包脚本 end=============================================//运行脚本//1.命令行方式:在Terminal输入gradlew makeJar//2.图形界面方式:Gradle :ModuleName Tasks other markJar
3.2 配置Library的混淆文件
#============以下为自己添加的混淆规则======================#-libraryjars 'C:\Program Files\Java\jre1.8.0_121\lib\rt.jar'#忽略警告#-ignorewarnings#不要压缩(这个必须,因为开启混淆的时候 默认 会把没有被调用的代码 全都排除掉)-dontshrink#避免混淆泛型 如果混淆报错建议关掉#-keepattributes Signature#============保持相应的类不被混淆===========================#保持BuildConfig不被混淆(因为混淆之后就无法在导出jar时排除该类)#同理 相应的TestActivity以及TestService也需要保持不被混淆-keep class com.kok.http.BuildConfig{public *;}#保持调用接口不被混淆-keep class com.kok.http.core.HttpUtils{public *;}-keep class com.kok.http.core.HttpErrorCode{public *;}-keep class com.kok.http.callback.**{*;}
3.3 其他
android studio 使用命令打包 需配置Gradle环境变量
例如:
变量名:GRADLE_HOME
变量值:C:\Users\Administrator.gradle\wrapper\dists\gradle-2.14.1-all\8bnwg5hd3w55iofp58khbp6yv\gradle-2.14.1
然后在Path中添加GRADLE_HOME
4. 相关流程截图
4.1 配置Gradle
4.2 配置混淆文件
4.3 打包jar
阅读全文
0 0
- Adnroid studio生成混淆的jar包方法
- android studio 生成混淆的jar包
- android studio如何生成带混淆的jar包
- Android studio生成jar包并混淆
- Android Studio生成混淆jar包
- Android Studio生成jar包的方法
- 使用android studio生成jar包,以及带混淆的jar
- Android Studio 打Jar包和混淆的Jar包
- android studio module 如何生成jar包并进行混淆
- Android studio 混淆jar包
- 混淆Android JAR包的方法
- 混淆Android JAR包的方法
- 混淆Android JAR包的方法
- 混淆Android JAR包的方法
- android混淆生成jar包
- Android studio和Eclipse分别生成jar包并混淆jar包
- Android studio和Eclipse分别生成jar包并混淆jar包
- Android studio和Eclipse分别生成jar包并混淆jar包
- struts2中的默认包struts-default有什么作用?
- Mybatis执行过程中报UncategorizedSQLException异常
- 九个console命令,调试js
- 02-Struts2-struts2 <s:if>标签以及 #,%{},%{#}的使用方法
- Django学习笔记1-Eclipse Django开发环境搭建
- Adnroid studio生成混淆的jar包方法
- 移动端事件介绍
- mac与windows键盘对应表
- Android 必知必会
- Java注解@interface的用法【转】
- excel入门,如何玩转excel,你早该这么玩Excel笔记1
- NYOJ-剑客决斗-(动态规划)
- ZereneStacker 1.04 T201706121240 for Windows / Mac 焦点堆叠软件 简体中文 最新版汉化
- js 的 onblur 事件