问题 Android:未安装APK图标


我可以部署我的应用程序但由于某种原因,我无法在操作系统主页的上拉菜单中显示图标。有谁知道我能做些什么来解决这个问题?

顺便说一下,应用程序显示在“管理应用程序”中,但由于某种原因不会显示为图标。通过Eclipse,我可以在部署后启动应用程序,但就是这样......之后,我没有办法启动它,因为没有图标。 :(以下是我的清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.android.ApplicationName"
      android:versionCode="1"
      android:versionName="2.0">
    <application android:icon="@drawable/icon" 
                 android:debuggable="true"
                 android:label="@string/app_name">
        <activity android:name=".EntrySplash"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.BROWSABLE"></category>  
                <data android:scheme="com.android.ApplicationName"></data> 
            </intent-filter>
        </activity>
        <activity android:name=".EntryScreen" android:label="@string/app_name">
        </activity>         
        <activity android:name=".ApplicationName" android:label="@string/app_name">
        </activity>     
    </application>
    <uses-sdk android:minSdkVersion="3" />
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
</manifest> 

11021
2017-11-09 02:09


起源

图标有什么细节?尺寸,格式等? - Bostone
图标大小为48x48,格式为png。之前我使用过此图标并且有效。我不知道我做了什么打破了这个功能。 - Legend
我们遇到了同样的问题,但是通过Android Market安装应用程序的三星Galaxy用户报告了这一问题,因此您的ADB解决方法并没有为我们削减它。还有其他建议吗? - Matthias


答案:


我也遇到了这个问题,我认为对我有用的修复方法是我将意图标记分开,如下所示

<intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" /> 
</intent-filter>
<intent-filter>
         <category android:name="android.intent.category.BROWSABLE"></category>  
         <data android:scheme="com.android.ApplicationName"></data> 
</intent-filter>

当我改变我的清单文件时,我的图标出现了。


8
2017-09-02 10:21





有这个相同的问题,并发现一个警告是在主活动标签上的这个正确的意图:

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

必须在自己的意图过滤器。您可能在主活动的intent过滤器中有其他项目,如果是这样,请将其余部分分开到其下方的单独的intent过滤器标记中。把MAIN和LAUNCHER放在一起。

很多关于这个问题的答案似乎都错过了这一点。

希望能帮助到你!


2
2018-04-08 20:42





好吧,它正在发生,因为你给你的启动活动提供了两个类别的名称。您启动的活动在其Intent过滤器中应该只有一个类别名称。但是,如果您还需要Browsable活动,那么您的启动活动可能有2个Intent过滤器,如下所示。

您只需使用Manifest.xml文件中的以下代码替换EntrySplash活动代码。

<activity android:name=".EntrySplash"
                  android:label="@string/app_name">
<intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" /> 
            </intent-filter>
<intent-filter>
                <category android:name="android.intent.category.BROWSABLE"></category>  
                <data android:scheme="com.android.ApplicationName"></data> 
            </intent-filter>
</activity>

这肯定会对你有用......


2
2018-01-21 10:19





试着摆脱你的 android.intent.category.BROWSABLE 和 <data android:scheme="com.android.ApplicationName"> 暂时,看看你的图标是否显示。

另外,在一个不相关的问题上,我建议你的uses- *元素是清单的第一个孩子,而不是最后一个。有传闻说Android市场完成了XML解析问题,它希望在任何元素之前看到这些问题。


1
2017-11-09 12:07



谢谢我改变了......但它没有影响任何东西......我做了ADT插件的更新,那是我开始注意到这个奇怪的问题。从那以后,图标没有被安装,项目没有建立或者它一直说有错误但是没有告诉我什么错误...当我重新启动计算机时错误“消失”... - Legend
那个谣言是真的,我们曾经遇到过同样的问题。但是这个问题有不同的症状,即Dev Dashboard app上传只会失败并出现错误。 - Matthias


SDK v2.2中仍存在此问题。如果您想从Eclipse发布到手机,除了上述建议之外还有一些建议。如果它仍然不起作用并且您不想手动发布,请尝试这些。删除清单中的所有空行。并确保此行只包含图标和标签属性:

<application android:icon="@drawable/icon" android:label="@string/app_name">

1
2018-03-06 04:47





显然我发现如果我使用命令行adb手动安装应用程序它是有效的。因此,如果您更新了ADT插件并遇到问题,只需手动安装即可...


0
2017-11-09 23:59





我发现当我将它们添加到我的项目时,有时我的资产不会在应用程序中更新。 有两种方法可以解决此问题:

  1. 清理并重建项目。
  2. 在手机上卸载应用程序,然后使用ADT从头开始安装。

就那么简单!


0
2017-11-28 14:26





只是为了向CommonsWare的回答添加确认,我刚刚发现了针对2.3.3+项目的确切错误。我不得不删除以下内容:

 <data android:scheme="com.android.ApplicationName"></data>

然后我不得不清理项目。我认为必须每次都使用adb进行安装,这是Manifest出现问题的一个迹象,并且稍后会回来咬你(特别是在市场上)。


0
2017-12-14 23:58