反編譯,重打包,簽名系列

寫作目的:

最近在折騰安卓,以后的方向也初步定為安卓開發(fā)了,學(xué)習(xí)過程中遇到了不少問題,百度,google了不少,但有些解決方法由于版本過老,現(xiàn)在已經(jīng)失效,于是想將自己折騰成功的一些東西總結(jié)起來,供給有需要的人參考,避免趟我趟過的坑,如有錯誤,還請斧正:)

由于自己也是小白,寫的東西當(dāng)然也比較小白向,所以我們從環(huán)境搭建說起。

1. jdk配置

? 弄安卓的話自然離不開java,所以jdk的配置是必須的。

? · 首先前往jdk官網(wǎng)下載jdk的一個安裝包


· 接下來最好全部選擇默認(rèn)安裝配置,尤其是安裝路徑,否則可能會影響接下來的變量設(shè)置,我試過兩次放在D盤,都會報錯。、

? · 然后我們設(shè)置一下系統(tǒng)變量

右擊我的電腦,然后打開高級系統(tǒng)設(shè)置,打開環(huán)境變量,接下來的操作都在系統(tǒng)變量中進(jìn)行。


· 在系統(tǒng)變量中(注意不是用戶變量)先新建兩個變量,變量名和變量值如下:

%JAVA_HOME%\lib\dt.jar

%JAVA_HOME%\lib\tools.jar

最后確定一下就好了。


配置好之后我們需要檢驗(yàn)一下,方法為:

同時按win+r,如后輸入cmd即可,在cmd中,輸入java –version,如果返回了java的版本號,即代表配成功.


2. 環(huán)境搭建好之后,我們還需要一個反編譯以及重打包的工具,即apktool,網(wǎng)上很多人留下的集成好批處理文件的工具包由于apktool的版本過老,直接使用是會報錯的,我們需要自己稍微做個新版本的工具包


· 同樣前往官網(wǎng)下載,但和我們平時下載好安裝包之后無腦點(diǎn)下一步不同,我們除了下載apktool-2這個jar文件以外,還需要下載與之匹配的一個批處理文件,即第一個的apktool.bat

? ? · 然而點(diǎn)開第一個鏈接后會得到一串代碼,這不是網(wǎng)頁GG了,這就是批處理文件的內(nèi)容,用編輯器粘貼這些代碼,保存后命名為apktool.bat這樣一個批處理文件即可。

· 然后我們將第二個下載鏈接下載下來的jar文件和這個批處理文件放一塊空文件夾中即可。


準(zhǔn)備就緒,讓我們開始反編譯吧,let's go

? 3. 首先將你想要反編譯的apk放在apktool的文件夾下

? ? ? 然后打開cmd,用cd 命令到apktool文件夾所在的目錄

pktool.bat d demo.apk//demo.apk需要改成你的apk的名字

? ? ? 等到cmd跑完,如果apktool文件夾里多了一個demo文件夾,且目錄不為空,即反編譯成功.

ok,當(dāng)你按需求改完代碼或者圖片之類的之后,需要將demo重打包為一個apk文件,使用代碼:

apktool b demo -o new_demo.apk

? ? · 同樣,當(dāng)cmd跑完,目錄中出現(xiàn)一個new_demo.apk,即代表succes

由于這個新apk已經(jīng)被你改過了,原作者的簽名也就沒了,所以無法安裝到手機(jī)上,我們需要自己給個簽名

注意:接下來的操作需要以管理員身份運(yùn)行cmd

? · 首先找到j(luò)dk中bin目錄所在位置,默認(rèn)位置為C:\Program Files\Java\jdk-9.0.4\bin

? ? 我們將需要打簽名的new_demo.apk放到該目錄下,cmd中cd到該目錄,

cd C:\Program Files\Java\jdk-9.0.4\bin

然后開始打簽名吧,代碼如下:

· keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore· jarsigner -verbose -keystore demo.keystore demo.apk demo.keystore

succes? !反編譯,重打包,簽名系列

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容