(已废弃) coc 共存包制作保姆式教程
废弃声明
这篇文章原本的目的用安装多个部落冲突的方式实现切换账号的目的,不过由于官方对共存包的各种打击,以及 Supercell ID 切换机制的完善,现在共存包几乎没有用处了,因此本文完成了其历史使命,宣布废弃。
关于官方打击:2022/12 更新之前,共存包能正常运行,但必须在有 root 权限的环境下运行;2022/12 更新之后到 2023/05 更新之前,有些软件(如 NP 管理器)制作的共存包无法使用,有些软件(如 MT 管理器)制作的共存包可用,其中能用的这部分共存包仍需在有 root 权限的环境下运行;2023/05 更新之后,这两种方式制作的共存包都不可用,但仍有共存包在封闭的圈子内流传,我也不知道怎么做出来的。
关于 Supercell ID 切换:2022/12 更新后新增更换邮箱和绑定手机号功能,2024/06 更新后 Supercell ID 的列表可以自由排序,现有的切换方式已经相当方便。
一、什么是共存包?
在讲解共存包的概念之前,我先讲一下什么是包名(Package Name)。
每个安卓系统的软件(Android App)都有一个“包名”,这个包名不是给你看的,而是给手机看的。在安卓系统看来,这个包名是系统识别两个安装包是否为同一个 App 的唯一依据,如果包名一样,那就是同一个 App,否则就是两个不同的 App。
这时候我们就可以引入共存包的概念了,共存包本质上是修改 App 的包名,只要包名不一样,系统就会认为这是两个不同的 App,可以同时安装到手机里①,旧安装包不会被覆盖掉。此时修改后的 App 就是原 App 的共存版本,又称“共存包”。还记得以前的九游和豌豆荚吧?为什么这两个渠道商的安装包不能共存呢?因为这两个渠道商的安装包使用同一个包名。
① 就算两个 App 使用同一个包名,安装时也不一定会互相覆盖,因为 App 的内部版本号(Version Code)可能不一样。假如我现在有一个 A 软件的安装包,那么只有 A 软件安装包的内部版本号大于或等于手机上已安装的 A 软件的内部版本号时,系统才会进行覆盖操作。如果新安装包的版本号和手机上已有的相同,我们管这种操作叫“重装”;如果新安装包的版本号大于手机上已有的软件,我们管这种操作叫“软件更新”;如果新安装包的版本号比手机上的小,那么会安装失败,你需要先卸载手机上的新版本,再安装旧版本。新版本的内部版本号更小这种情况常常出现于 App 的运营公司改变之时,两个公司没做好交接就容易出现这种情况。
二、什么人需要共存包?
刚才我们讲到共存包本质上就是修改 App 的包名,把一个 App 变成两个,这样你就可以同时登录两个账号了,所以这篇教程适合想要同时登录多个 COC 账号的玩家。
注意:
- 登录腾讯版 COC 时手机里只需要留一个 QQ/微信,登录时先切换 QQ/微信 的账号,再进你的 COC 共存包授权即可。当然腾讯官方一直在打击这个,有这类需求的话建议使用模拟器的多开工具,多开几个模拟器。国际服(谷歌版)不需要 QQ/微信 登录,比国服方便很多,这也算是国际服的好处之一。
- 如果你想使用国际服的存档登录,请参考这篇文章:国际服的三种登录方式。这里强调一下,存档文件对不同包名的多开包无效,比如官方版本 (com.supercell.clashofclans) 生成的存档只能用于官方版本的 COC,复制到包名为 com.supercell.clashofclans.a 的多开版本对应目录下会无法识别。
- 游戏每次更新后都需要重新制作共存包,所以如果你的号比较多,建议大更新的时候再制作,遇到非强制更新(可选更新)就不要浪费时间重新制作了。
- 再次强调:制作共存包需要 root 权限!
三、共存包怎么制作?
1. 所需工具
- NP 管理器(本教程使用 3.0.54 版本,其它版本照猫画虎即可)
- apk 编辑器
- ZArchiver(文件编辑,类似于 MT 管理器。这个可以不用,但我还是打包了)
共存包所需的工具在这里下载:coc 共存包制作工具(解压密码 cocservice).7z
这个文件是 7z 格式,如果无法解压请去 7-zip 官网 下载一个。
解压后电脑可能会报毒,请提前关闭 Windows 安全中心的实时保护和 360 等杀毒软件,以免文件还没来得及放进模拟器(或虚拟机)就被删了。
2. 去除签名校验
(1) 打开 NP 管理器,点击左上角的菜单。
(2) 点击 “安装包提取”。
(3) 选择要更改的 apk。
如果你不知道哪个是原版,那就看看包名,com.supercell.clashofclans 是国际服原版。
(4) 点击 “提取安装包”。
(5) 提取完定位到目录
(6) 点击提取出来的安装包,选择 “功能”。
(7) 点击 “去除签名校验”。
(8) 记住去除签名校验之后的安装包名称和目录,这个名称一般会带有 kill 后缀。
3. 修改包名并给 app 重新签名
(1) 打开 apk 编辑器,点击右上角设置。
(2) 点击 “Sign APK with”,选择 “key created by APK Editor”,这一步的意思是将 apk 编辑器设置为“打包后自动签名”。
(3) 返回 apk 编辑器首页,点击 “选择一个 APK 文件”。
(4) 找到刚才 NP 管理器制作的已去除签名校验的文件,点击这个安装包,选 Common Edit。
(5) 修改包名(Package Name)。包名不要带数字,以免安装时闪退,你改成 com.supercell.clashofclans.a 就行。
上图的软件名称(App Name)可以不改,但是建议改一下,以免你分不清哪个是原版。这个图中的 Version Code 就是内部版本号,Version Name 是咱们平时看到的版本号,你可以视自己的需求修改。
(6) 共存包现在已经制作完成,我们点击安装即可。
现在我们就大功告成了!
再次强调:使用存档登录(storage_new.xml)的玩家注意:不同包名的 coc 生成的存档不能互通,比如原装版本(com.supercell.clashofclans)生成的存档只能用于原装版本,复制到包名为 com.supercell.clashofclans.a 的对应目录下则无法识别。
注意:本文内容仅供学习交流,请勿用于非法用途。