Android aar 修改

本文重點(diǎn)描述內(nèi)容

注:本項(xiàng)目基于 Android Studio 講解泞莉,IntelliJ IDEA 類同

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

修改 aar 需要用到的工具(就一個(gè)工具,使用方式非常簡(jiǎn)單船殉,別擔(dān)心)

注:(下面工具鲫趁,點(diǎn)擊名稱可進(jìn)入下載鏈接,如果鏈接失效利虫,請(qǐng)百度搜索下載)

  1. Bandizip挨厚,一款非常好用的解壓縮工具,安裝的時(shí)候糠惫,請(qǐng)記住安裝目錄疫剃,后面可能會(huì)用到。如果有其他解壓縮工具也可以使用硼讽。

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

  1. 代碼定位:
    1.1 方式一:在開發(fā)工具中巢价,根據(jù)代碼跳轉(zhuǎn)到 aar 中你想修改的類
    1.2 方式二:在 Android Studio 中,將目錄結(jié)構(gòu)從 Android 改為 Project固阁,然后在 External Libraries 中找到對(duì)應(yīng)的 aar 和 想要修改的類壤躲,如下圖
    image.png

    image.png
  2. 找到 aar 中想要修改的類,并在你的項(xiàng)目中建立一個(gè)同包名备燃,同類名的類碉克。
    例如:你想要修改 aar 中的 com.test.modify 包名下類名為 A 的類,則你需要在你的項(xiàng)目中新建一個(gè)包 com.test.modify赚爵,然后再建一個(gè)類名為 A 的類棉胀。
  3. 將 aar 中類 A 的內(nèi)容全都復(fù)制到你新建的類 A 中(注:有些內(nèi)容是編譯器反編譯生成的,不符合代碼開發(fā)規(guī)范冀膝,會(huì)報(bào)錯(cuò)唁奢,需要你自行修改),并在類 A 中窝剖,編寫你想實(shí)現(xiàn)的邏輯代碼麻掸。
  4. 修改完成后,clean 項(xiàng)目赐纱,在重新build 項(xiàng)目脊奋,編輯器會(huì)報(bào)錯(cuò) Program type already presentMore than one file was found with OS independent path 等包重復(fù)或沖突等問題,不用理會(huì)疙描。
  5. 進(jìn)入項(xiàng)目文件夾诚隙,項(xiàng)目根目錄/build/intermediates/javac/debug/對(duì)應(yīng)包名 (不同的 Android Studio 版本路徑可能不同,需要自行查找)起胰,將你修改的 類名開頭.class 文件全都復(fù)制久又,如下圖(注:必須從文件夾路徑查看,不要從Android Studio 下查找該路徑復(fù)制類,因?yàn)閺?Androi Studio 路徑下查看地消,內(nèi)部類文件未顯示)
    image.png

    image.png
  6. 接下來會(huì)根據(jù) Bandizip 解壓縮工具講解炉峰,請(qǐng)根據(jù)圖片進(jìn)行操作:
    6.1 在文件夾中右鍵選中 aar 包,選擇打開方式脉执,選擇 Bandizip(如果沒有疼阔,則從更多應(yīng)用里選擇,然后從剛才安裝的 Bandizip目錄找到 Bandizip.exe 即可 )半夷,如下圖
    image.png

    6.2 在打開的窗口中婆廊,按下圖進(jìn)行操作
    image.png

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

    image.png

    image.png

    image.png

    6.3 然后將 aar 包重新導(dǎo)入項(xiàng)目(導(dǎo)入之前玻熙,先將原先的 aar 刪除否彩,clean 后再build,然后導(dǎo)入新的 aar 包嗦随,再 build ,不然項(xiàng)目會(huì)使用舊的 aar 包)
    6.4 至此敬尺,aar 修改業(yè)務(wù)代碼步驟結(jié)束枚尼。

修改 aar layout 布局文件

  1. 有的時(shí)候,需要修改 aar 中某個(gè)布局文件砂吞,例如:想在 aar 中的 activity_layout_login 布局文件增加一個(gè) Button 按鈕署恍。
  2. 接下來會(huì)根據(jù) Bandizip 解壓縮工具講解,請(qǐng)根據(jù)圖片進(jìn)行操作
    2.1 在文件夾中右鍵選中 aar 包蜻直,選擇打開方式盯质,選擇 Bandizip(如果沒有,則從更多應(yīng)用里選擇概而,然后從剛才安裝的 Bandizip目錄找到 Bandizip.exe 即可 )呼巷,如下圖
    image.png

    2.2 點(diǎn)擊編輯,修改布局文件赎瑰,新增或修改資源 id 后王悍,請(qǐng)記住 id 名稱,后面會(huì)用到餐曼,保存關(guān)閉(也可以在 Android Studio 中編輯并預(yù)覽压储,然后將內(nèi)容復(fù)制到這個(gè)布局文件中)。
    image.png

    image.png

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

    image.png

    image.png

    2.4 然后將 aar 包重新導(dǎo)入項(xiàng)目,就可引入新的資源(導(dǎo)入之前为朋,先將原先的 aar 刪除臂拓,clean 后再build,然后導(dǎo)入新的 aar 包习寸,再 build 胶惰,不然項(xiàng)目會(huì)使用舊的 aar 包)
    2.5 至此,aar 修改業(yè)務(wù)代碼步驟結(jié)束霞溪。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末孵滞,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子鸯匹,更是在濱河造成了極大的恐慌坊饶,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件殴蓬,死亡現(xiàn)場(chǎng)離奇詭異匿级,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)染厅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門痘绎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人肖粮,你說我怎么就攤上這事孤页。” “怎么了涩馆?”我有些...
    開封第一講書人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵行施,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我魂那,道長(zhǎng)蛾号,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任冰寻,我火速辦了婚禮须教,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘斩芭。我一直安慰自己轻腺,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開白布划乖。 她就那樣靜靜地躺著贬养,像睡著了一般。 火紅的嫁衣襯著肌膚如雪琴庵。 梳的紋絲不亂的頭發(fā)上误算,一...
    開封第一講書人閱讀 52,262評(píng)論 1 308
  • 那天仰美,我揣著相機(jī)與錄音,去河邊找鬼儿礼。 笑死咖杂,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蚊夫。 我是一名探鬼主播诉字,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼知纷!你這毒婦竟也來了壤圃?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤琅轧,失蹤者是張志新(化名)和其女友劉穎伍绳,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體乍桂,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡冲杀,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了睹酌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片漠趁。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖忍疾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情谨朝,我是刑警寧澤卤妒,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站字币,受9級(jí)特大地震影響则披,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜洗出,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一士复、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧翩活,春花似錦阱洪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至利耍,卻和暖如春蚌本,著一層夾襖步出監(jiān)牢的瞬間盔粹,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工程癌, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留舷嗡,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓嵌莉,卻偏偏與公主長(zhǎng)得像进萄,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子烦秩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容