更改 android apk 包名 达到双开甚至多开的目的
起因是那狗日的乐视电视有些app没法安装, 至于为什么不能安装我就懒得说了, 总之就是一个话 Fuck
当然这个难不倒我们程序员们, 用脚指头都能想到是通过包名进行的判断, 那么我们改掉包名不就搞定了, 对吧
所需工具
- apktool
- keytool
- jarsigner
大家执行搜索安装
拆包
1 | apktool d package-name.apk |
查找包名
- 打开
AndroidMaifest.xml
文件 - 找到第一行的
package="xxx.xxx.xxx"
xx.xxx.xxx
对应的就是包名
更改包名
- 假设包名是
com.huyaohui.test
- 全局搜索并替换改名称为你想要的包名, 假设是
com.huyaohui.test2
更改 smali 路径
- 全局搜索
Lcom/huyaohui/test
- 替换成
Lcom/huyaohui/test2
更改文件夹名称
- 找到所有这种层级的
com/huyaohui/test
文件夹 - 把对应的文件夹名称更改为包名对应的名称
com/huyaohui/test2
重新打包
更改完包名的 App 重新打包
1 | apktool b package-name # 这里的 package-name 是文件夹名 |
打好的包存放路径为 package-name/dist
创建 keystore
1 | keytool -genkey -v -keyalg DSA -keysize 1024 -sigalg SHA1withDSA -validity 20000 -keystore MyDevel.keystore -alias devel -keypass MyDevel -storepass MyDevel |
重新签名
1 | jarsigner -verbose -sigalg SHA1withDSA -digestalg SHA1 -keystore myDevel.keystore -storepass MyDevel dianshijia_v5.0.3_build120.apk devel |
签名完成后, 修改包名的工作就彻底结束了
总结
没啥好总结的, 谁叫 java 那么好反编译呢 :-D
参考资料
https://www.jianshu.com/p/fe56575d3991
https://www.cnblogs.com/ayanmw/p/3720804.html