一.簡述
最近工作中,客戶項目中出現了一個問題,根據日志可以得知是某個插件出錯,需要修改插件代碼,隻需要修改一行代碼就行,但是插件源碼找不到了,可能是時間比較久遠,但是問題又必須修改,是以隻能想辦法。
二.如何修改jar
- 導出項目工程
- 找到相關插件Jar
- 通過Android Studio 檢視Jar源碼
-
再Src目錄下建立 要修改java檔案,包名也必須相同
要修改的java檔案目錄
在src源碼下建立同樣的目錄org.zywx.wbpalmstar.plugin.uexinfocenter.zdtq
- 修改你要修改的源碼
以上操作完成之後就完成了源碼的修改,将要修改的源碼打成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檔案放到項目中