Android应用程序汉化教程

【转自】http://jollys.javaeye.com/blog/649814

在有APKTool之前,Android软件的汉化是一件非常痛苦的事情。例如汉化狂人的汉化工具,那都是直接修改二进制文件的,首先是寻找需要修改的字符串苦难(当然汉化狂人已经做得不错了),然后修改的字符串长度还要注意中文长度不能长过原来的文字……个中郁闷就不细说了。

APKTool可以说是一个革命性的工具,有了APKTool之后,可以说,俺拽软件的汉化工作到了一个前所未有的简单程度。
闲话不说,我们用汉化实例来证明APKTool的方便简单,在动手之前,需要去APKTool的网站把工具下载下来。当然也可以下载我已经打包的APKTool.zip(Windows下使用)。

确保你的电脑已经安装了JDK1.6(JRE1.6也可以),而且安装了一个优秀的编辑软件(推荐UltraEdit),把APKTool解压到随便哪个你认为操作起来方便的目录。如果都好了,我们动手吧:



第一步,把需要汉化的文件(以汉化ColorNote为例)放到APKTool所在目录,然后命令行进入APKTool目录,执行下面的命令:

apktool d ColorNote.apk ColorNote

这句命令的意思是,对ColorNote.apk这个程序进行反编译,获得的文件放在当前目录下的ColorNote目录中。正常反编译的话,能看到下面的提示:

I: Baksmaling… I: Decoding resource table… I: Decoding resources… I: Copying assets and libs…

反编译完成,会在APKTool的目录下面,出现一个名叫ColorNote的目录,进去看看,是这个样子的!



用UltraEdit打开这个AndroidManifest.xml看看?哈哈,是纯文本文件呀!在打开res目录中的values中随便一个文件看看?也是纯文本文件啊!也就是说,只要一个UltraEdit,我们就可以轻轻松松进行汉化了(就把需要的字符串转换成中文就可以了,也不用考虑长度了!)至于要汉化哪些内容,这个大家自己研究吧,不用我详细说,也没有办法详细说的吧?(事实上,除了XML的文本资源文件外,老外写的很多程序,字符串都是hard coding在执行代码里面的,APKTool反编译会得到smali伪代码,有些在XML资源里面找不到的字符串,去看看smali的代码吧。)

中间的翻译过程我们跳过去,例如我们已经翻译好了,就在APKTool目录下执行下面的命令行:

apktool b ColorNote

这条命令是告诉APKTool,把这个ColorNote目录里的东西编译打包成APK程序

I: Checking whether sources has changed…

I: Smaling…

I: Checking whether resources has changed…

I: Building resources…

I: Building apk file…

生成的APK程序在哪里呢?在ColorNote/Dist目录里面,名字是out.apk

我们把这个out.apk文件签名之后安装看看?哈哈!完美中文汉化的俺拽程序来了!(当然,这要看汉化者的功力了。)

更多相关文章

  1. android 获取路径目录方法 以及 获取路径方法
  2. android developers training 文档学习笔记(目录)
  3. TextUtils类-Android字符串处理类
  4. android sdk 文件目录含义介绍
  5. Android SDK目录结构介绍
  6. Android应用程序目录结构分析
  7. 【目录】每次吃一点Android
  8. 基于 Android NDK 的学习之旅-----目录
  9. [置顶] Android应用开发 第二讲:Android系统构架分析和应用程序目

随机推荐

  1. Android app : use html or native?
  2. android 常用到的 listview ,scrollview
  3. 项目文件跟Google学习Android开发-工具篇
  4. Android平台截图
  5. android studio工程打jar包
  6. Android 中颜色对应的代码集合
  7. 【开源项目4】Android ExpandableListVie
  8. Android 菜单(ContextMenu)
  9. XML 文件XMLPull
  10. Android三种常用动画分享(1)--帧动画