安卓软件包解析以及简单汉化教程

时间:2015-5-10    作者:晨曦    分类:


既然要学汉化,那么就要对apk安装包有点了解。

先解压一个安装包,会得到几个文件和几个文件夹。
其中,META-INF和 res这两个文件夹,还有Androidmanifest.xml,classes.dex和resources.arsc这3个文件,它们是每个软件都有的,也就是必须的!assets有的软件有,有的没有,有的软件还有些其他的文件夹。

META-INF目录下存放的是签名信息,用来保证apk包的完整性和系统的安全

res目录是存放资源文件的
不同的软件,res[/forecolor]目录下的文件夹也不同,一般也就是
drawable (图片所在文件夹)
drawable-hdpi (高分辨率图片所在文件夹)
layout (界面布局xml文件所在文件夹)
layout-hdpi (高分辨率界面布局xml文档所在文件夹)
menu (一些菜单文件所在目录)
raw (存放帮助类文档或其他资源的文件夹,如help.html;clock.zip)
xml (其他一些xml文件所在目录)

drawable这个文件夹一般都是存放软件中的图片。有的软件要修改图片的,就要来这里找!一般游戏居多。软件很少有要修改图片的。

androidmanifest.xml是主xml文件,是每个应用都必须定义和包含的,它描述了应用的名字、版本、权限、引用的库文件等等信息,这里面基本是没有要汉化的,但是极个别软件的软件名,或是个别单词会存在于这个主xml中!

classes.dex是java源码编译后生成的java字节码文件,通俗点就是整个软件的代码文件。

resources.arsc是编译后的二进制资源文件,是主要的资源文件,汉化时首先要看这个文件,最先汉化的也是这个文件!


注意事项:
0.我们主要是汉化开头大写的英文。
1.带_符号的英文不用汉化。
2.小写字母开头的不用汉化,不过有特殊情况。
3.http://这个不用说,不汉化。
4.两个或多个首字母大写的单词连在一起的,不汉化。

先来学习简单的resource.arsc汉化。
用mt管理器打开软件,打开resources.arsc文件,点翻译模式,点default,然后看到很多英文,这里就是我们要汉化的了,点右下角的翻译,选择谷歌翻译,等待它翻译完,保存签名,汉化完成。
但有时候我们点翻译模式除了default外,看到还有其他文件,比如说zh-TW,zh-CH等等等,这些我们也要了解。
先用apktool反编译软件,反编译完成之后打开后缀为src的文件夹,打开res文件夹,打开values,里面有个strings.xml文件,我们default出现的英文就是在这里的,这里只是说说。我们返回res文件夹,我们主要看这里,我们会发现有values-xx的文件,这就是每个国家的语言,比如说values-zh-CH(简体中文)values-zh-TW(繁体中文)values-zh-HK(繁体中文),这个都明白了吧,这就是China中国,TaiWan台湾,HongKong香港,不知道为什么要分开,都是中国人,不过人家就是这么规定的。

再看看xml汉化,我们用MT管理器打开res,发现里面有许多xml文件,这里我们也需要汉化的。有些软件有一键翻译有些没有的就手动翻译,未完待续