古詩詞大全網 - 個性簽名 - 如何修改遊戲apk,線上線下。怎麽修改,修改那些文件?

如何修改遊戲apk,線上線下。怎麽修改,修改那些文件?

本文完全照搬安卓成員liujiajia6790寫的教程。我正在學。非常感謝!!!

APK文件的拆包、包裝和修改

我相信每個玩電腦的人都熟悉APK文件。妳可能每天都要和APK文件打交道,無論是安裝卸載有用的應用工具,插件,好玩的遊戲等等。。。妳知道每天伴隨妳的這些APK文件是什麽嗎?如何對它們進行壹些改變?比如:英文版漢化,修改功能,修改文字描述,去掉廣告等等。介紹了APK的基本知識和結構,APK文件的拆包、打包和簽名,以及APK文件的日常修改。

1簡介。APK文件

APK是Android Package的縮寫,即Android應用包文件或Android安裝包。每個要安裝在Android平臺上的應用程序都應該編譯並打包到壹個單獨的文件中,文件的後綴為。apk。APK文件是由專業軟件eclipse編譯的壹個包,裏面包含二進制代碼、資源、配置文件等。它可以通過直接將APK文件傳輸到Android手機執行來安裝。APK文件其實是zip格式的,只是擴展名改成了apk,可以直接用解壓軟件打開。通過WinRAR或unzip解壓後,妳會看到幾個文件和文件夾。典型的APK文件通常由以下內容組成:

AndroidManifest.xml程序的全局配置文件

Class.dex達爾維克字節碼

resources.arsc的編譯二進制資源文件

META-INF\ Signature信息存儲在此目錄中。

Res\該目錄保存資源文件。

Assets\這個目錄可以保存壹些配置文件。

下面是這些文件和目錄的壹些基本說明和介紹。

AndroidManifest.xml

這個文件是每個應用程序都必須定義和包含的文件。它描述了應用程序的名稱、版本、權限、引用的庫文件和其他信息。在妳能閱讀它之前妳需要打開它。

Classes.dex文件

Classes.dex是通過編譯java源代碼生成的java字節碼文件。Dex是Dalvik VM executes的全稱,即Android Dalvik Executor,不是Java ME的字節碼而是Dalvik的字節碼。

resources.arsc

編譯的二進制資源文件。

元信息目錄

META-INF目錄存儲簽名信息,保證apk包的完整性和系統的安全性。eclipse編譯生成apk包時,會對所有要打包的文件進行檢查計算,並將計算結果放在META-INF目錄中。這保證了apk包中的文件不能被隨意替換。比如拿到壹個apk包後,想要替換壹張圖片、壹段代碼或者壹條版權信息,直接解壓、替換、重新打包基本是不可能的。這使得病毒感染和惡意修改更加困難,有助於保護系統的安全。

Res目錄

Res目錄存儲資源文件。包括圖片,字符串等等。

開箱後,幾乎所有可能的修改和編輯基本都在這裏了。

資產目錄

Assets目錄可以存儲壹些配置文件,在程序運行過程中可以通過相關的API獲取這些文件的內容。

2.拆包和包裝。APK檔案

APK文件是由專業軟件eclipse編譯生成的軟件包。網上可以找到很多軟件對apk的內容進行反編譯。比如可以通過AXMLPrinter2工具和命令解鎖APK的Android manifest . XML:Java-jar axml printer 2 . jar Android manifest . XML最近業界有壹個強大的解包打包工具包apktool,可以用來在Windows下方便快捷的解包打包APK文件,給修改和編輯帶來了很多方便。下面介紹壹下它的用途。

1) APKtool軟件包

APKtool軟件包由兩個程序組成:apktool.jar和aapt.exe。

此外,還提供了壹個批處理文件apktool.bat,其內容如下:

Java-jar " % ~ dp0 \ apk tool . 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聯系人

這裏“d”的意思是解碼。聯系人。APK是要解包的apk文件。ABC是子目錄名。所有解壓縮後的文件都將放在這個子目錄中。

3)APK文件的包裝

在DOS下鍵入命令

apktool b ABC新聯系人. apk

這裏“b”的意思是打包。

ABC是壹個子目錄名,解壓時生成,用來存放所有解壓和修改過的文件。

新聯系人。APK是打包後生成的新apk文件。

4)框架文件

在解包APK文件時,apktool需要壹個框架文件(framework-res.apk)來解碼和打包。Apktool已經包含了標準框架,所以在解包大部分APK文件時,不需要提供額外的框架文件。然而,壹些制造商使用他們自己的框架文件。為了理解這個包,他們必須從手機中提取框架文件(framework-res.apk)並安裝到電腦上。安裝命令是:

apktool if framework-res.apk

安裝後會得到:~ \ apk tool \ framework \ 1 . apk。

