Android中实现了英文apk应用的简单汉化,效果类似这样:

 

image

image

说一下具体步骤:

首先利用解压工具解压apk文件,解压后的目录结构如下:

image

然后利用smali工具对classes.dex进行反编译和编译,同时修改英文“help ”为“帮助”。smali下载地址http://code.google.com/p/smali/downloads/list,将红框中的四个文件下载到本地,并且放到同一个文件夹中。

image

反编译classes.dex:

ubuntu@ubuntu-desktop:~/fanxiang/hanhua$ ./baksmali com.braveo.langaid.apk_FILES/classes.dex

这样会在当前目录下生成out文件夹:

image

out文件夹中包含的是以smali结尾的文件,如图:

image

我这里打开的是LangAidView.smali文件,修改:

const-string v1, "help"为 const-string v1, "帮助"

然后在通过下面的命令编译out文件夹:

ubuntu@ubuntu-desktop:~/fanxiang/hanhua$ ./smali out

用生成的out.dex替换解压文件中的clesses.dex。同时META-INF文件夹下只保留MANIFEST.MF,其他文件全部删除。

然后利用zip工具将解压的文件夹打成zip包,修改文件后缀名为apk。

最后给apk文件签名。步骤如下:

ubuntu@ubuntu-desktop:~/fanxiang/hanhua$ keytool -genkey -alias my.keystore -keyalg RSA -validity 20000 -keystore my.keystore

输入密码等信息,最后回车如下图:

image

这样就生成了签名文件my.keystore。利用下面的命令给apk签名:

ubuntu@ubuntu-desktop:~/fanxiang/hanhua/com.braveo.langaid.apk_FILES$ jarsigner -verbose -keystore my.keystore -signedjar wendy_signed.apk com.braveo.langaid.apk_FILES.apk  my.keystore

命令中wendy_signed.apk 表示最终要生成的签名apk,com.braveo.langaid.apk_FILES.apk 表示需要签名的apk。输入密码,签名成功截图如下:

image

到此wendy_signed.apk就可以直接安装到手机使用。

来自:http://bigcat.easymorse.com/?p=729

posted on 2011-03-24 22:07  dartagnan  阅读(8251)  评论(0编辑  收藏  举报