青热久思思-青视频在线-青娱乐99-青娱乐激情视频-亚洲变态-亚洲播放

首頁安卓教程→ 如何修改apk文件教程

如何修改apk文件教程

作者:tlx瀟哥來源:本站整理2013/2/28 10:18:03我要評論

對于apk文件相信用安卓手機的用戶都不陌生啊,那么肯定很多人想知道怎么修改apk文件吧,下面跑跑車就來詳細講解下吧。

1.APK文件簡介

APK是Android Package的縮寫,即即Android application package文件或Android安裝包。每個要安裝到Android平臺的應用都要被編譯打包為一個單獨的文件,后綴名為.apk。APK文件是用專業軟件eclipse編譯生成的文件包,其中包含了應用的二進制代碼、資源、配置文件等。通過將APK文件直接傳到Android手機中執行即可安裝。APK文件其實就是zip格式,但其擴展名被改為apk,用解壓軟件可以直接打開。通過WinRAR或UnZip解壓后,你會看到有幾個文件和文件夾。一個典型的APK文件通常有下列內容組成:

AndroidManifest.xml 程序全局配置文件
classes.dex    Dalvik字節碼
resources.arsc    編譯后的二進制資源文件
META-INF\ 該目錄下存放的是簽名信息
res\  該目錄存放資源文件
assets\ 該目錄可以存放一些配置文件

下面對這些文件和目錄做些基本的注釋和介紹。

AndroidManifest.xml

該文件是每個應用程序都必須定義和包含的文件,它描述了應用程序的名字、版本、權限、引用的庫文件等等信息。需要解包后才能加以閱讀。

classes.dex文件 classes.dex是java源碼編譯后生成的java字節碼文件。dex是Dalvik VM executes的全稱,即Android Dalvik執行程序,并非Java ME的字節碼而是Dalvik字節碼。

resources.arsc

編譯后的二進制資源文件。

META-INF目錄

META-INF目錄下存放的是簽名信息,用來保證apk包的完整性和系統的安全。在eclipse編譯生成一個apk包時,會對所有要打包的文件做一個校驗計算,并把計算結果放在META-INF目錄下。這就保證了apk包里的文件不能被隨意替換。比如拿到一個apk包后,如果想要替換里面的一幅圖片,一段代碼, 或一段版權信息,想直接解壓縮、替換再重新打包,基本是不可能的。如此一來就給病毒感染和惡意修改增加了難度,有助于保護系統的安全。

res目錄

res目錄存放資源文件。包括圖片,字符串等等。
解包后,幾乎所有可能的修改和編輯工作基本都在這里。

assets目錄

assets目錄可以存放一些配置文件,這些文件的內容在程序運行過程中可以通過相關的API獲得。

2.APK文件的解包和打包

APK文件是用專業軟件eclipse編譯生成的文件包。在網上可以找到許多軟件來對APK的內容進行反編譯,例如:可以通過AXMLPrinter2工具和命令:java -jar AXMLPrinter2.jar AndroidManifest.xml 解開在apk中的AndroidManifest.xml。最近,業界有一個功能強大的解包打包工具包apktool,可以在Windows下用來方便快速地對APK文件進行解包和打包,給修改和編輯工作帶來許多方便。下面來介紹它的使用。

1) APKtool軟件包

APKtool軟件包有2個程序組成:apktool.jar 和 aapt.exe
另外提供一個批處理文件:apktool.bat,其內容為:
java -jar "%~dp0\apktool.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9
運行apktools.jar需要java環境(1.6.0版本以上)。
apktool.jar用于解包,apktool.jar和aapt.exe聯合用于打包。

2) APK文件的解包

下面以解開Contacts.apk為例。首先把Contacts.apk復制到當前工作目錄下(例:Test)。在DOS下打入命令
apktool d Contacts.apk ABC
這里“d”表示要解碼。Contacts.apk是要解包的APK文件。ABC是子目錄名。所有解包的文件都會放在這個子目錄內。

3) APK文件的打包

在DOS下打入命令
apktool b ABC New-Contacts.apk
這里“b”表示要打包
ABC是子目錄名,是解包時產生的子目錄,用來存放所有解包后的和修改后的文件。
New-Contacts.apk是打包后產生的新的APK文件。

4) Framework框架文件