5)拆包、拆包和簽名批量處理

在實際使用中,可能會處理多個APK文件。把它寫成批處理文件很方便。包裝和簽名可以壹次完成。

解包批處理命令:

對於%%i in (*。d % % i _ % % i & amp& amp移動_%%i修改文件。& amp復制%%i備份原始文件& amp& amp@echo File [%%i]解包過程完成!

打包和簽署批處理命令:

for /d %%i in (*) do cd..& amp& ampjar b修改_文件\ % % i & amp& ampJava-jar signapk . jar testkey . x509 . PEM testkey . pk8修改_Files\%%i\dist\*。apk % % i & amp& ampren % % i New % % i & amp& amp移動新的%%i修改簽名文件& amp& amp@ echo % %我完成重新打包簽名!& amp& ampcd修改_文件

3.應用示例:打開APK後的編輯和修改。

為什麽打開APK的文件?當然,有必要對其內容進行必要的修改。修改什麽?通常情況下,如果只是更換鏡像,就沒有必要拆包打包。用WinRAR打開APK文件,直接替換。但如果要修改文字等非圖片內容,只能通過解包解碼。以下任務需要解包和打包APK。這裏只是壹個大概的介紹,詳細的操作方法和教程請自行查找。

1)中文APK軟件

在res文件夾中,我們可以看到有很多文件夾的值都是-***,也就是語言包。Values是英文語言包,values-zh是中國(包括港澳臺)語言包,values-zh-rCN是簡體中文語言包(僅包括中國大陸),values-zh-rTW是繁體中文語言包(港澳臺)。另外,其他地區的語言包都是簡化對象,妳可以不太了解。

在values文件夾中,通常有arrays.xml、strings.xml等語言文件。如果要將這些文件本地化為中文,必須對其進行修改。有時候需要修改其他xml文件,壹個壹個仔細看。

2)修改圖標標簽

每個APK文件都有壹個“圖標標簽”。APK程序安裝到手機後,圖標標簽文本會顯示在圖標下方。此圖標標簽的內容可以修改。在\res\values下找到strings.xml並修改壹行:

& ltstring name = " app _ name " & gt圖標標簽

例如:

同樣,如果是widget,就需要修改widget_name。

註意:system/app下的apk不要修改,因為要同時修改對應的odex文件。

3)刪除APK的廣告。

有許多帶廣告的APK應用程序。為了刪除程序中的廣告,需要修改main.xml文件中與廣告相關的內容。在\res目錄中找到main.xml文件。通常在\layout目錄下,有時在其他目錄下。甚至,有時候沒有main.xml文件,廣告行放在其他xml文件裏。壹次只能仔細搜索壹個文件。無論是哪種情況,檢查它的內容,您都會看到類似的命令,如下所示。這是廣告展示。

& ltcom . admob . Android . ads . ad view Android:id = " @ id/ad " Android:layout _ width = " fill _ parent " Android:layout _ height = " wrap _ content " admobsdk:background color = " # ff 000000 " admobsdk:text color = " # ffffffff " admobsdk:keywords = " Android application "/& gt;

修正如下:

& ltcom . admob . Android . ads . ad view Android:id = " @ id/ad " Android:layout _ width = " 0.0 dip " Android:layout _ height = " 0.0 dip " admobsdk:background color = " # ff 000000 " admobsdk:text color = " # ffffffff " admobsdk:keywords = " Android application "/& gt;

可以看到,關鍵是把fill_parent改成0.0dip,把wrap_content改成0.0dip,其他不變。這個改動不是給廣告位,當然妳看不到廣告。

4)將顯示電池修改為1%精度。

在XT502上,默認只顯示7個文件:0%,10%,20%,40%,60%,80%,100%。通過修改framework-res.apk,可以改變顯示精度。但是,在XT502上,已經證明可能的最佳現實精度只有10%。修改工作如下:

(1)打開框架包裝-res.apk

(2)修改和添加電池狀態圖標

(3)修改文件stat _ sys _ battery.xml

(4)修改stat _ sys stat _ sys _ battery _ charge . XML文件

(5)包裝

(6)提取stat_sys_battery.xml、stat_sys_battery_charge.xml、resources.arsc和壹個圖標目錄:drawable-mdpi。

(7)重新組裝框架-res.apk

5)狀態欄信息通知要修改的文本顏色。

狀態欄信息通知的文本顏色由framework-res.apk文件中res\values下的colors.xml文件控制,所以我們只需要修改colors.xml文件。另外,這個文件還控制下拉欄的文本顏色,可以修改。

用文本編輯器打開colors.xml文件並找到。

& ltcolor name = " HW _ status bar _ time " & gt;# ff000000 & lt/color & gt;

將這句話修改為:

該狀態欄信息通知文本顏色從黑色變為白色。