今天折腾那个《妈妈为何这样》的韩剧APP汉化,差点被整崩溃了。本来寻思韩剧APP嘛改个中文能有多难?结果啪啪打脸三次!气得我直抓头发,不过好歹摸出点门道了,必须跟大伙唠唠这血泪史。
第一次硬刚直接翻车
我抄起APK改之理,咔咔就把安装包拖进去反编译。看见满屏的韩文资源文件跟看到金子似的,兴冲冲打开res/values文件夹,把韩文
第二次栽在字体上
这回学精了,从系统字体库里扒拉了个微软雅黑.ttf,吭哧吭哧塞进APK的assets/fonts文件夹。还在代码里狂找设置字体的地方,好不容易在一个smali文件里逮到引用韩文字体的代码行,赶紧把路径改成新字体路径,心里美滋滋想着“这回总行了”。重新打包安装,手指头刚戳开图标……闪退!APP开屏闪一下就没了!直接给我整懵圈。后来用Logcat查报错日志,发现是字体文件体积太大,给内存撑爆了!雅黑字体5MB多,原版韩文字体才几百K,这不坑人么!
第三次败给隐藏文件
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
不服气!找了个瘦身版的思源黑体,只有600KB,替换上去总算不闪退了。界面汉字也能正常显示,正想开瓶可乐庆祝……翻到剧情介绍页面又傻眼了!所有用户评论和角色名字还是韩文,杵在那儿跟嘲讽我似的。这才发现还有个res/raw文件夹,里面藏了一堆二进制资源文件,名字都是乱码的.bin!用十六进制编辑器打开一看,好家伙,字符串全嵌在二进制数据里!用正则批量搜韩文关键词,手动一条条替换成中文(手快抽筋!),再塞回压缩包。打包的时候手一抖选了默认压缩方式……装完一看!部分页面直接空白加载不出来了!原来这APP会校验文件签名和压缩方式!
最终死磕出来的三条铁律
总结这三次扑街经验,成功汉化必须卡死三点:
- 字体要轻量:直接上精简版开源字体(比如思源黑体瘦身版),塞进APK前先压到1MB以内,路径必须跟代码里调用路径严丝合缝对得上!
- 资源要挖透:除了values文件夹,必须把assets、raw甚至lib库文件都翻个底朝天!任何疑似藏文本的角落都不能放过,二进制资源用Hex编辑器硬刚也得挖出来!
- 打包别手欠:压缩APK时一定选仅存储(0压缩率)!签名证书直接用原版的,偷懒用新证书分分钟触发校验崩溃!
按这三板斧重新搞了一遍——打开APP看到满屏中文台词那一刻,我瘫在椅子上抽了半包烟,比写完毕业论文还虚脱。