前言:
各位同學(xué)大家好 有段時(shí)間沒有跟大家見面了 , 具體多久我也不記得了哈。最近公司有個(gè)需求 我是做手游SDK開發(fā)的 一般需要把我們編寫的代碼邏輯然后打包成aar
具體說明:
最早以前我們用eclipse開發(fā)的時(shí)候 我們是分開打包的 java代碼打包成jar 然后資源文件復(fù)制出來的 但是來到android studio 的時(shí)候我們直接就java代碼和資源文件打包到aar包 然后給需求方去接入即可 ,
如圖

我們在common 庫工程里build目錄里面將我們打包好的common-release.aar 文件復(fù)制出來

這時(shí)候有些同學(xué)會說你這樣我也會操作,是的這個(gè)不難 。但是如果是沒有源碼的情況下你要修改里面東西怎么修改呢 .
-
解壓aar

我們看到解壓出來一個(gè)classes.jar 文件和一些資源文件 我們在 res目錄下面可以看到我們之前庫工程里面的打包的資源文件 資源文件都是圖片和布局文件還有文本之類的資源文件 我們可以直接復(fù)制替換或者記事本編輯修改即可
-
修改classes.jar

-
解壓classes.jar。命令:$ unzip classes.jar -d tempFolderClasses
把第二步生成的.class文件放到tempFolderClasses文件夾下對應(yīng)的地方替換掉以前的.class文件(大功即將告成)
-
打包源碼為 classes.jar
$ jar cvf newClasses.jar -C tempFolderClasses/ .(注意斜杠后面加空格與.)
再把這個(gè)newClasses.jar放回tempFolder并刪除之前的,修改文件名為classes.jar
將資源文件和新的jar 再次打包成aar
$ jar cvf newAAR.aar -C tempFolder/ .
最后生成新的aar 就是我們需要的aar 。 這樣我們就可以在沒有源代碼的情況下去修改aar內(nèi)部東西 然后重新編譯生成 aar 來帶到我們偷天換日 瞞天過海的目的 哈哈哈 。
最后總結(jié):
對于android 工程怎么生成aar 這個(gè)比較簡單網(wǎng)上能也有很多博主講過所以我這邊就沒有展開去講 后面我會專門出一些關(guān)于安卓逆向的基礎(chǔ)知識分享給大家 希望能幫助到各位的學(xué)習(xí)和工作 最后希望我的文章能幫助到各位解決問題 ,以后我還會貢獻(xiàn)更多有用的代碼分享給大家。各位同學(xué)如果覺得文章還不錯(cuò) ,麻煩給關(guān)注和star,小弟在這里謝過啦!