中关村在线

首页 排行 新品 问答 下载 论坛 手机 笔记本 数码相机 主板 显卡 平板电脑 更多

用android studio肿么修改打包好的apk文件

举报
讨论回答 (4)
abcdefbf
mao012293
用GHOST浏览器
tissy0630
相信每位玩机的人对APK文件都不陌生。你可能每天都与APK文件打交道,无论是安装和卸载有用的应用工具、插件、好玩的游戏等等。。。你可曾知道这些每天都伴随着你的APK文件是什么吗?怎样对它们作些修改呢?比如说:对英文版进行汉化、修改功能、修改文字描述、去掉广告等等。本文介绍APK的基本知识、结构、APK文件的解包、打包及签名,以及对APK文件的常规修改。

1.APK文件简介
APK是AndroidPackage的缩写,即即Androidapplicationpackage文件或Android安装包。每个要安装到Android平台的应用都要被编译打包为一个单独的文件,后缀名为.apk。APK文件是用专业软件eclipse编译生成的文件包,其中包含了应用的二进制代码、资源、配置文件等。通过将APK文件直接传到Android手机中执行即可安装。APK文件其实就是zip格式,但其扩展名被改为apk,用解压软件可以直接打开。通过WinRAR或UnZip解压后,你会看到有几个文件和文件夹。一个典型的APK文件通常有下列内容组成:AndroidManifest.xml程序全局配置文件classes.dexDalvik字节码
resources.arsc
编译后的二进制资源文件
META-INF\该目录下存放的是签名信息res\
该目录存放资源文件
assets\该目录可以存放一些配置文件
下面对这些文件和目录做些基本的注释和介绍。•AndroidManifest.xml
该文件是每个应用程序都必须定义和包含的文件,它描述了应用程序的名字、版本、权限、引用的库文件等等信息。需要解包后才能加以阅读。
•classes.dex文件
classes.dex是java源码编译后生成的java字节码文件。dex是DalvikVMexecutes的全称,即AndroidDalvik执行程序,并非JavaME的字节码而是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-jarAXMLPrinter2.jarAndroidManifest.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下打入命令apktooldContacts.apkABC
这里“d”表示要解码。Contacts.apk是要解包的APK文件。ABC是子目录名。所有解包的文件都会放在这个子目录内。3)APK文件的打包在DOS下打入命令
apktoolbABCNew-Contacts.apk这里“b”表示要打包
ABC是子目录名,是解包时产生的子目录,用来存放所有解包后的和修改后的文件。
New-Contacts.apk是打包后产生的新的APK文件。4)Framework框架文件
在解开APK文件时,apktool需要框架文件(framework-res.apk)来解码和打包。Apktool已经包含了标准的框架,所以在大多数APK文件的解包时,不需要另外提供框架文件。但是,某些制造商使用了他们自己的框架文件,为了解包,就不得不从手机中把框架文件(framework-res.apk)提取出来,然后安装到计算机。安装命令是:
apktoolifframework-res.apk
安装后就会得到:~\apktool\framework\1.apk5)解包、解包和签名批处理
在实际使用时,可能对多个APK文件进行处理。方便的做法是写成批处理文件。打包和签名可以一次完成。
解包批处理命令:

for%%iin(*.apk)dojava-jarapktool.jard%%i_%%i&&move_%%iModifying_Files&©%%iBackuped_Raw_Files&&@echoFile[%%i]unpackingprocessiscompleted!

打包和签名批处理命令:
for/d%%iin(*)docd..&&java-jarapktool.jarbModifying_Files\%%i&&
java
-jar
signapk.jar
testkey.x509.pem
testkey.pk8
Modifying_Files\%%i\dist\*.apk%%i&&ren%%iNew%%i&&moveNew%%iModified_Signed_Files&&@echo%%iCompleterepackingandSigning!&&cdModifying_Files
1804365688Q
展开查看全部 4 条讨论
相关问题

Android 8.0系统什么时候正式推出?

2199 浏览 51 回答

为什么部分 iOS 用户不喜欢用 Android 系统?

1.3万 浏览 37 回答

Android劫持病毒是怎么回事?

1440 浏览 19 回答

现在iOS比Android还有优势吗?

1635 浏览 17 回答

你理想中的 Android 电脑是什么样子呢?

1.5万 浏览 16 回答

相关产品
扩展阅读

联想moto S50评测:小屏硬核特种兵

评论 25

联想moto S50评测:小屏硬核特种兵

ColorOS 15评测:丝滑流畅 旦用难回

评论 1

ColorOS 15评测:丝滑流畅 旦用难回

OPPO Find X8首发系统,ColorOS 15全面引领安卓流畅新时代

评论 1

OPPO Find X8首发系统,ColorOS 15全面引领安卓流畅新时代

荣耀X60 Pro全面评测:6600mAh超大青海湖电池再次刷新续航记录

评论 44

荣耀X60 Pro全面评测:6600mAh超大青海湖电池再次刷新续航记录

vivo X200 Pro视频拍摄体验:突破极限,重塑专业影像体验

评论 5

vivo X200 Pro视频拍摄体验:突破极限,重塑专业影像体验
热门问题

幼儿裂缝进不去怎么办视频都市网

5778 浏览 6 回答

幼儿裂缝进不去怎么办视频都市网

肿么找回QQ浏览器历史记录

7286 浏览 6 回答

肿么找回QQ浏览器历史记录

马斯克有华人血脉吗

8761 浏览 7 回答

马斯克有华人血脉吗

平凡的荣耀兰芊翊父亲为女儿出气第几集

4914 浏览 5 回答

平凡的荣耀兰芊翊父亲为女儿出气第几集

男明星排行榜100名

5867 浏览 6 回答

男明星排行榜100名

2025年的传统節日

4375 浏览 1 回答

2025年的传统節日

第二代骁龙8和天玑9300+哪个处理器好

1121 浏览 4 回答

第二代骁龙8和天玑9300+哪个处理器好

《lofter》网页版登录入口

2257 浏览 6 回答

《lofter》网页版登录入口

平凡的荣耀爸爸出场是第几集

5053 浏览 5 回答

平凡的荣耀爸爸出场是第几集

怎样恢復微信和某个人的聊天记录?

3339 浏览 6 回答

怎样恢復微信和某个人的聊天记录?
最新问答

我的相片保存在电脑不知道哪里了 我怎么找

9292 浏览 6 回答

我的相片保存在电脑不知道哪里了 我怎么找

怎样用万用表找出电机的公用线。公用线又是什么意思呀,恳求高人指教

7225 浏览 5 回答

怎样用万用表找出电机的公用线。公用线又是什么意思呀,恳求高人指教

excel表格里插入的图片,发给别人打开看不了,怎么处理?

1万 浏览 5 回答

excel表格里插入的图片,发给别人打开看不了,怎么处理?

excel中删除其中一行的快捷键是什么?

9426 浏览 6 回答

excel中删除其中一行的快捷键是什么?

技嘉 b85-d3v 肿么跳线啊

3838 浏览 5 回答

技嘉 b85-d3v 肿么跳线啊
举报
举报成功

经过核实后将会做出处理,感谢您为社区和谐做出贡献。

请选择删除原因
删除成功
确定推荐该回答?
推荐成功

更多频道

频道导航
辅助工具