【问题标题】:Android application manager shows wrong app nameAndroid 应用程序管理器显示错误的应用程序名称
【发布时间】:2013-08-17 19:25:19
【问题描述】:

有谁知道为什么通过设置->应用程序管理器找到的应用程序管理器显示我的应用程序的名称错误?我以不同的名称和不同的应用程序包名称安装了我的应用程序两次。我可以在应用程序页面下看到两个命名的应用程序,但应用程序管理器将它们显示为相同的名称。我需要知道哪个是哪个,以便我可以强制关闭并卸载我的应用程序的正确版本。有什么想法吗?

这是我的应用程序的 DEMO 版本的清单,其中 string/app_name = package_DEMO:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="my.apps.package_DEMO"
    android:versionCode="1"
    android:versionName="0.0">

    <uses-sdk 
       android:minSdkVersion="10" 
        android:targetSdkVersion="10"/>

    <application android:label="@string/app_name"
        android:name="my.apps.package.MyApplication"
        android:icon="@drawable/ic_launcher"
        android:theme="@style/AppTheme"
        android:launchMode="singleTask"
        android:debuggable="true">

        <activity android:label="@string/app_name"
            android:configChanges="orientation|keyboardHidden"
            android:name="my.apps.package.MainActivity">

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity android:label="@string/app_name"
            android:configChanges="orientation|keyboardHidden"
           android:name="my.apps.package.SettingsActivity">
        </activity>

    </application>

</manifest>

还有原版的清单,其中 string/app_name = package:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="my.apps.package"
    android:versionCode="1"
    android:versionName="0.0">

    <uses-sdk 
       android:minSdkVersion="10" 
        android:targetSdkVersion="10"/>

    <application android:label="@string/app_name"
        android:name="my.apps.package.MyApplication"
        android:icon="@drawable/ic_launcher"
        android:theme="@style/AppTheme"
        android:launchMode="singleTask"
        android:debuggable="true">

        <activity android:label="@string/app_name"
            android:configChanges="orientation|keyboardHidden"
            android:name="my.apps.package.MainActivity">

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity android:label="@string/app_name"
            android:configChanges="orientation|keyboardHidden"
           android:name="my.apps.package.SettingsActivity">
        </activity>

    </application>

</manifest>

【问题讨论】:

  • 请发布您的 manifest.xml
  • @danijoo 请看我的编辑。

标签: package android


【解决方案1】:

我遇到了这个问题 - 即应用程序名称在“设置”->“应用程序”中显示不正确

我设法通过重新启动设备来修复它。

我的猜测是 android 应用程序管理器正在缓存“旧”名称,直到重新启动。我通过更改应用名称并重新部署来确认这一点 - 旧名称显示在设置中->aps 直到重新启动。

【讨论】:

  • 很高兴听到!我认为这是某种缓存。
  • 拯救我的一天。谢谢。
  • 这很有帮助。感谢分享:)
【解决方案2】:

这可能是因为您的清单文件。如果您复制了代码并仅重构了包名称,则 eclipse 不会更改清单文件中的应用程序名称。

要么直接更改,要么使用您的 string.xml 文件

android:label="@string/app_name"

【讨论】:

  • 你的包名不一样,这就是我看到的,但是你确定你从 res/values/string.xml 更改了 app_name 吗?
  • 应用程序包名称应该不同,因为我需要这样做才能安装应用程序两次。是的,我确定我更改了应用程序名称的字符串值。我想知道应用程序管理器是否存在错误?
  • 你可以卸载这两个应用程序然后安装新的应用程序,看看有没有区别?
  • 好的,所以我卸载了这两个应用程序,确保字符串值重命名为“package”,并重新安装了原来的应用程序包名称为“my.apps.package”。它仍然在应用程序管理器下显示名称为“package_DEMO”。在其他任何地方,活动页面上的名称、设备上“应用程序”页面下的名称都有正确的应用程序名称“包”。
【解决方案3】:

你可以加android:label="YOUR NAME APP"

 <application
    android:label="YOUR NAME APP"
    android:allowBackup="true"
    android:icon="@drawable/logo">

【讨论】:

    【解决方案4】:

    你可以通过手机连接电脑来卸载包名...

    转到命令提示符

    adb uninstall  packagename
    

    所以如果你想删除一个包名为 com.example.test 的应用

    在命令提示符中输入:adb uninstall com.example.test...

    注意: adb 应该在系统路径中 或者从您的sdkfolder/platform-tools/ 运行此命令

    【讨论】:

    • 这是卸载的好主意,但是强制关闭呢?有时我需要在不连接到 PC 的情况下执行此操作,例如在进行演示时。我确定我可以卸载我的开发版本,所以我只有一个版本的应用程序并且不会有任何混淆,但如果我能找到解决这个问题的方法,我宁愿不必卸载我的开发版本.
    • 从命令行类型 adb shell am force-stop packagename 强制关闭应用程序......至于将 thm 与设备本身区分开来......我不知道该怎么做那...但是我使用 gts5570 是一个慢速设备,所以当我打开管理器时,它首先向我显示包,同时它会加载信息...但是它的寿命很短...所以我正在研究它
    • 你为什么不只是在你的应用程序中放一个小 trxt 并将该 textview 的文本设置为包名称....通过使用此代码.. getPackageName() 只需调用此方法。所以你会在两个应用程序中看到包名删除强制关闭应用程序yu wnt ...
    • 包名是正确的。即使应用程序管理器显示了其他内容,我也能够通过命令行卸载这两个版本。正如我所提到的,我需要通过应用程序管理器而不是命令行来执行此操作。不过请参阅我的答案,因为我能够重现它并认为这是我发现的一个错误。
    【解决方案5】:

    我刚刚卸载、清理和重新安装了大约 50 次,神奇的是应用程序管理器下的应用程序名称不同。这一定是系统错误,因为两个版本的应用程序在活动标签中以及设备早期的“应用程序”页面下显示的名称不同。我再试试看能不能重现。

    【讨论】:

    • 我再次更改了 string/app_name 值并重新安装了应用程序。我命名的新应用程序出现在“应用程序”页面下和活动标签上,但应用程序管理器再次显示旧名称。所以这是可重现的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-10
    • 2018-11-25
    相关资源
    最近更新 更多