今天折腾Supower重制版汉化真给我整麻了,本来以为半小时搞定的事儿,愣是卡了一下午。来来来,直接上干货,把我踩的坑一个个给你们趟平了。
一、环境准备就出幺蛾子
按老教程把apktool+jdk+签名工具装心想这不是闭着眼操作?结果解包重制版apk时直接报错"Could not decode arsc file",卧槽这啥情况?翻遍贴才晓得,新版apk必须用apktool_2.7.0以上版本,老工具全歇菜。赶紧去github拖了最新版,解包时加个-r参数跳过资源编译,总算看见文件夹了。
二、汉化文本疯狂乱码
兴冲冲打开res/values文件夹改*,替换中文保存。一回编译直接崩了,日志里满屏“Invalid char between '' and '>'”。气得我啃了两包辣条才发现,有些字符像 &符号 在xml里要转义成&才行。更坑的是某些UI按钮的字符藏在smali里,得用dex编辑器扒拉出来改:
- 用baksmali反编译*
- 全局搜索原版英文词,比如"Share via"
- 改完再用smali重新打包回去
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
三、回编译签名闪退
好不容易编译成功生成apk,装到手机点开就闪退。检查发现三个致命点:
- 没删原签名文件:apk包里META-INF文件夹必须整个删掉
- 签名参数不对:得用v1+v2签名,光v1新版安卓不认
- 资源混淆没跳过:回编译要加--use-aapt2=false关掉aapt2
四、终极暴击:安卓12闪退
测试机安卓9跑得好好的,换到安卓12直接白屏。查日志发现报错“INSTALL_PARSE_FAILED_RESOURCES_NO_DEFAULT_CONFIG”,差点把手机摔了。后来在*里找到症结:重制版把minSdkVersion设成30了,手动改成android:minSdkVersion="21"才救回来。
等看到中文界面弹出来,天都黑了。工具链扔这儿自取:
- apktool_2.7.0
- AutoSign签名工具
- Notepad++改xml(记事本编码会出错)
这玩意儿折腾完最大感悟:千万别在windows路径里放中文!工具链全给我扔纯英文文件夹,不然各种报错能让你怀疑人生。最新版汉化包我扔网盘了,需要改细节的自己拿源码改,反正我蹲着坑就把活儿干完了。