安卓AndroidStudio如何在同一个手机中安装两个相同的项目+++++自己处理的一些问题解决方法

时间:2024-03-16 14:16:53

我的开发工具: AndroidStudio

今天由于公司业务需要, 经理让安装两个相同的APP到手机上, 考虑到包名是应用程序的唯一标识, 所以在工程列表的app下的build.gradle里, 把applicationId改成了不同的. 然后再使用新的签名文件(也可以使用同一个签名文件)重新打包, 这样打包出来的APK就可以和其它的项目同时运行在手机上了. 


但是这种方法在我华为4.4的手机上可以见效. 在7.0的华为荣耀上却不行, 安装的时候报错,安装不上. 经过搜索和排查,发现是在一些机型上只修改build.gradle里的applicationId是不行的. 还需要修改清单文件里的包名package. 要改成和applicationId里一样的. 然后在项目列表里的包名也要重命名下, 改成和applicationId一样的.这时候再重新打包, 安装到手机上, 就可以了.


具体截图如下:

一, 把工程直接复制一份, 然后导入STUDIO并打开. 然后在build.gradle里,把applicationId改成新的, 改什么随你啦. 

安卓AndroidStudio如何在同一个手机中安装两个相同的项目+++++自己处理的一些问题解决方法


二,在清单文件中, 把包名package修改成和applicationId里一样的内容.

安卓AndroidStudio如何在同一个手机中安装两个相同的项目+++++自己处理的一些问题解决方法

此时下方的Activity可能会报错, 变红.

安卓AndroidStudio如何在同一个手机中安装两个相同的项目+++++自己处理的一些问题解决方法

这时候需要再把工程左侧的包名改一下,比如你之前的包名是com.baidu.test 你需要改成com.baidu.test002, 就需要在对应的包名下手动更改下

安卓AndroidStudio如何在同一个手机中安装两个相同的项目+++++自己处理的一些问题解决方法

找到对应的包, 在上边单击右键选择Refactor - rename , 输入你要更改的包名,然后再点击对话框上的 Refactor, 此时会在STUDIO下方弹出更改包名会涉及到的文件, 直接在大概左下方的位置, 还有一个Refactor, 点击, 然后就更改完毕了. 

安卓AndroidStudio如何在同一个手机中安装两个相同的项目+++++自己处理的一些问题解决方法

安卓AndroidStudio如何在同一个手机中安装两个相同的项目+++++自己处理的一些问题解决方法


三,然后此时如果你需要更改APP的图标或者名称, 在清单文件里直接更改即可. 然后在菜单栏Build - Generate Signed APK... 里,使用新的或者之前的签名文件从新打个包, 把打包后的APK文件直接发送到手机上, 就可以安装成功了.

安卓AndroidStudio如何在同一个手机中安装两个相同的项目+++++自己处理的一些问题解决方法


*** 此方法可以装多个相同的APP到手机上. 我装了三个是没有问题的.

*** 如果你使用新的签名文件打包的话, 并且你的项目中用到了比如高德地图, 友盟分享等功能, 记得要在清单文件里更改第三方的配置文件apikey之类的, 以及在第三方开放平台更改SHA1码和包名等.





=================================

自己遇到的问题:

我按照此方法做后,遇到了闪退的问题,后来经过排查,是一个用于控制后台的xml文件没有写在layout里,从而使包名系统没有检测到。

此处jy是应该添加的内容,而系统没有添加,因为目录写的不对。

详情见图片。


安卓AndroidStudio如何在同一个手机中安装两个相同的项目+++++自己处理的一些问题解决方法安卓AndroidStudio如何在同一个手机中安装两个相同的项目+++++自己处理的一些问题解决方法

=================================