1. 程式人生 > >Android中修改第三方Jar

Android中修改第三方Jar

一.簡述

最近工作中,客戶專案中出現了一個問題,根據日誌可以得知是某個外掛出錯,需要修改外掛程式碼,只需要修改一行程式碼就行,但是外掛原始碼找不到了,可能是時間比較久遠,但是問題又必須修改,所以只能想辦法。

二.如何修改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檔案放到專案中