卸载Android应用程序

时间:2012-09-23 21:14:19

标签: android uninstall

当我在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图标并拖动到垃圾箱。
  19. 这是令人费解的部分:

    而不是获得标准

    您要卸载此应用程序吗?

    我收到了一个包含此文字的对话框:

    MainActivity是以下应用程序的一部分:测试 你想卸载这个应用程序吗?
    1. 为什么我会收到此消息而不是标准消息?
    2. 当我明确指出应用程序的名称为“Test”时,为什么MainActivity是应用程序的名称?
    3. 其他信息: 如果我转到Settings-> Apps,应用程序会显示为Test,但会在我的Launcher中列为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>
      

3 个答案:

答案 0 :(得分:18)

解决方法是在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>

答案 1 :(得分: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>

答案 2 :(得分:1)

我不知道如何解决第一个问题,但第二个问题可以通过以下方式解决。问题与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的值是多少。您可以在this post

中找到更多详细信息