如果设备上已经安装了一个apk,再次安装这个apk就会提示覆盖前面的应用
解决办法:
方法一:手动改包名
不好改,改了几次都不成功(可能是代码在svn管理的原因,改完后文件夹里的代码就没了),确实不实用。
方法二:buildTypes方式:
在app下面的bulid.gradle中添加如下代码:
方法三、flavors方式:
在app下面的bulid.gradle中添加如下代码:
方法四:${applicationId}
使用前3种方法如果还是提示删除原来的安装包,查看manifest.xml中是否使用了provider。
Provider在声明android:authorities(该值必须唯一)时,如前缀为写死的包名字符串,当出现需要同一工程分包、分渠道打包时,安装在同一android设备将导致 INSTALL FAILED CONFLICTING PROVIDER 的报错,这时可以使用${applicationId},这将避免android:authorities值非唯一的问题。