在解開APK文件時,apktool需要框架文件(framework-res.apk)來解碼和打包。Apktool已經包含了標準的框架,所以在大多數APK文件的解包時,不需要另外提供框架文件。但是,某些制造商使用了他們自己的框架文件,為了解包,就不得不從手機中把框架文件(framework-res.apk)提取出來,然后安裝到計算機。安裝命令是:
apktool if framework-res.apk
安裝后就會得到:~\apktool\framework\1.apk

5) 解包、解包和簽名批處理

在實際使用時,可能對多個APK文件進行處理。方便的做法是寫成批處理文件。打包和簽名可以一次完成。
解包批處理命令:
for %%i in (*.apk) do java -jar apktool.jar d %%i _%%i && move _%%i Modifying_Files && copy %%i Backuped_Raw_Files && @echo File [%%i] unpacking process is completed!
打包和簽名批處理命令:
for /d %%i in (*) do cd.. && java -jar apktool.jar b Modifying_Files\%%i && java -jar signapk.jar testkey.x509.pem testkey.pk8 Modifying_Files\%%i\dist\*.apk %%i && ren %%i New%%i && move New%%i Modified_Signed_Files && @echo %%i Complete repacking and Signing! && cd Modifying_Files

3.應用實例:APK解包后的編輯和修改

為什么要對APK文件進行解包?當然要對其內容進行必要的修改。修改什么呢?通常,如果只是對圖像進行替換,沒有必要進行解包和打包。用WinRAR打開APK文件,直接做替換就可以了。但是,如果要對文字和其它非圖像類內容進行修改,那只能通過解包解碼了。下面幾項任務需要對APK進行解包和打包。這里只作大概介紹,請自己去找詳細的操作方法和教程。

http://www.daiyou8.com/az/21123_2.html

1) 漢化APK軟件

在res文件夾中,我們可以看到有很多values-***的文件夾,這就是語言包。values是英文語言包,values-zh是中國地區語言包(包含港澳臺及內地),values-zh-rCN是中文簡體語言包(只包含內地),values-zh-rTW是中文繁體語言包(港澳臺)。除此以外,其它地區的語言包都是精簡的對象,可以不過多了解。
在values文件夾里,通常有arrays.xml、strings.xml等語言文件,要作漢化就要對這些文件進行修改。有時也需要修改其它xml文件,一個一個地認真查看。

2) 修改圖標標簽
每一個APK文件都有一個“圖標標簽”。將APK程序安裝進手機后,在圖標下面顯示圖標標簽文字。這個圖標標簽的內容是可以修改的。在\res\values下找到strings.xml,修改其中的一行:
圖標標簽
例如:靜音啟動
同理,如果是窗口小插件,要修改widget_name。
注意:system/app下的apk不宜修改,因為要同時修改對應的odex文件。

0相關評論

發表評論

最新最熱相關資源

安卓蘋果應用推薦

主站蜘蛛池模板: 久久精品国产亚洲a | 国产精品va | 久久免费手机视频 | 免费看一级视频 | 黄色毛片a | 大陆日韩欧美 | 国产精品永久免费自在线观看 | 精品伊人久久久99热这里只 | 精品视频在线观看 | 国产无卡一级毛片aaa | 久久99精品国产99久久6男男 | 九九九久久久 | 国产亚洲新品一区二区 | 久久福利资源国产精品999 | 成人在线h | 久久久综合九色合综国产 | 国产专区青青草原亚洲 | 国产国产在线播放你懂的 | 草草线在成人免费视频 | 国产熟睡乱子伦视频观看看 | 国产精品原创巨作av | 国产精品久久久亚洲 | 国产精品91在线 | 国产欧美精品专区一区二区 | 国产成人一区二区视频在线观看 | 久青草影视 | 福利国产在线 | 国产a自拍 | 免费一级毛片免费播放 | 国产精品特级毛片一区二区三区 | 成年女人午夜免费视频 | 久久aaa| 麻豆精品国产免费观看 | 国产在线观看91精品2022 | 国产一区二区不卡免费观在线 | 搞黄视频在线观看 | 免费一级a毛片在线 | 国产在线欧美精品卡通动漫 | 免费一级真人毛片 | 国产福利91精品一区二区三区 | 免费观看一级一片 |