当我在Eclipse中创建一个Android项目并将其发送到我的设备进行调试时,该应用程序运行良好,但当我试图卸载它时,我收到了一条奇怪的消息。以下是重新创建我的问题的步骤:
Eclipse版本:4.2.0构建id:I20120608-1400
ADT版本:2.0.3 v201208082019-427395
- 运行Eclipse
- 单击文件->新建->项目
- 选择Android/Android应用程序项目
- 单击"下一步">
- 输入应用程序名称:测试
- 构建SDK:Android 4.1
- 最低要求的SDK:API 8 Android 2.2
- 启用:创建自定义启动器图标/在工作区中创建项目
- 单击"下一步"三次
- 单击"完成">
- 通过USB将4.1安卓设备连接到计算机
- 单击Run(运行)->Run from menu(从菜单运行)
- 在弹出窗口中选择"Android应用程序",即"运行方式"弹出窗口
- 单击"确定">
- MainActivity应用程序在设备上运行
- 单击Android设备上的"后退"按钮
- 打开设备上的应用程序,找到"MainActivity"应用程序
- 长按MainActivity图标并拖动到垃圾桶
以下是令人费解的部分:
而不是得到一个标准的
是否要卸载此应用程序
我得到一个对话框,文本是:
MainActivity是以下应用程序的一部分:Test是否要卸载此应用程序
- 为什么我会收到这个消息而不是标准消息
- 当我特别指出应用程序的名称是"测试"时,为什么MainActivity是应用程序的名字
其他信息:如果我进入设置->应用程序,应用程序显示为测试,但在我的启动器中列为MainActivity。
AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.test"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
解决方案是删除activity元素中的android:label="@string/title_activity_main"。
下面的AndroidManifest.xml解决了Android 4.1.1上的问题。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.test"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
确保您的应用程序名称app_name
未设置样式。
由于我在应用程序的其他地方使用了应用程序名称,我将其加粗,如下所示-在我的strings.xml 中
<string name="app_name"><b>We are sons<b></string>
当我删除时
<b></b>
标签,它工作。
保留它:
<string name="app_name">We are sons</string>
我不知道如何解决第一个问题,但第二个问题可以通过以下方式解决。该问题与Android新项目wizzard有关。要解决这个问题,您可以通过以下方式更正清单文件并重新部署您的项目:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.test"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter android:label="@string/app_name" >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
不要忘记检查app_name
的值是多少。你可以在这个帖子中找到更多的细节