最近老大提了一个新的需求,希望可以同时在手机上装上测试APP与正式APP,开始觉得不可能,两个手机就可以搞定的问题。

但是后来一搜索,居然有解决的办法。目前已经成功实现该功能,以此博客记录一下。

首先:

第一步 ,在gradle 中做出相应的修改。

如下如所示:

安卓手机同时安装debug版本与release版本

 其中,applicationidsuffix 可以在打包的时候 根据打包类型来修改包名,如上图所示,在打包的时候,会在原有的包名基础上,加上.debug ,当然后面想加什么都可以,记住不要加汉字哟。

图中的resValue 可以用来实现,debug版本与release版本  在安装时 名称的显示问题,此处有一个坑,就是 需要在string文件中,

将原有的app_name 注释掉,否则会报错。

如果项目中,包含拍照功能,需要加上第二步:

因为,为了适配7.0 ,目前的拍照功能,需要使用provider来实现,需要在manifests文件中,注册。所以,敲桌子,重点来了!!!!!!

安卓手机同时安装debug版本与release版本

注意以上写法,会根据包名的变化,自动切换。

同时在我们功能代码中,也需要做出相应的修改。

安卓手机同时安装debug版本与release版本

注意,此处,需要将provider定义的名称与配置文件中保持一致。

此处是一个工具类,小伙伴儿们 可以根据自己的情况,进行修改,就是将之前包名全称的地方,替换成上述写法就可以。

亲测有效。

其实,还有更复杂的情况,需要考虑到极光推送,友盟等第三方平台的appkey等,这些大家可以去参考多渠道打包,将不同情况下的相应的appkey 进行正确的赋值就可以啦。

参考博客链接附上:

https://www.jianshu.com/p/219d3eb6d057?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation 多渠道打包

https://www.jianshu.com/p/3724533dcd6a 同一手机,安装不同版本

 

相关文章: