天天看點

Android中修改第三方Jar

一.簡述

最近工作中,客戶項目中出現了一個問題,根據日志可以得知是某個插件出錯,需要修改插件代碼,隻需要修改一行代碼就行,但是插件源碼找不到了,可能是時間比較久遠,但是問題又必須修改,是以隻能想辦法。

二.如何修改jar

  • 導出項目工程
  • 找到相關插件Jar
  • 通過Android Studio 檢視Jar源碼
    Android中修改第三方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檔案放到項目中

繼續閱讀