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

角色排行榜|單機(jī)游戲排行榜|射擊排行榜|冒險(xiǎn)排行榜|賽車(chē)排行榜|模擬排行榜|休閑排行榜|體育排行榜|棋牌排行榜|街機(jī)排行榜

游戲

攻略

補(bǔ)丁

iPhone游戲

您的位置:網(wǎng)站首頁(yè) -> 游戲資訊 -> android教程 -> 如何修改apk文件教程

如何修改apk文件教程

2013-2-28 10:18:03 來(lái)源:本站整理 作者:tlx瀟哥 我要評(píng)論0

對(duì)于apk文件相信用安卓手機(jī)的用戶都不陌生啊,那么肯定很多人想知道怎么修改apk文件吧,下面跑跑車(chē)就來(lái)詳細(xì)講解下吧。

1.APK文件簡(jiǎn)介

APK是Android Package的縮寫(xiě),即即Android application package文件或Android安裝包。每個(gè)要安裝到Android平臺(tái)的應(yīng)用都要被編譯打包為一個(gè)單獨(dú)的文件,后綴名為.apk。APK文件是用專(zhuān)業(yè)軟件eclipse編譯生成的文件包,其中包含了應(yīng)用的二進(jìn)制代碼、資源、配置文件等。通過(guò)將APK文件直接傳到Android手機(jī)中執(zhí)行即可安裝。APK文件其實(shí)就是zip格式,但其擴(kuò)展名被改為apk,用解壓軟件可以直接打開(kāi)。通過(guò)WinRAR或UnZip解壓后,你會(huì)看到有幾個(gè)文件和文件夾。一個(gè)典型的APK文件通常有下列內(nèi)容組成:

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

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

AndroidManifest.xml

該文件是每個(gè)應(yīng)用程序都必須定義和包含的文件,它描述了應(yīng)用程序的名字、版本、權(quán)限、引用的庫(kù)文件等等信息。需要解包后才能加以閱讀。

classes.dex文件 classes.dex是java源碼編譯后生成的java字節(jié)碼文件。dex是Dalvik VM executes的全稱(chēng),即Android Dalvik執(zhí)行程序,并非Java ME的字節(jié)碼而是Dalvik字節(jié)碼。

resources.arsc

編譯后的二進(jìn)制資源文件。

META-INF目錄

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

res目錄

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

assets目錄

assets目錄可以存放一些配置文件,這些文件的內(nèi)容在程序運(yùn)行過(guò)程中可以通過(guò)相關(guān)的API獲得。

2.APK文件的解包和打包

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

1) APKtool軟件包

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

2) APK文件的解包

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

3) APK文件的打包

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

4) Framework框架文件

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

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

在實(shí)際使用時(shí),可能對(duì)多個(gè)APK文件進(jìn)行處理。方便的做法是寫(xiě)成批處理文件。打包和簽名可以一次完成。
解包批處理命令:
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.應(yīng)用實(shí)例:APK解包后的編輯和修改

為什么要對(duì)APK文件進(jìn)行解包?當(dāng)然要對(duì)其內(nèi)容進(jìn)行必要的修改。修改什么呢?通常,如果只是對(duì)圖像進(jìn)行替換,沒(méi)有必要進(jìn)行解包和打包。用WinRAR打開(kāi)APK文件,直接做替換就可以了。但是,如果要對(duì)文字和其它非圖像類(lèi)內(nèi)容進(jìn)行修改,那只能通過(guò)解包解碼了。下面幾項(xiàng)任務(wù)需要對(duì)APK進(jìn)行解包和打包。這里只作大概介紹,請(qǐng)自己去找詳細(xì)的操作方法和教程。

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

1) 漢化APK軟件

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

