Android aar 修改

本文重點描述內容

注:本項目基于 Android Studio 講解,IntelliJ IDEA 類同

  1. 修改 aar 代碼層業(yè)務邏輯
  2. 修改 aar layout 布局文件
  3. 重新打包 aar

修改 aar 需要用到的工具(就一個工具,使用方式非常簡單,別擔心)

注:(下面工具,點擊名稱可進入下載鏈接,如果鏈接失效,請百度搜索下載)

  1. Bandizip,一款非常好用的解壓縮工具,安裝的時候,請記住安裝目錄,后面可能會用到。如果有其他解壓縮工具也可以使用。

修改 aar 代碼層業(yè)務邏輯

  1. 代碼定位:
    1.1 方式一:在開發(fā)工具中,根據代碼跳轉到 aar 中你想修改的類
    1.2 方式二:在 Android Studio 中,將目錄結構從 Android 改為 Project,然后在 External Libraries 中找到對應的 aar 和 想要修改的類,如下圖
    image.png

    image.png
  2. 找到 aar 中想要修改的類,并在你的項目中建立一個同包名,同類名的類。
    例如:你想要修改 aar 中的 com.test.modify 包名下類名為 A 的類,則你需要在你的項目中新建一個包 com.test.modify,然后再建一個類名為 A 的類。
  3. 將 aar 中類 A 的內容全都復制到你新建的類 A 中(注:有些內容是編譯器反編譯生成的,不符合代碼開發(fā)規(guī)范,會報錯,需要你自行修改),并在類 A 中,編寫你想實現(xiàn)的邏輯代碼。
  4. 修改完成后,clean 項目,在重新build 項目,編輯器會報錯 Program type already presentMore than one file was found with OS independent path 等包重復或沖突等問題,不用理會。
  5. 進入項目文件夾,項目根目錄/build/intermediates/javac/debug/對應包名 (不同的 Android Studio 版本路徑可能不同,需要自行查找),將你修改的 類名開頭.class 文件全都復制,如下圖(注:必須從文件夾路徑查看,不要從Android Studio 下查找該路徑復制類,因為從 Androi Studio 路徑下查看,內部類文件未顯示)
    image.png

    image.png
  6. 接下來會根據 Bandizip 解壓縮工具講解,請根據圖片進行操作:
    6.1 在文件夾中右鍵選中 aar 包,選擇打開方式,選擇 Bandizip(如果沒有,則從更多應用里選擇,然后從剛才安裝的 Bandizip目錄找到 Bandizip.exe 即可 ),如下圖
    image.png

    6.2 在打開的窗口中,按下圖進行操作
    image.png

    6.3 找到修改的類的包名,將步驟 5 修改生成的 .class 類文件(包含內部類文件)復制進去
    image.png

    image.png

    image.png

    image.png

    6.3 然后將 aar 包重新導入項目(導入之前,先將原先的 aar 刪除,clean 后再build,然后導入新的 aar 包,再 build ,不然項目會使用舊的 aar 包)
    6.4 至此,aar 修改業(yè)務代碼步驟結束。

修改 aar layout 布局文件

  1. 有的時候,需要修改 aar 中某個布局文件,例如:想在 aar 中的 activity_layout_login 布局文件增加一個 Button 按鈕。
  2. 接下來會根據 Bandizip 解壓縮工具講解,請根據圖片進行操作
    2.1 在文件夾中右鍵選中 aar 包,選擇打開方式,選擇 Bandizip(如果沒有,則從更多應用里選擇,然后從剛才安裝的 Bandizip目錄找到 Bandizip.exe 即可 ),如下圖
    image.png

    2.2 點擊編輯,修改布局文件,新增或修改資源 id 后,請記住 id 名稱,后面會用到,保存關閉(也可以在 Android Studio 中編輯并預覽,然后將內容復制到這個布局文件中)。
    image.png

    image.png

    2.3 修改 aar 包中的 R.txt,(一定要修改,不然在項目中無法使用剛才新增或修改的資源 id),右鍵 R.txt ,選擇編輯,并保存退出,如下圖:
    image.png

    image.png

    image.png

    2.4 然后將 aar 包重新導入項目,就可引入新的資源(導入之前,先將原先的 aar 刪除,clean 后再build,然后導入新的 aar 包,再 build ,不然項目會使用舊的 aar 包)
    2.5 至此,aar 修改業(yè)務代碼步驟結束。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容