手把手教你修改包名实现app分身

IT共享之家

共 1734字,需浏览 4分钟

 · 2022-08-02

点击上方“Python共享之家”,进行关注

回复“资源”即可获赠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学习群请在后台回复【

万水千山总是情,点个【在看】行不行

浏览 121
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报