2) 修改圖標(biāo)標(biāo)簽
每一個(gè)APK文件都有一個(gè)“圖標(biāo)標(biāo)簽”。將APK程序安裝進(jìn)手機(jī)后,在圖標(biāo)下面顯示圖標(biāo)標(biāo)簽文字。這個(gè)圖標(biāo)標(biāo)簽的內(nèi)容是可以修改的。在\res\values下找到strings.xml,修改其中的一行:
圖標(biāo)標(biāo)簽
例如:靜音啟動(dòng)
同理,如果是窗口小插件,要修改widget_name。
注意:system/app下的apk不宜修改,因?yàn)橐瑫r(shí)修改對(duì)應(yīng)的odex文件。

如何修改apk文件[apk文件修改、圖標(biāo)、美化、去廣告]完全教程

一、首先搭建jdk環(huán)境。

相關(guān)補(bǔ)丁下載:

Java_Runtime_Environment-6.1.210.6 編程軟件 - 13.8M

下載完后,點(diǎn)擊安裝。然后設(shè)置運(yùn)行環(huán)境參數(shù):

用鼠標(biāo)右擊“我的電腦”->屬性->高級(jí)->環(huán)境變量
系統(tǒng)變量->新建->變量名:JAVA_HOME 變量值:D:\Program Files\Java\jdk1.7.0(這是我的安裝路徑這個(gè)不是固定的,比如你安裝到C:\Program Files,就填C:\Program Files\Java\jdk1.7.0)
系統(tǒng)變量->編輯->變量名:Path 在變量值的最前面加上:%JAVA_HOME%\bin;(若已經(jīng)有Path項(xiàng),無(wú)須另外新建,直接在后面加,但需用;與前面已有的項(xiàng)分隔開(kāi))
系統(tǒng)變量->新建->變量名:CLASSPATH 變量值:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
最后測(cè)試下環(huán)境變量是否設(shè)置成功

點(diǎn)開(kāi)始菜單-運(yùn)行-在這里輸入cmd-回車(chē)-輸入javac

1.如果出現(xiàn)如下信息:

用法:javac <選項(xiàng)> <源文件>
其中,可能的選項(xiàng)包括:
-g                           生成所有調(diào)試信息
-g:none                      不生成任何調(diào)試信息
-g:{lines,vars,source}       只生成某些調(diào)試信息
-nowarn                      不生成任何警告
-verbose                     輸出有關(guān)編譯器正在執(zhí)行的操作的消息
-deprecation                 輸出使用已過(guò)時(shí)的 API 的源位置
-classpath <路徑>              指定查找用戶類(lèi)文件的位置
-cp <路徑>                     指定查找用戶類(lèi)文件的位置
-sourcepath <路徑>             指定查找輸入源文件的位置
-bootclasspath <路徑>          覆蓋引導(dǎo)類(lèi)文件的位置
-extdirs <目錄>                覆蓋安裝的擴(kuò)展目錄的位置
-endorseddirs <目錄>           覆蓋簽名的標(biāo)準(zhǔn)路徑的位置
-d <目錄>                      指定存放生成的類(lèi)文件的位置
-encoding <編碼>               指定源文件使用的字符編碼
-source <版本>                 提供與指定版本的源兼容性
-target <版本>                 生成特定 VM 版本的類(lèi)文件
-version                     版本信息
-help                        輸出標(biāo)準(zhǔn)選項(xiàng)的提要
-X                           輸出非標(biāo)準(zhǔn)選項(xiàng)的提要
-J<標(biāo)志>                       直接將 <標(biāo)志> 傳遞給運(yùn)行時(shí)系統(tǒng)

恭喜,你的Java環(huán)境變量配置成功了!

2.如果出現(xiàn):

'javac' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序
或批處理文件。

說(shuō)明這Java環(huán)境變量配置出錯(cuò)了,仔細(xì)檢查下吧!

二、下載APKTools工具包(里面包含:APKTools反編譯工具、APKSign簽名工具)。下載Notepad代碼編輯器(可以修改smali和xml文件)。

在修改之前首先對(duì)APK文件內(nèi)部結(jié)構(gòu)有個(gè)了解:

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

對(duì)應(yīng)這些文件和目錄做些基本的注釋和介紹:

