在某些特殊情况下我们的APP为了导量,可能有制作马甲包的需求。
什么是马甲包:马甲包是指与原APP包除了包名,包id,jks,包名称图标等给用户加以区分的东西,其他功能基本不变的APP包。正确的创建马甲包会给以后开发带来极大的便利,否则将会在以后的开发中埋下无数的坑。
1.我们要做的是在原来项目的基础复制整个项目然后打开项目副本。
此时的项目和原项目一模一样,切记不要直接在文件夹上动手脚。要用编译软件打开副本中的项目。(android studio)
2.打开软件后我们先改变包id。
打开项目中app包下的build.gradle文件修改下面代码中星号的位置,将其改成马甲包的名字。(国际惯例包名前面写com,中间写项目名称,最后写公司名首字母缩写)
applicationId "com.*****.wsjr"
3,然后我们开始修改包名。
1.修改包名不要从AndroidManifest中修改。
首先我们打开包的层级
在如图所示位置将compact Empty Middle Packages前面的对勾点掉。
2.找到星号位置的文件夹,也就是代表你项目名称的文件夹
点击右键选择refzctor下的rename键将其改为你所需要的项目名。此时下面会弹出更改包名还是文件夹名选择第一个更改包名。
然后会弹出如下界面
这里是询问我们是否修改项目中所有用到此包名的地方。因为我的测试项目中只有一个文件所以只出现修改和取消,正常项目可选择Do Refactor All 修改全部。
到这里还没有结束,我们通常会在自定义View或依赖中引用到包名,所以
4,将项目中所有用到原项目名的地方替换成马甲包项目名
按快捷键Ctrl+shift+f,查找com.*****.wsjr字段逐一将星号部分改成马甲包包名。(如果快捷键不好使可能是因为搜狗输入法等将studio的快捷键占去了,把输入法等正在用的软件快捷键关闭即可)
5,运行项目,如果项目还有报错,报错的地方肯定与项目名有关,修改成马甲包的名字即可。
如有遇到其他问题可在博客下留言。