Android汉化和修改基础
1、汉化工具介绍前面已经说过,APK的语言资源主要就在ARSC中,那么如何修改这个ARSC呢?现在就请出“Android汉化狂人”!“汉化狂人”在S60平台上已经小有名气,而汉化浪子也开发出了专为Android系统而生的“Android汉化狂人”。它可以直接打开APK,分析包内的图片、XML和ARSC文件,还支持字典的导入和导出,一点不比S60的汉化狂人弱。我们现在就拿一枚英文软件’‘开刀”吧。
2、ARSC和XML汉化实例1.以“Full Screen Caller ID”这个软件为例。我们先将它的APK拖拽到汉化狂人的窗口中,点开res下拉菜单,找到resources.arsc文件,点击打开。2.在窗口右边,我们可以看见语言资源已经以列表的形式向我们展现出来了。我们还可以发现,这个ARSC是多语言的,包含了除英语以外的12种语言。3.Android系统对于ARSC中没有本地语言的应用程序,会默认使用英语,所以我们就要对ARSC中的英语部分进行汉化了。双击英文词条,将英文翻译成中文,翻译好之后点击“确定”即可。4.之后的资源同理,一个一个耐心地翻译,完成之后点击一下左边的列表中的其他XML文件,会弹出一个提示框,点击”确定”即可保存你的修改。修改过的文件会在前面的框中打上勾。5.前面也说过,程序的一些语言资源会出现在XML中,所以我们在保存之前,还可以检查一下XML里是否有其他的语言资源。XML文件和ARSC文件不同,ARSC作为纯粹的语言文件,里面是没有过多的别的资源的;而XML中还包含了很多程序的UI布局方面的信息。所以XML文件是不能随便修改的,否则程序就会出现问题。6.那具体哪些可以修改,哪些又不可以修改呢?简单的说,以小写字母开头的、不以字母开头的、几个单词合并到一起的,还有诸如Text、View、Button等单词,是不能随便汉化的,因为这些可能是Iayout的内容,而不是语言资源。具体的哪些可以汉化哪些又不可以汉化,就要凭自己的经验了。
3、ARSC和XML汉化小技巧Android汉化的资源非常庞大,一般的一个程序需要汉化的词条都在100以上,以我们举例的‘’Full Screen CalIer ID”来说,它的ARSC中需要汉化的词条有180多个,而且其中还有很多是长句。所以我们不能只顾眼前,而不为以后的汉化留下什么东西,否则每一次的汉化工作量将会非常巨大。我相信不是所有人都有那么多精力,每次都耗费几个小时的时间来做汉化的。而且很多人可能发现,如果直接在汉化狂人的界面中汉化,有时候如果要搜索某个词条,只能以首字母的方式一个一个的找,很费事费力。所以我们需要一些小技巧——利用字典的的功能。点击’‘文件->导出字典->全部英文词条”。保存好之后,直接用记事本打开导出的字典,会看见所有的词条都以列表形式展现在大家眼前。现在我们需要在需要汉化的词条后面输入汉化的内容,全部汉化好之后保存,这样一个字典就做好了。现在我们在汉化狂人的界面中点击’‘文件->导入字典",将我们制作好的字典导入到ARSC中,看吧,神奇的事情发生了!检查一遍无误后,按照之前的方式保存好汉化后的ARSC就行了。这样做的好处是,既保存了汉化的字典,以便在以后的汉化中使用,也方便在汉化的过程中直接使用Ctrl+F来搜索词条,一举两得,非常轻松。
4、APK的签名当所有的ARSC和XML都汉化完成后,我们就要对整个APK文件进行保存了。按快捷键Ctrl+S直接保存APK文件,“确定”后,就会弹出保存完成的提示,随后还会提示“签名完成”。Android汉化狂人在直接汉化APK文件的时候,保存时会自动对APK进行签名。而在单独汉化ARSC和XML文件的时候,由于没有打开APK文件,所以不会有签名,这时我们在替换好这些文件后,要手动对APK进行签名。按快捷键Ctrl+A,选择好需要签名的APK后,点击“立即签名”就行了。APK文件之前不是已经签名了吗?为什么还要再签名呢?因为APK文件在进行签名的时候,是会对包内的所有文件做一次加密计算的,以计算的结果来决定签名文件。现在我们修改了APK中的内容,那么计算的结果就不一样了,所以需要重新签名。另外,使用汉化狂人的签名工具签名出的验证文件分别为CERT.RSA和CERT.SF,而有的APK中的原始验证文件可能是其他的,这样在签名后会出现多个RSA和SF文件,我们需要用WinRAR把APK打开,把以前的验证文件删掉。所以,这里建议大家在汉化以前先用WinRAR打开APK,将META-INF文件夹直接删除,汉化好之后再重新签名,这样就不会出问题了。