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

开发 后端
其实应用分身主要就是对package和provider的修改,并没有太大的技术难度!有的是需要耐心和细节!

一. 前言

哈喽,大家好,我是星期八,事情是这样婶的。

我们可能都用过应用分身,但是你想自己实现应用分身吗?

那就来看看吧!

二. 示例的app

链接: https://pan.baidu.com/s/1Tdbh2X_n11Nd8GDgygyH9w 提取码: s2s7 复制这段内容后打开百度网盘手机App,操作更方便哦

三. 最终实现的效果

可以发现,我有俩土豆视频,这可是货真价实得俩,,俩都能单独运行!

如果才能实现这样的功能呢?

四. 实现app原理

一般情况下,安卓系统只能安装一个apk,不能安装重复安装同一个apk的!

安卓系统判断apk是否为重复的主要判断依据是

  • 包名(package)
  • 内容提供者(provider)

所以,要想实现app分身,就得对症下药,从这两方面下手。

修改这俩玩意是在AndroidManifest.xml文件修改的

五. 实现步骤

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学习交流群共同探讨学习。

责任编辑:庞桂玉 来源: Python共享之家
相关推荐

2023-04-26 12:46:43

DockerSpringKubernetes

2022-04-19 10:45:28

自动化签名鸿蒙app操作系统

2009-11-09 14:57:37

WCF上传文件

2011-01-06 10:39:25

.NET程序打包

2021-05-27 11:10:42

Python开源包代码

2011-01-10 14:41:26

2011-05-03 15:59:00

黑盒打印机

2021-07-14 09:00:00

JavaFX开发应用

2009-06-05 09:49:18

修改.NET Frammscorlib.dl

2021-03-12 10:01:24

JavaScript 前端表单验证

2020-05-15 08:07:33

JWT登录单点

2011-04-21 10:32:44

MySQL双机同步

2020-11-13 08:17:48

App(滑动切换)

2011-02-22 13:46:27

微软SQL.NET

2021-02-26 11:54:38

MyBatis 插件接口

2021-12-28 08:38:26

Linux 中断唤醒系统Linux 系统

2022-03-14 14:47:21

HarmonyOS操作系统鸿蒙

2022-12-07 08:42:35

2022-07-27 08:16:22

搜索引擎Lucene

2022-01-08 20:04:20

拦截系统调用
点赞
收藏

51CTO技术栈公众号