AndroidManifest.xml
該文件是每個(gè)應(yīng)用程序都必須定義和包含的文件,它描述了應(yīng)用程序的名字、版本、權(quán)限、引用的庫(kù)文件等等信息。需要解包后才能加以閱讀。
classes.dex文件
classes.dex是java源碼編譯后生成的java字節(jié)碼文件。dex是Dalvik VM executes的全稱(chēng),即Android Dalvik執(zhí)行程序,并非Java ME的字節(jié)碼而是Dalvik字節(jié)碼。
resources.arsc
編譯后的二進(jìn)制資源文件。
META-INF目錄
META-INF目錄下存放的是簽名信息,用來(lái)保證apk包的完整性和系統(tǒng)的安全。在eclipse編譯生成一個(gè)apk包時(shí),會(huì)對(duì)所有要打包的文件做一個(gè)校驗(yàn)計(jì)算,并把計(jì)算結(jié)果放在META-INF目錄下。這就保證了apk包里的文件不能被隨意替換。比如拿到一個(gè)apk包后,如果想要替換里面的一幅圖片,一段代碼, 或一段版權(quán)信息,想直接解壓縮、替換再重新打包,基本是不可能的。如此一來(lái)就給病毒感染和惡意修改增加了難度,有助于保護(hù)系統(tǒng)的安全。
res目錄
res目錄存放資源文件。包括圖片,字符串等等。
解包后,幾乎所有可能的修改和編輯工作基本都在這里。
assets目錄
assets目錄可以存放一些配置文件,這些文件的內(nèi)容在程序運(yùn)行過(guò)程中可以通過(guò)相關(guān)的API獲得。

APK文件修改,首先要對(duì)APK文件解包(也就是反編譯),打開(kāi)apktool.exe,如圖:

左邊APK反編譯區(qū),選擇APK文件,選擇文件保存目錄,點(diǎn)反編譯APK按鈕,得到解包文件。

三、開(kāi)始修改

1. 如果只是對(duì)圖像進(jìn)行替換,沒(méi)有必要進(jìn)行解包和打包。用WinRAR打開(kāi)APK文件,直接做替換就可以了。但是,如果要對(duì)文字和其它非圖像類(lèi)內(nèi)容進(jìn)行修改,那只能通過(guò)解包了,改好后,再編譯回來(lái),最后簽名才能放進(jìn)手機(jī)安裝。下面介紹幾個(gè)對(duì)APK進(jìn)行解包和打包的案例。

2. 漢化APK軟件

在res文件夾中,我們可以看到有很多values-***的文件夾,這就是語(yǔ)言包。values是英文語(yǔ)言包,values-zh是中國(guó)地區(qū)語(yǔ)言包(包含港澳臺(tái)及內(nèi)地),values-zh-rCN是中文簡(jiǎn)體語(yǔ)言包(只包含內(nèi)地),values-zh-rTW是中文繁體語(yǔ)言包(港澳臺(tái))。除此以外,其它地區(qū)的語(yǔ)言包都是精簡(jiǎn)的對(duì)象,可以不過(guò)多了解。
在values文件夾里,通常有arrays.xml、strings.xml等語(yǔ)言文件,要作漢化就要對(duì)這些文件進(jìn)行修改。有時(shí)也需要修改其它xml文件,一個(gè)一個(gè)地認(rèn)真查看。改好后,打包,簽名,OK。

3. 修改桌面圖標(biāo)名稱(chēng)(標(biāo)簽)

每一個(gè)APK文件都有一個(gè)“圖標(biāo)標(biāo)簽”。將APK程序安裝進(jìn)手機(jī)后,在圖標(biāo)下面顯示圖標(biāo)標(biāo)簽文字。這個(gè)圖標(biāo)標(biāo)簽的內(nèi)容是可以修改的。在\res\values下找到strings.xml,修改其中的一行:
圖標(biāo)標(biāo)簽
例如:靜音啟動(dòng)
同理,如果是窗口小插件,要修改widget_name。
注意:system/app下的apk不宜修改,因?yàn)橐瑫r(shí)修改對(duì)應(yīng)的odex文件。
改好后,打包,簽名,OK。

