同一套代码,同一个apk,在同一个设备上安装为多个app。
比如想要在同一个手机上安装一份debug版本,一份release版本。但是后面安装的总会覆盖前面安装,最终只能安装一份。
安卓是用包名来区分apk的,如果包名相同,会被认为是同一个apk。
所以我们要作为两个不同app安装的需要修改包名。
在AndroidManifest.xml,
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="xx.yyy.zz.packageName">
我们只需要修改package为不同的名字即可。
但是如果你设置有provider的话,会遇到下面的错误。
INSTALL_FAILED_CONFLICTING_PROVIDER
<application
android:name="......">
<provider
android:name="xxx.yyy.zzz"
android:authorities="aaa.bbb.ccc"></provider>
你需要把authorities也修改为不同的值。
总结
同一份代码在同一个设备上安装为多个app,你需要修改两个地方的设置
①package名
②provider的 authorities值