今天想聊聊折腾安卓汉化的破事儿。先说重点:别信那些花里胡哨的工具,能救命的都是土办法。
开头被坑惨了
上周刷论坛看到个冷门游戏,英文字体丑得像蚯蚓爬。寻思拆开改个中文呗,结果一脚踩进粪坑。
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
随手下了五六个汉化工具,名字都起得挺唬人。有个叫“闪电汉化王”的,界面闪得我眼瞎,载入个5M的安装包要十分钟。进度条卡在99%的时候直接闪退了,重启三遍连日志都没吐出来。
硬着头皮拆安装包
工具不靠谱只能自己动手。把apk后缀改成zip解压,瞅见那个*就知道要完蛋——这玩意儿得转成jar才能看代码。
- dex2jar拖进命令行,报错提示“头文件损坏”
- 换了三个版本还是扑街
- 蹲论坛找到个2016年的旧版才啃动
转出来的jar包用jd-gui打开,满屏的看得我脑仁疼。关键词搜到中文文本藏在*里,但资源文件早被压缩成二进制了。
菜市场挑工具
不信邪又试了七八个工具:
- 某神器要绑手机号注册,验证码收了三回才登陆成功
- 点汉化按钮弹出VIP付费窗口
- 另一个工具把我安装包图标都改成它的广告
- 有个工具更绝,直接把原文件删了说“清理垃圾”
气得我差点把键盘砸了。
土办法意外救场
凌晨两点蹲厕所刷手机,看见个2013年的老帖。楼主说用
结果环境变量配崩了三次,命令行敲到手指抽筋:
aapt d resources 原包.apk > 输出.txt
这破命令在Windows PowerShell里死活报错,换cmd窗口才吐出三百行乱码。
突然福至心灵改成:
aapt d –values resources 原包.apk
字符串全蹦出来了,连埋得最深的按钮文本都刨出来了。
缝缝补补改参数
发现汉化崩溃的祸根在配置参数里:
- res\values-en乱加translatable=”false”
- 中文库被标记成非UTF8格式
手动改完再用apktool打包,签名时又撞坑——java的jarsigner报“证书链无效”,换apksigner才搞定。
安装测试,中文显示是出来了,但排版全崩成二维码。查半天发现values-zh文件夹缺*尺寸文件,把英文版的数值抄过去才算完事。
血泪换来的结论
- 别碰收费汉化工具,八成是套壳的
- dex2jar要备着2014/2016/2019三个版本
- aapt命令记得加 –values 参数
- 改完务必检查values文件夹的完整性
折腾三天不如命令行三板斧。工具越傻瓜,埋的雷越致命。老婆骂我“修冰箱都没见你这么拼”,我说修冰箱好歹有说明书,这玩意儿连雷区地图都不给!