loading请求处理中...
手机版 新型创意托付式服务平台 全国
五一VIP福利活动×

Android手机dex软件汉化教程

发布时间:2015-11-19 17:15:39     阅读次数:11825次    评论数:0次
    由于国外的软件是全英文编写,这对于国内英语不好的我们就显得很可怜了。所以国内的各种大神把各种全外文的软件汉化,让国人能方便使用。前面我们已经汉化好了arsc和xml文件,这一讲,我们就要开始学习最麻烦的dex文件汉化了。其实dex的汉化并不是难,主要是要仔细!一不小心汉到了不该汉的,就可能导致dex文件打包失败,或是软件无法使用!
Android手机dex软件汉化教程
    首先,要对DEX文件进行软件汉化,就需要先对dex进行反编译,也就是解包dex文件。把需要反编译的classes.dex文件放到Xtemp目录下,然后按住classes.dex拖拽到dex.bat上,按“1”,就会自动解包了,等出现如图内容时,就说明解包成功。
  
    上述是在windows7系统下的操作,xp用户的操作略有不同,xp用户请在C盘根目录下创建一个android目录,将xp版本的dex解包工具Xtemp文件夹放到android目录下,然后将classes.dex拖到undex.bat上就可以解包了。解包完成,就会在Xtemp目录下看到一个新生成的classes文件夹,这个就是反编译后解包的文件所存放的目录。
  
    打开classes文件夹的下级目录,我们会看到很多.smali后缀的文件,这些以.smali为后缀的文件就是反编译后的文件了,也就是我们要汉化修改的文件。很多人要郁闷了,打开文件夹一看,好多.smali文件啊,几十个,其实这都是少的,有的大软件,都有上百个.smali文件,那就更郁闷了!

    .smali文件其实就是文本文件,用普通的记事本就能打开,但是自带的记事本软件来编辑这么多文件,肯定是不行的,累都累死了,所以我们来使用强悍的Notepad++文本编辑软件!Notepad++支持批量搜索文件夹内所有的文件内容,不需要一个文件一个文件的去搜索,大大降低了工作量!
我们用Notepad++打开一个.smali文件,都是程序代码,看着都晕,这哪个是要汉的呢?
对于懂点编程的人就不会太难了,可以根据文件名和代码去找,那对于不懂编程的怎么办呢,其实也很简单的。

    我们之前说了,android软件的汉化最好是按顺序来,先汉化arsc文件,然后来汉化xml文件,最后才是dex文件,当我们汉化好arsc和xml后,先将软件打包,然后安装上,这时软件中没有汉化到的还显示英文的地方一般就在dex文件中了!

    通过我们前面的汉化,我们会发现,在汉化了arsc和xml后,还有些地方是英文的,例如下面两图中的Setting,Help,Info和Available Memory:,这4个地方都还是英文,下拉通知栏,里面也还有一些英文,这些没汉到的地方,就基本上就在dex文件里了!

    现在我们就开始来找到并汉化这些漏网之鱼吧!首先打开Notepad++,然后选择上方菜单栏中的“搜索”,选择“在文件中查找”,然后点击“目录”后面的小按钮,找到classes目录,并选择它!然后在“查找目标”后面的输入框中输入你要查找的单词,如这里我们要查找Setting,就输入它,然后点击右边的“全部查找”,稍等一会,就会为你搜索到全部文件中的Setting。

这时,我们会看到很多地方包含Setting,哪个是要汉化的呢?其实很简单,我们只需看一个关键词,那就是“const-string ”,我们只汉化“const-string ”后面的,也就是说,我们只修改const-string vX “XXX” 中两个“”双引号中间的XXX部分,其他不要动!双击下面搜索到的“const-string ”后的Setting,然后就会在上面跳转到该项,我们就可对其进行修改后面的就依照这个办法,看看哪个没汉的就搜哪个,虽然有点麻烦,但是不容易出错,对于新手还是比较适合的。如果你日后熟练了,也可以直接搜索const-string来查找要汉的,要汉化的内容肯定是跟在const-string后的,但是要注意,const-string后面的不一定是要汉化的!这里有点饶舌,看看下面截图就明白了。
 
    这搜索到的都是些不需要汉的,类似这样的还有很多,虽然都是跟在const-string后面的,但是要汉化的其实不是很多,不过这个也是要根据不同软件来看。具体的排除技巧,和汉化arsc还有xml时提到的注意事项一样!那些小技巧很多也都适用于dex的汉化排除。 

    我们一直往下找,在后面是不是看到了要汉化的地方,很明显,图中的这四个红框处就是软件中没汉到的地方,按我们汉第一个设置的的办法,把其他都搞定吧。这里其实有个小窍门,就是大家在汉化dex时,会发现很多要汉化的地方都是连在一起的,中间间隔不会很远,比如,软件设置中的一些要汉化的地方在一个文件中,而且都还在一起,有联系的。这个就要通过不断的汉化来积累经验了!

    好了,把没汉到的地方都搜索到,并汉化了,保存好后,就可以打包dex了。打包dex时,只需将classes文件夹拖到dex.bat上,然后按2,就开始打包了当出现命令行中的提示时,说明打包成功,并在xtemp文件夹下生成一个新的out.dex文件,只需重命名为classes.dex替换原文件即可。Xp下的用户在打包dex时,请将classes文件夹拖拽到redex.bat上,出现如下界面时说明打包成功,并会在同目录下创建一个out.dex文件,只需重命名为classes.dex替换原文件即可。

    这里注意,如果你汉化dex时有汉错或是把不该汉的地方汉化了的情况时,就有可能打包失败,或是在使用软件时出现错误!dex的软件汉化内容就是这些,汉化是个细心的活,大家要多练习,多积累经验,当你汉化的软件多了,很轻松就会知道哪些需要汉,哪些不要汉,对于你了解软件的结构,也有一定帮助!
本文地址:http://www.epwk.com/meijie/182736.html
来源:一品威客,转载须经版权人书面授权并注明来源

编辑:蓝blue

小编介绍:蓝blue是一品威客资深小编,从事编辑工作多年,创作和整理了近万篇优质文章。如果您对“Android手机dex软件汉化教程”有其它疑问或见解,可以联系蓝blue,共同探讨,相互学习,可以通过下面的方式与之联系。

擅长领域:APP开发 微信小程序 脚本制作 插件开发 程序开发 程序修改 微信开发 其他软件开发

留言(0

↓展开留言
您需要 注册登录 后才能发表留言。

我们提供的,不仅仅是资讯。免费注册一品网会员,您可以——
  • 成为雇主 百万威客为您解决难题!

    多方案 低价格 价格由您定!

  • 成为威客 凭技能 ,赚取真金白银!

    威客时代,轻松赚钱,首选一品威客网!

相关任务推荐更多 >
VIP经验分享 | 赚钱故事
更多 >
三秒品牌设计:品牌视觉力就要赢在第一印象,三秒见实力 电视新闻专业出身,毕业后做了品牌策划,在上海、厦门4A广告公司打拼了6年,从策划做到了品牌策划总监,... [详细]
从事着自己挚爱的事业,向着崇高的愿景奋斗一生 “初识一品威客网时,我们也是经历了很长时间的了解与沟通,发现平台的理念、服务态度等诸多方面,跟临... [详细]