前言:
各位同學(xué)大家好 有段時(shí)間沒(méi)有跟大家見(jiàn)面了 , 具體多久我也不記得了哈缅帘。最近公司有個(gè)需求 我是做手游SDK開(kāi)發(fā)的 一般需要把我們編寫(xiě)的代碼邏輯然后打包成aar
具體說(shuō)明:
最早以前我們用eclipse開(kāi)發(fā)的時(shí)候 我們是分開(kāi)打包的 java代碼打包成jar 然后資源文件復(fù)制出來(lái)的 但是來(lái)到android studio 的時(shí)候我們直接就java代碼和資源文件打包到aar包 然后給需求方去接入即可 锭硼,
如圖
我們?cè)赾ommon 庫(kù)工程里build目錄里面將我們打包好的common-release.aar 文件復(fù)制出來(lái)
這時(shí)候有些同學(xué)會(huì)說(shuō)你這樣我也會(huì)操作针饥,是的這個(gè)不難 脆霎。但是如果是沒(méi)有源碼的情況下你要修改里面東西怎么修改呢 .
-
解壓aar
我們看到解壓出來(lái)一個(gè)classes.jar 文件和一些資源文件 我們?cè)?res目錄下面可以看到我們之前庫(kù)工程里面的打包的資源文件 資源文件都是圖片和布局文件還有文本之類的資源文件 我們可以直接復(fù)制替換或者記事本編輯修改即可
-
修改classes.jar
-
解壓classes.jar尿孔。命令:$ unzip classes.jar -d tempFolderClasses
把第二步生成的.class文件放到tempFolderClasses文件夾下對(duì)應(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 君丁。 這樣我們就可以在沒(méi)有源代碼的情況下去修改aar內(nèi)部東西 然后重新編譯生成 aar 來(lái)帶到我們偷天換日 瞞天過(guò)海的目的 哈哈哈 。
最后總結(jié):
對(duì)于android 工程怎么生成aar 這個(gè)比較簡(jiǎn)單網(wǎng)上能也有很多博主講過(guò)所以我這邊就沒(méi)有展開(kāi)去講 后面我會(huì)專門(mén)出一些關(guān)于安卓逆向的基礎(chǔ)知識(shí)分享給大家 希望能幫助到各位的學(xué)習(xí)和工作 最后希望我的文章能幫助到各位解決問(wèn)題 将宪,以后我還會(huì)貢獻(xiàn)更多有用的代碼分享給大家绘闷。各位同學(xué)如果覺(jué)得文章還不錯(cuò) 橡庞,麻煩給關(guān)注和star,小弟在這里謝過(guò)啦!