应用开发是个迭代优化过程,一款优秀的手机应用在发布之前期间肯定需要大量的测试,或在android模拟器上测试、或在真机上面测试。学习android开发的一个偶然过程中,我发现每次通过eclipse中Run As→Android Application将应用安装到真机或者是android模拟器上面时,原先已经安装的同名应用已经被覆盖。而其实修改前的那个版本的应用也是我所需要的(我需要比对修改前和修改后应用变化以及优劣),所以,我开始找寻能够解决应用覆盖的办法!
一、改变应用名
通过改变res下values文件夹中strings.xml文件,将 <string name="app_name">app1</string>改为 <string name="app_name">app2</string>,之后保存run as application后,发现应用名字从app1变为了app2,但是依旧只得到一个应用,事实证明这种方法不可行。PS:更改AndroidManifest.xml中android:label="@String/App Name"为AndroidManifest.xml中android:label="app2",发现不但没能解决应用覆盖的问题,而且应用名也没变化,但在Settings中Apps会发现应用标签变了(粗心大意看到App Name就上了【汗】【二哈】)
二、改变版本号
通过改变AndroidManfiest中android:versionCode="1" android:versionName="1.0"为android:versionCode="2"android:versionName="2.0",测试后发现依旧只得到一个应用,原来的应用还是被覆盖掉了,通过Settings中Apps可以查看到当下程序的版本号变化了。
三、改变包名
屡挫屡败走投无路的我通过修改Manifest中包的名字:package="com.example.app2"后发觉终于成功了,原有应用没有被覆盖。唉~仔细分析应该知道,应用安装到手机或模拟器上面除了.apk文件肯定还会把包复制,而如果已经有同名包存在,默认就把之前包删掉了。