一.简述
最近工作中,客户项目中出现了一个问题,根据日志可以得知是某个插件出错,需要修改插件代码,只需要修改一行代码就行,但是插件源码找不到了,可能是时间比较久远,但是问题又必须修改,所以只能想办法。
二.如何修改jar
- 导出项目工程
- 找到相关插件Jar
- 通过Android Studio 查看Jar源码
再Src目录下新建 要修改java文件,包名也必须相同
要修改的java文件目录
org.zywx.wbpalmstar.plugin.uexinfocenter.zdtq
在src源码下新建同样的目录- 修改你要修改的源码
以上操作完成之后就完成了源码的修改,将要修改的源码打成jar
三.将Android Studio 中java文件打成jar
在项目的gradle文件中编写,dradle脚本代码
//删除之前的jar
task deleteOldJar(type: Delete) {
//删除存在的
delete 'build/libs/InfoCenter.jar'
}
task makeOneJar(type: org.gradle.api.tasks.bundling.Jar){
// jar的名称
baseName 'InfoCenter'
//从哪里打包class文件
from('build/intermediates/classes/debug/org/zywx/wbpalmstar/plugin/uexinfocenter/zdtq/')
// jar包的目录结构
into('org/zywx/wbpalmstar/plugin/uexinfocenter/zdtq')
//去掉不需要打包的目录和文件
exclude('BuildConfig.class', 'R.class')
//去掉R$开头的文件
exclude{ it.name.startsWith('R$');}
}
makeOneJar.dependsOn(deleteOldJar, build)
编写完成之后,同步下工程代码,最终在右侧的Tasks–>ohter 中找到自己写的任务,点击运行最终得到编译后jar文件
最终的jar文件所在目录就是build/libs/
下
以上全部操作完成之后,删除原来jar下相关功能的class文件,将生成jar文件放到项目中