汉化教程-工具

   现在随处都可以找到功能强大的汉化工具,操作简单,上手快,汉化不再是件麻烦事。想学汉化的朋友只要你用心,你也可以自己汉出优秀的作品,因为汉化根本没啥技术含量,要的只是持之恒。
      不要再羡慕别人会汉软件有多么多么牛X了,只要你有些不差的英语功底,有着热爱汉化、分享资源的热情,你也能成为“汉化达人”,一切皆有可能!

教程分三个部分:
第一部是强制汉化教程,是Android软件比较早的汉化方法,方法是用汉化工具在原语言(英文、或软件原带的其它语言)的基础上将单词和语句强制修改成中文。
第二部是APKTool汉化、精简教程,方法是用APKTool工具将软件反编译解包,直接用文本编辑工具修改语言包、精简语言包或自行添加中文语言包。
第三部分是去广告教程。


汉化工具(帖子已提供附件):
AndroidResEdit(arsc/xml汉化、签名工具)
汉化狂人(arsc/xml汉化工具)
Notepad++ Portable(dex汉化、文本编辑工具)
APKTool(反编译/编译工具)
smali/ baksmali(dex解包/打包工具)
WinRAR(apk安装包打包/解包工具)

* 基础知识:
1、apk安装包的文件结构
以知名桌面软件“LauncherPro”为例,apk安装包文件目录如下图:

 

文件目录如下:
- META-INF
- res
  - anim
  - color
  - drawable
  - drawable-hdpi
  - drawable-land
  - drawable-land-hdpi
  - drawable-mdpi
  - drawable-port
  - drawable-port-hdpi
  - layout
  - layout-land
  - layout-port
  - xml
- AndroidManifest.xml
- classes.dex
- resources.arsc

- 多数情况都要汉化的是resources.arsc、classes.dex和res文件夹里的***.xml文件。
- META-INF文件夹里面存放的是证书文件,软件修改后需要将里面的证书文件删除(***.RSA、***.SF、***.MF三个文件),否则软件无法安装。
- res文件夹里存放的大部分是软件所需的资源及布局文件(drawable存放资源、layout、xml存放布局文件***.xml),部分需要汉化的单词、语句会在这些***.xml文件里。
- AndroidManifest.xml文件里包含了软件名称、版本、权限、引用的库文件等信息。极少数软件在这个文件里会有单词、语句需要汉化。
- classes.dex文件是Java源码编译后的代码文件。通常该文件里都有单词、语句需要汉化。
- resources.arsc文件是编译后的资源文件,大多数情况下,需要汉化的单词、语句绝大多数都在这个文件里,汉化的时候首先就要看这个文件。

* 另外,一些需要汉化的***.png图片文件、***.html文件、***.txt文件可能会在assets文件夹或res/raw文件夹内。图片文件需要用Photoshop修改,html、txt文件可以直接用Notepad++ Portable文本编辑工具修改(不建议用系统自带的记事本,这东西杀伤无数….)。

2、打包/解包
apk安装包其实就是zip格式的压缩包,只是文件扩展名改成了apk而已,所以可以直接用解/压缩软件WinRAR打开,若你的系统没有关联apk文件,请先安装WinRAR,打开WinRAR——选项——设置——综合,在“用户自定义压缩文件扩展名”处填上apk,点“确定”保存即可。之后就可以直接双击用WinRAR打开apk安装包文件。
汉化软件的时候,不需要把整个apk安装包解包,对于需要汉化的文件,如resources.arsc、classes.dex等文件,直接用鼠标拖出来,汉完后再拖进apk安装包后重新签名就行了(签名问题下面会讲到)。

3、签名
Android的软件也需要签名,不过和Symbian相比,却要简单方便得多,首先是不需要自己去申请证书,下载个签名工具就可以签名了。另外,我们从电子市场、软件官网下载来的软件都是已经签好名的,可以直接安装,这里讲到的签名,是针对软件安装包被修改过的情况(如汉化需要修改安装包内的文件,原来的签名文件就不能用了,所以要重新签名软件才能正常安装。),正常情况下不需要签名。
现在Android可用的签名工具很多,想方便点的话可以用汉化浪子出品的AndroidResEdit,这个软件自带签名包(工具在帖子附件有提供)。
签名方法很简单,删除原签名文件后(META-INF 文件夹内的***.RSA、***.SF、***.MF三个文件),打开AndroidResEdit——签名——签名apk文件,选择需要签名的apk安装包后点击“立即签名”即可。

