〖全民汉化〗Android软件汉化教程之图文第十课————Apktool汉化常见问题及解决方法
本帖最后由 OPkyd 于 2013-11-27 11:28 编辑第十课:Apktool汉化常见问题及解决方法
本篇教程主要是讲解apktool工具汉化的常见问题及解决办法,因为很多小白在使用过程中由于汉化失误,回编译时apktool会给出很多你看不懂的报错行,那么如果解决这些问题呢?今天我就在此总结几点最容易犯错的示例给大家参考,因为我也是个半斤八两的汉化者,哈哈。
因为平时也没遇上几个问题,所以暂时写不全,大家见谅啊。首先,我先给出一张图片进行大致讲解:
上图中有N多条报错,例如红线画出的部分就是1条,有时候这样的报错只有几条,但有时候会多出几十条。
1.关于精简语言给出的报错:
因为有些软件res\values中的语言包不完整,有些语句会出现在其他语言文件夹,所以你精简语言的时候就会报错。图中的大概意思为:在\res\values\public.xml第1112行,string/add_record_hour未定义。有两种解决办法:
1).打开\res\values\public.xml将第1112行删除并保存。
2).未精简语言包时搜索出其他语言包中的这行代码复制到\res\values\string.xml中。
通常情况下,建议使用第2种解决办法,因为这样能保证语言和软件的完整性。
2.关于各种汉化时出错的报错:
1).xml文件中的错误:
当你全部汉化完以后,没精简语言,但是同样出现了报错,如图:
这时候就要使用Beyond Compare对比工具了,(所需工具在第四课)
**** Hidden Message *****
如图:
你会发现原来是那小小的符号被不小心丢掉了!在汉化时,切勿丢掉符号!其他还有些错误暂时想不起来,但是解决方法与以上两种方法类似。
2).smali文本中的错误:
说到smali文本汉化有人就头疼了,因为要转码,所以就要格外小心。首先看图:
出现上图的原因是你在汉化的时候,有部分拼写错误,多了个字母R。解决方法是搜索\Rn767d,后面的汉字不要搜索,因为那是u码转换成的中文,搜索的时候还是u码而不是中文。如下图所示:
解决方法:
**** Hidden Message *****
同样,在smali里面也不可以丢掉双引号,否则会出现如下错误:
这时候搜索报错提示中的\n767d,就能找到了。
虽然常见的错误不少,但是在此我也不可能面面俱到。而且归根结底,处理方法都大同小异,只要大家在汉化时细心再细心,就能避免类似错误。本堂课到此结束。
教程到此完成,若有不足日后再完善,欢迎提出意见。
汉化在于经验,从我学习汉化到现在,我还是能够不断的学习到新的知识。对于汉化也越来越上手,不过教程,就是只能这样写,因为很多东西都需要举一反三,需要自己去发现。没有固定的模式。教程只是引导你进入汉化领域的导师,能学到什么东西,能到达什么样的地步。只能看熟练程度还有对汉化的兴趣。
传送门:
第一课:http://www.52pojie.cn/thread-225285-1-1.html
第二课:http://www.52pojie.cn/thread-225295-1-1.html
第三课:http://www.52pojie.cn/thread-225298-1-1.html
第四课:http://www.52pojie.cn/thread-225309-1-1.html
第五课:http://www.52pojie.cn/thread-225314-1-1.html
第六课:http://www.52pojie.cn/thread-225319-1-1.html
第七课:http://www.52pojie.cn/thread-225323-1-1.html
第八课:http://www.52pojie.cn/thread-225327-1-1.html
第九课:http://www.52pojie.cn/thread-225364-1-1.html
第十课:http://www.52pojie.cn/thread-225368-1-1.html
沙发支持 支持楼主 谢谢楼主分享
楼主更新好快,还没来得及学,等楼主更新完了,看结合贴,{:301_1003:} 好东西啊 {:301_1010:}楼主真是好牛 啊 看看哦 感谢分享亲
这一课不错,遇到问题可以来找找
谢谢分享好的教程,支持一个