手把手教你修改包名实现app分身
回复“资源”即可获赠Python学习资料
1. 前言
哈喽,大家好,我是星期八,事情是这样婶的
我们可能都用过应用分身,但是你想自己实现应用分身吗?
那就来看看吧!
2. 示例的app
链接: https://pan.baidu.com/s/1Tdbh2X_n11Nd8GDgygyH9w 提取码: s2s7 复制这段内容后打开百度网盘手机App,操作更方便哦
3. 最终实现的效果
可以发现,我有俩土豆视频,这可是货真价实得俩,,俩都能单独运行!
如果才能实现这样的功能呢?
4. 实现app原理
一般情况下,安卓系统只能安装一个apk,不能安装重复安装同一个apk的!
安卓系统判断apk是否为重复的主要判断依据是
包名(package) 内容提供者(provider)
所以,要想实现app分身,就得对症下药,从这两方面下手。
修改这俩玩意是在AndroidManifest.xml
文件修改的
5. 实现步骤
5.1 使用AndroidKiller
打开土豆视频.apk
不进行工程分析
打开如下
5.2 修改AndroidManifest.xml
文件
上述说过,只需要修改``AndroidManifest.xml`文件即可,不需要考虑太多!
5.2.1 修改包名
上面说到,判断是不是同一个文件,有一个主要依据就是包名!
那就先修改包名,我在原来的包名基础上加了个_1
!
5.2.2 修改provider
点击工程搜索,搜索<provider
,为啥加个<
,因为这玩意其实是个标签,加个<
更准确!
搜索结果如下
搜索到之后呢?
其实还是和修改包名一样,在后面加_1
就行!
就像这样
**PS:**注意了啊,不是说非得加_1
,加啥都行,只要和原来不一样就行!
我加_1
只是为了好区分,如果分身更多,还有_2
,_3
等等等,可不要以为只能加_1
!
还有要注意的就是,只需要修改<provider>
下android:authorities=
这个属性后面的就行了!!!不需要改其他。
并且,_1
只能加在后面,不能加在前面。
继续修改
然后搜索到了这么多,如法炮制!
把每个<provider>
下android:authorities
属性后面的那个值,后面在多加_1
即可!
如下
修改完之后,记得保存哈!
6. 重新打包
上述都完成,点击编译!
等待编译完成
7. 安装注意事项
点击生成路径,就可以直接跳转到重新打包好apk的路径了!
然后在真机或者模拟器中安装就行!
注意了啊,在安装的时候,一定要卸载官方下载土豆视频,其他app同理!
虽然我们修改了包名等啥玩意,但是其实本质并没有变,在安装的时候会验证签名!
系统会发现新的app和我原来的app签名不一致,就GG了,所以需要卸载官方下载的app!
卸载完之后,在安装由AndroidKiller
打包签名出来的app,同一个签名的不会拒绝,即使又N个app
效果就不示范了!
如果想要再多开一个app,把_1
改成_2
,_3
等等等,在重新打包即可!
8. 总结
其实应用分身主要就是对package和provider的修改,并没有太大的技术难度!
有的是需要耐心和细节!
如果在操作过程中有任何问题,记得下面留言,我们看到会第一时间解决问题。
越努力,越幸运。我是码农星期八,如果觉得还不错,记得动手点赞一下哈。感谢你的观看。
小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。
------------------- End -------------------
往期精彩文章推荐:
欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持
想加入Python学习群请在后台回复【入群】
万水千山总是情,点个【在看】行不行