在使用一款英文地图软件的时候,觉得看着英文挺不爽的就想把他汉化为中文的,其实步骤不怎么难
1.使用apktool工具对其进行反编译,apktool d *.apk .\XXX
2.在res目录下增加values-zh-rCN文件夹,代表简体中文的。在文件夹中新建strings.xml文件,把对应的字符串翻译为中文
3.apk b 目录,将修改好的内容进行打包
4.更改使用谷歌地图的api:key,这个key要自己到官网上申请一个,代替原来开发者在程序中使用的key
首先需要生成md5的指纹
生成android.keystore:D:\Program Files (x86)\Java\jdk1.6.0_29\bin>keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore
生成md5:D:\Program Files (x86)\Java\jdk1.6.0_29\bin>keytool -list -keystore android.keystore
生成了认证md5的认证指纹: 89:CD:B4:CD:XX:XX:XX:XX:C1:5C:0F:5E:A5:6C:1B:B3
用这个生成的指纹到http://code.google.com/android/add-ons/google-apis/maps-api-signup.html 页面上,提交后即可获得地图API key
5.签名apk,D:\Program Files (x86)\Java\jdk1.6.0_29\bin>jarsigner -verbose -keystore android.keystore -signedjar MockGPS_V1_101.apk MockGPS_V1_10.apk android.keystore
最后生成的MockGPS_V1_101.apk就是我们需要的apk了
之前地图汉化后地图一直显示不了,是因为我是用的别的签名软件进行签名的,这就造成了前面生成地图API key的android.keystore和后面加密所用的android.keystore不是同一个我签名用的android.keystore和用jdk工具生成的android.keystore不是同一个,所以地图就显示不出来了。