4、安装Java
这个是最基本的,汉化相关的软件都需要用到Java,必须要安装,否则汉化过程中出现各种奇奇怪怪的问题不要问我。
安装地址:http://www.java.com/zh_CN/ 
                                                   APK汉化教程
一、基础知识
1APK文件结构
1)何为APK

APKAndroid Package的缩写,即Android安装包,类似Symbian Sis Sisx的文件格式。通过将APK文件传到Android 模拟器或Android手机中执行即可安装。和sis一样,apk文件最终把android sdk编译工程通过特殊打包形成一个安装文件,其本质是压缩文件,只是扩展名被修改为apk。在Android系统安装时,APK程序会被存放在系统默认的APP目录中。

2APK文件分解

一般APK文件的大致结构如下图:
<ignore_js_op> 
我们先来逐个了解这些文件的意义和内容:
1Manifest 文件
AndroidManifest.xml是每个应用都必须定义和包含的,它描述了应用的名字、版本、权限、引用的库文件等信息。要把apk上传到Google Market上,也要对这个xml做一些配置。
2META-INF目录
META-INF目录下存放的是签名信息,用来保证apk包的完整性和系统安全。在eclipse编译生成一个api包时,会对所有要打包的文件做一个校验计算,并把计算结果放在META-INF目录下。而在Android平台上安装apk包时,应用管理器会按照同样的算法对包里的文件做校验,如果校验结果与META-INF下的内容不一致,系统就不会安装这个apk。这就保证了apk包里的文件不能被随意替换。比如拿到一个apk 包后,如果想要替换里面的一幅图片,一段代码,或一段版权信息,想直接解压缩、替换再重新打包,基本是不可能的。如此一来就给病毒感染和恶意修改增加了难度,有助于保护系统的安全。
3classes.dex文件
classes.dexjava源码编译后生成的java字节码文件。但由于Android使用的dalvik虚拟机与标准的java虚拟机不兼容,dex文件与class文件相比,不论是文件结构还是opcode都不一样。目前常见的java反编译工具都不能处理dex文件。但是不表示dex文件不能反汇编,目前网上有两款常用的dex文件反汇编工具:
(a) dexdump工具:由Android模拟器提供。启动Android模拟器,把要查看的dex文件用adb push上传的模拟器中,然后通过adb shell登录,找到要查看的dex文件,执行dexdump xxx.dex
(b) Dedexer工具。Dedexer可读取dex文件,生成类似于汇编语言的输出。这种输出与jasmin[ ]的输出相似,但包含的是Dalvik的字节码。我们会在下一节详细介绍一下Dedexer
4res 目录
res目录存放应用程序的所有原始资源文件。
5resources.arsc
编译后的二进制资源文件

2、汉化流程概述
1)汉化的本质

  开始工作之前确立工作目标和对象很关键,我们现在的工作目标是汉化,工作对象是APK程序。和VC一样,一个Android程序大致上可分为逻辑程序和资源两部分,让我们无奈的是逻辑程序部分必须由洋文完成,那么可供我们汉化的就只有资源部分了。所谓资源,其实就是一些表达程序主题文本内容或者图片文件,因此汉化可分为文本汉化和图片汉化,但本职工作都是做翻译。需要指出的一点是APK程序的图片资源都是PNG格式的位图。

2)汉化步骤:

1)解压缩:用WinRAR之类的压缩解压缩工具,将APK文件解压缩;
2)汉化关键文件:一般只需汉化解压所得到的.ARSC的文件和res目录下的图片;
3APK更新:用解压缩工具打开APK文件,用汉化的ARSC文件和资源文件替换相应原始文件,然后删除【META-INF】目录下除MANIFEST.MF 外的其他文件。本质是资源替代;
4)重新签名:用签名工具重新签名APK。注意:签名工具都需要安装JAVA环境。
签名完成后的APK程序,就汉化成功了,可以安装了。

二、软件方案

