Android修改第三方 aar後重新打包

2021-09-03 01:15:03 字數 1056 閱讀 7325

一切從需求出發:公司選定了用阿里雲旺作為客服im系統,但是這個sdk(android端)是2023年12月更新的,後面官方就沒動作了。問題出在:不相容android8.0,因為notification沒有channel的問題。所以接下來的動作就是修改原始碼使其相容8.0+

步驟:

解壓.aar檔案

$ unzip mylib.aar -d tempfolder

使用jd-gui檢視原始碼並定位到**再修改

進入tempfolder把裡面的classes.jar複製出來

解壓.aar檔案解壓後產生的classes.jar檔案

解壓classes.jar。命令:$ unzip classes.jar -d tempfolderclasses把第二步生成的.class檔案放到tempfolderclasses資料夾下對應的地方替換掉以前的.class檔案(大功即將告成)

打包原始碼為classes.jar

$ jar cvf newclasses.jar -c tempfolderclasses/ .(注意斜槓後面加空格與.)

再把這個newclasses.jar放回tempfolder並刪除之前的,修改檔名為classes.jar

打包所有檔案(res檔案、classes.jar、androidmanifest.xml等)為***.aar

$ jar cvf newaar.aar -c tempfolder/ .

完成!!!!

沒配圖啥的,不明白的再交流吧。。。

ps:附乙個我重新編譯後的阿里雲旺安卓包:

Android 增加第三方APK

一 原始碼增加 這種方法要求開發的apk必須遵循一些約定,最主要的就是字串必須在strings.xml裡定義,不能直接在應用程式裡賦字串值。二 沒有原始碼,只有編譯好的apk 有2種辦法可以新增.這種方法最簡單,但是在重新make整個專案後又必須重新複製到此目錄。2 使用build prebuilt...

android呼叫第三方庫

把第三方so放在新建的libs armeabi 中 因為android.mk檔案中的當前目錄跳到local path call my dir 即jni下,所以這個libs armeabi必須在jni下 android.mk local path call my dir warning local p...

Android開發 第三方庫

1.網路訪問框架 okhttp,retrofit 還不了解 async http,volley 3.快取框架 disklrucache,robospice 還不了解 4.json解析框架 gson,fastjson,jackson 還不了解 5.事件匯流排 eventbus,otto 6.orm 是...