4. 去掉APK中的廣告

有很多APK應(yīng)用都帶有廣告。為了去掉程序中的廣告,要修改main.xml文件與廣告有關(guān)的內(nèi)容。在\res目錄下找到文件main.xml。通常在\layout目錄下,有時(shí)也被放在其它目錄下。甚至,有時(shí)不存在main.xml文件,廣告行被放在其它xml文件內(nèi)。只能細(xì)心逐個(gè)文件進(jìn)行查找。無(wú)論哪一種情況,查看其內(nèi)容,你會(huì)看到有一項(xiàng)類(lèi)似的命令如下。這就是廣告顯示。
 
將其改為:
 
可以看到,關(guān)鍵是要把fill_parent改為0.0dip,把wrap_content改為0.0dip,其它保持不變即可。這種改法就是不給廣告顯示空間,當(dāng)然你就看不到廣告了。
改好后,打包,簽名,OK。

5. 修改顯示電池為1%精度

舉個(gè)例子比如在摩托羅拉XT502上,默認(rèn)顯示只有7檔: 0%,10%,20%,40%,60%,80% 和100%。通過(guò)修改framework-res.apk,可以改變顯示精度。但是在一些手機(jī)上,實(shí)踐證明最好可能達(dá)到的現(xiàn)實(shí)精度只有10%。修改工作如下:
(1) 對(duì)framework-res.apk進(jìn)行解包
(2) 修改和增加電池狀態(tài)圖標(biāo)
(3) 修改文件stat_sys_battery.xml
(4) 修改文件stat_sys_battery_charge.xml
(5) 打包
(6) 提取stat_sys_battery.xml,stat_sys_battery_charge.xml,resources.arsc和一個(gè)圖標(biāo)目錄:drawable-mdpi
(7) 重新裝配framework-res.apk

6. 狀態(tài)欄信息通知文字顏色修改
狀態(tài)欄信息通知文字顏色,是由framework-res.apk文件里res\values下的colors.xml文件控制的,所以我們只需修改colors.xml文件就可以了。另外,此文件還控制下拉欄的文字顏色,可以修改。
用文本編輯器打開(kāi)colors.xml文件,找到
#ff000000
將這句修改為:#ffffffff
這狀態(tài)欄信息通知文字顏色由黑色改為白色。
改好后,打包,簽名,OK。


0
0

網(wǎng)友評(píng)論

發(fā)表評(píng)論

歡迎加入單機(jī)游戲QQ群:176097074

主站蜘蛛池模板: 精品国产免费观看 | 成年人一级黄色片 | 国产精品日产三级在线观看 | 国产无套粉嫩白浆免费观看 | 久久免费精品视频 | 国产一区在线视频观看 | 久久99久久99小草精品免视看 | 欧美a在线看 | 狠狠搞视频 | 毛片 ftp| 久久官网 | 久草国产在线播放 | 国产香港特级一级毛片 | 国产一区精品普通话对白 | 国产欧美日韩综合精品一区二区 | 久久福利国产 | 国产青涩| 国产精品久久久久久久久久久不卡 | 久久综合精品国产一区二区三区无 | 免费一看一级毛片人 | 成人亚洲国产精品久久 | 国产黄在线播放免费观看 | 国产一区二区免费在线观看 | 国产黄色精品 | 久久九九久精品国产 | 国产午夜人成在线视频麻豆 | 国产在热线精品视频国产一二 | 国产麻豆a一级毛片爽爽影院 | 国产欧美日韩综合在线一 | 狼人久久尹人香蕉尹人 | 久久久国产99久久国产首页 | 免费v片在线看 | 国内精品久久久久影院中国 | 久久99精品久久久久久h | 久草综合在线视频 | 精品九九久久 | 成人看片软件 | 老司机深夜福利ae 入口网站 | 玖玖精品在线视频 | 国产精品二区三区 | 国产无套粉嫩白浆免费观看 |