当前位置:首页 > 智能手机 > Android手机 > 技巧
汉化不求人,自己动手不用愁
  • 2013-1-3 11:59:51
  • 类型:原创
  • 来源:电脑报
  • 报纸编辑:高道龙
  • 作者:小丸子
【电脑报在线】很多人都有这样的经历,在Android论坛好不容易找到了一款非常实用的小软件,安装后却发现是英文的,使用起来始终不太顺手,不过只要你用用心,动动手,自己汉化软件,又何尝不可呢?
                                                                  
    很多人都有这样的经历,在Android论坛好不容易找到了一款非常实用的小软件,安装后却发现是英文的,使用起来始终不太顺手,不过只要你用用心,动动手,自己汉化软件,又何尝不可呢?
动手汉化前的准备工作
  要汉化Android软件,首先要熟悉Android软件的结构和内容,它们都是以APK为后缀命名的,不能在电脑中直接打开,它到底包含哪些配置和内容?接下来我们就用解压软件来“解剖”它,这样就一目了然了。

  我们以一款非常实用的英文小软件“媒体扫描管理器”为例进行解释,用解压软件将APK文件解压后会得到如下的软件目录,而我们需要汉化的的是resources.arsc、classes.dex和res文件夹里的***.xml文件,而如何打开这些文件就需要利用Android的反编译软件APKTool ,当然电脑中必须安装Java包,配置Java环境保证顺利编译,最后对软件进行编译后,我们需要重新签名,还得安装APK签名软件AndroidResEdit。到电脑报官方论坛下载所有的软件后,就可以开始自己动手汉化软件了。


      我们可以直接使用“好压”等解压软件查看信息,在AndroidManifest.xml文件里包含了软件名称、版本、权限、引用的库文件等信息, classes.dex文件是Java源码编译后的代码文件


利用APKTool完成反编译

        由于是汉化,一个步骤错误就会导致失败,所以我们需要小心仔细。首先将APK编译软件解压到电脑任意目录中,笔者选择的是“D:\Program Files\APKTool v1.3.2”,然后将你要编译的软件也复制到这个目录中,目的是为了我们在后面的反编译过程中方便查找。
  接下来我们要利用cmd命令完成对软件的反编译,这一部分的操作有些繁杂,因为涉及到DOS系统的操作,但也不是太难,需要耐下心来。
  在运行栏中输入cmd进入命令窗口,在默认情况下,命令符指定操作的是C盘,你需要用指令找到你放置APKTool工具的盘符和目录,找到目录后再利用指令进入APKTool,然后输入“APKtool d media.APK media”开始进行反编译,这里的“APKtool d”表示反编译,“media.APK”指你要编译的文件,而“media”表示你要生产的文件夹,敲击回车按键,就会自动开始进行反编译,如果一切操作正确的话会提示“Copying assets and libs”,这时再进入你放置APKTool工具的文件夹时,你会发现一个以“media”命名的新文件夹,里面就是我们对软件反编译后产生的文件。

        反编译过程中,如何进行代码的操作,请参考图片仔细来


翻译过程非常简单
    反编译完成后,就可以开始进行汉化操作了,直接进入你刚刚创建好的media文件夹,选择res文件夹,会找到以values-***命名的文件,这就是我们软件中的语言包。因为我使用的这款软件只有英文,所以只有一个语言包,如果软件预置有中文,还会有values-zh或者values-zh-rCN 等有zh字符的语言包。

Values就是我们需要找到的语言包

       我们看到,在values文件夹中会包含arrays.xml、strings.xml等语言文件,这些文件就是我们需要翻译的核心文件,但这些文件我们无法直接打开,只能使用记事本进行查看,但记事本对代码的显示不是很好,这里建议大家使用“Notepad++ Portable”这款软件进行操作。
       当打开strings.xml文件后,在</string>前的英文都是在软件中显示的主要文字,也是我们翻译的核心,操作也非常简单,只要把</string>前包含的英文翻译成中文即可,只不过这款软件只包含了非常少的文字信息,所以翻译工作也比较简单,其他软件可能包含较多字符信息,如果怕翻译错误,最好能比对着手机翻译软件的显示项进行翻译。在对strings.xml文件进行翻译后,我们可以用同样的方法再查看一下arrays.xml等其他语言文件中是否包含需要翻译的字符,如果有,就用同样的方法处理即可。


把</string>前的英文翻译成中文即可,这一步需要静下心来去翻译


重新编译,完成汉化过程

    这些操作都完成以后,就可以对软件进行重新编译,最终完成汉化操作了。编译的具体方法就是将刚刚反编译的操作再进行一次,同样利用cmd指令进入APKTool,输入“APKtool b media”完成编程的操作,这里的“APKtool b”是编译指令,操作成功后会有“Building apk file”的提示。再回到刚刚mdeia的文件夹,在目录内会新增一个dist文件夹,里面的media.APK文件就是重新编译好的软件安装包 ,当然现在的安装包还无法安装,因为我们还没有进行对软件的签名。


逆向编译一次后,会提示表示编译已经完成
完成最后的签名结束汉化
    Android软件需要签名以后才可以使用,而我们编译后的软件已经改变了原来的签名信息,所以重新进行签名操作才可以安装。将刚刚编译好的软件用解压软件解压,软件目录中如果存在有META-INF文件夹,我们只需进入文件夹将里面包含签名信息的三个文件全部删除,再进行签名操作即可,如果没有META-INF文件夹,那直接用签名软件对APK进行签名即可。
     打开刚刚下载的AndroidResEdit签名软件,在顶部的菜单栏中选择“签名”,再选择你要签名的软件,确认后直接点击“立刻签名”就可以完成签名操作了。至此软件汉化操作已经全部完成,有兴趣的朋友可以自己动手试试。


这三个是包含有签名信息的文件
    


本文出自2013-01-07出版的《电脑报》2013年第1期 B.评测实验室
(网站编辑:AI高手)


我来说两句(0人参与讨论)
发表给力评论!看新闻,说两句。
匿名 ctrl+enter快捷提交