公司产品和项目总算预期提前完成,我们便马不停蹄地将Eclipse更换成Android的开发工具,将前面的各种bug解决后总算可以运行了。可是安装后发现在手机上有两个应用图标,并且点击不同的应用图标进去的是不同的Activity,如果点击其中任何一个图标进行卸载,则连个图标的应用都会被卸载,我连续装了好几次都是这样,而之前eclipse项目的时候则没有这个问题。我检查了一下自己的代码,发现了问题出在了清单文件上。我的项目除了自己应用的主要代码,还导入了好几个库,也就是library。但是在导入的过程中,自己的studio项目中有一个library库的manifest.xml生成了下面的代码:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="cn.org.bjca.ywq.activity.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
可能在安装的时候,默认是两个app了,那么我们只要把上面的一段代码删掉再安装就可以了,错误就不见了。或者也可以这么说,检查我们的项目中是否有多个
<category android:name="android.intent.category.LAUNCHER"/>
如果有的话,把多余的去掉就可以了。
如果使用的是aar包的话,那么也需要将该module中的清单文件检查一下,不能指定LUNNCHER项。