Android中修改第三方Jar
阿新 • • 發佈:2019-02-08
一.簡述
最近工作中,客戶專案中出現了一個問題,根據日誌可以得知是某個外掛出錯,需要修改外掛程式碼,只需要修改一行程式碼就行,但是外掛原始碼找不到了,可能是時間比較久遠,但是問題又必須修改,所以只能想辦法。
二.如何修改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檔案放到專案中