对应安卓应用对比测试,有时候需要在同一个手机上安装release 和 debug 两个版本或者,有其他特殊定制需求版本,
此时两个apk的代码基本相同,但是由于包名相同,无法同时安装两个,此时可以通过如下配置:
buildTypes { debug { applicationIdSuffix "debug" } release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } }
即通过applicationIdSuffix 属性配置后,编译时会自动修改manifest.xml中的包名:
需要注意的是,如果你的代码中有使用Provider, 那么一定要记住修改其authorities,否则安装时会还是会报错误:
因为存在相同的provider name, 所以方便的做法时将authorities 也修改为带有 applicationId 部分,然后只用修改这个Id 就可以实现同一个apk 安装多个不同版本了。