4

当我在 Eclipse 中创建一个 Android 项目并将其发送到我的设备进行调试时,该应用程序运行良好,但当我尝试卸载它时,我收到一条奇怪的消息。以下是重现我的问题的步骤:

Eclipse 版本:4.2.0 构建 ID:I20120608-1400

ADT 版本:2.0.3 v201208082019-427395

  1. 运行 Eclipse
  2. 单击文件->新建->项目...
  3. 选择 Android/Android 应用项目
  4. 点击下一步。
  5. 输入应用程序名称:测试
  6. 构建 SDK:Android 4.1
  7. 最低要求 SDK:API 8 Android 2.2
  8. 启用:创建自定义启动器图标/在工作区中创建项目
  9. 单击下一步三次。
  10. 单击完成。
  11. 通过 USB 将 4.1 Android 设备连接到计算机。
  12. 单击“运行”->“从菜单运行”。
  13. 在弹出的“运行方式”弹出窗口中选择“Android 应用程序”。
  14. 单击确定。
  15. MainActivity 应用程序在设备上运行。
  16. 单击 Android 设备上的返回按钮。
  17. 在设备上打开应用程序并找到“MainActivity”应用程序。
  18. 长按 MainActivity 图标并拖动到垃圾箱。

这是令人费解的部分:

而不是得到一个标准

您要卸载此应用程序吗?

我得到一个包含此文本的对话框:

MainActivity 是以下应用程序的一部分:测试您要卸载此应用程序吗?
  1. 为什么我收到此消息而不是标准消息?
  2. 为什么在我特别说明应用程序名称为“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>

4

3 回答 3

18

解决方案是删除活动元素中的 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>
于 2012-09-29T23:41:50.737 回答
2

确保您的应用名称app_name没有样式。

由于我在应用程序的其他地方使用了应用程序名称,因此我将其设为粗体,如下所示 - 在我的 strings.xml

<string name="app_name"><b>We are sons<b></string>

当我删除

<b></b>

标签,它起作用了。

保留它:

<string name="app_name">We are sons</string>
于 2015-04-28T13:18:29.740 回答
1

我不知道如何解决第一个问题,但可以通过以下方式解决第二个问题。该问题与Android新项目向导有关。要解决此问题,您可以通过以下方式更正清单文件并重新部署您的项目:

<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。您可以在这篇文章中找到更多详细信息

于 2012-09-23T21:34:44.820 回答