解压工具:选用【WinRAR】;
汉化工具:文本汉化选用【AndroidResEdit】;图片汉化选用【Adobe FireWorks CS5】;
签名APK:签名工具选用【Auto-sign】,AndroidResEdit自带,但必须另外安装JAVA环境;
安装地址:http://www.java.com/zh_CN
验证平台:选用Android2.3.4DEFY+一部。

三、汉化过程

这里选用的汉化对象是专业版的桌球大师V10版本—Pool Master Pro 2.0(V10)

1、设置文件格式关联

打开【WinRAR】程序,点击菜单栏上的【选项】->【设置】->【综合】,找到『用户自定义压缩文件扩展名(U)』,输入:【APK】确定。现在apk文件的图标就变成压缩文件图标了。  

<ignore_js_op> 
2、解压APK文件

右键点击【Pool Master Pro 2.0(V10).apk】,解压到『Pool Master Pro 2.0(V10)
注:解压时,最好解压到单独的文件夹,以后升级汉化会很方便。

3、汉化开始

打开汉化浪子的最新作品“ARSC文件汉化工具”,找到『Pool Master Pro 2.0(V10)』文件夹里的【resources.arsc】并打开。

<ignore_js_op>
4、英文翻译

英文翻译有两种方式:

1)逐条翻译:

针对每行原始英文,又有两种翻译方式:一是人工翻译,这个要看英文功底了,不过一般不会太复杂,多数童鞋还是都可以做的;二是自动翻译,在需要翻译的行上面【右键】->Google翻译】或【Google自动汉化】,【Google翻译】本质是打开Google网页词典的【翻译】功能,但是可惜的是<ARSC文件汉化工具>本身为20104月出的,至今已有多日,此期间Google网页词典应该发生了不少改动,因此此功能已经无效了。

<ignore_js_op>
2)批量:

这种方式包括三个子过程:【导出字典】->【翻译】->【导入字典】
1)【导出字典】:其实是把原始资源的英文部分以特定格式另存为txt文档而已。这里之所以选择“大写字母开头的词条”是因为需要翻译的英文资源一般都是大写字母开头。
<ignore_js_op> 
2)【翻译】:这里的翻译就只能人工翻译了。
<ignore_js_op> 
3)【导入字典】:与【导出字典】类似。导入后【保存文件】,汉化完成,如图:

<ignore_js_op>
5、图片汉化:

属于图像处理技术部分,这里不介绍。
提醒:选用【Adobe FireWorks CS5】处理图片时,最好选择导出图片,而不是另存为之类。

6、签名APK1)更新APK

实际是打包收尾工作,请注意观察图解操作过程。
用解压缩工具打开APK文件,用汉化的ARSC文件和资源文件替换相应原始文件,然后删除【META-INF】目录下所有文件。显然更新APK的本质是资源替代;
操作:(1)替换resources.arsc
<ignore_js_op>
2)替换res目录所有文件
<ignore_js_op>
3)删除APK程序META-INF目录下官方原有签名信息

<ignore_js_op>
2)安装JDK

JAVA环境,过程略去。

3)开始签名:

【签名】->【签名APK文件】->【选择更新后的APK文件】->【立即签名】
<ignore_js_op> 
<ignore_js_op> 
上图之所以选择失败的图片,是为了更清晰的告诉大家签名的注意事项是什么。
签名完成后,汉化过程就全部结束了。我最后想说的是:看图识图很重要,如果你失败了,请再从头仔细读图。

四、汉化验证

最后把汉化并签名完成的APK文件,复制到DEFY+SD卡,如果手机上有原版,请先卸载原版文件再安装汉化版。汉化版界面如下:
<ignore_js_op> <ignore_js_op> 


附件: <ignore_js_op> 汉化狂人.rar (599.27 KB, 下载次数: 4277) 
            <ignore_js_op> AndroidResEdit.rar (741.29 KB, 下载次数: 2613) 
            <ignore_js_op> APKTool v1.3.2.rar (4.85 MB, 下载次数: 4911) 
            <ignore_js_op> Notepad Portable.rar (9.9 MB, 下载次数: 5389) 
            <ignore_js_op> smali baksmali(dex解包打包工具).rar (10.51 MB, 下载次数: 4507) 
            <ignore_js_op> WinRAR.rar (1.39 MB, 下载次数: 582) 

posted on 2017-11-13 17:34  csguo  阅读(14715)  评论(3编辑  收藏  举报