2009-11-09 120 views
11

我能够部署我的应用程序,但由于某种原因,我无法将图标显示在操作系统主页的上拉菜单中。有谁知道我能做些什么来解决这个问题?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> 
+0

什么对图标的细节?大小,格式等? – Bostone 2009-11-09 02:32:03

+0

图标大小为48x48,格式为png。我之前使用过这个图标,它工作。我不知道我做了什么打破了这个功能。 – Legend 2009-11-09 02:38:42

+1

我们遇到同样的问题,但三星Galaxy用户通过Android Market安装应用程序报告,因此您的ADB解决方法不会为我们削减它。还有其他建议吗? – Matthias 2010-10-14 07:28:48

回答

0

显然我发现它的工作原理如果我使用命令行adb手动安装应用程序,那么,如果您更新了ADT plu杜松子酒和您遇到问题,只需手动安装...

1

尽量摆脱你的android.intent.category.BROWSABLE<data android:scheme="com.android.ApplicationName">暂时,看看你的图标显示出来

此外,在一个不相关的事情,我建议你使用说明 - *元素是第一个明显的孩子,而不是最后一个,有传言称Android Market的XML解析出现了问题,他们希望在任何元素之前看到这些解析。

+0

谢谢我改变了......它并没有影响任何东西,虽然......我做了ADT插件的更新,那是当我开始注意到这个奇怪的问题。从那时起,该图标没有被安装,该项目没有建立,或者它一直说有错误,但不告诉我什么错误...当我重新启动计算机时,错误“消失”... – Legend 2009-11-09 23:58:34

+0

传言是真的,我们曾经遇到过同样的问题。但是,该问题具有不同的症状,即开发仪表板应用程序上传只会失败并显示错误。 – Matthias 2010-10-14 07:29:52

1

此问题在SDK v2.2中仍然存在。如果你想从Eclipse发布到你的手机,除了上面的建议之外,还有其他一些建议。如果它仍然不能正常工作,并且您不想手动发布,请尝试使用它们。清除清单中的所有空白行。并确保此行只是在它唯一的图标和标签属性:

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

我有这个问题,以及,我觉得这对我工作的解决办法是我分开的意图标签像下面

<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> 

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

0

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

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

就这么简单!

0

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

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

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

2

有同样的问题,并发现了一个需要注意的是,在主要的活动标签这个正确的意图:

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

必须是在自己的意图过滤器。您可能在主要活动的意图过滤器中包含其他项目,如果是这样,则将其余项目分隔到正下方的单独意向过滤器标记中。把MAIN和LAUNCHER放在一起。

在SO上这个问题的答案很多似乎错过了这一点。

希望它有帮助!

2

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

您只需将您的EntrySplash Activity代码替换为Manifest.xml文件中的以下代码。

<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> 

这将确保为你工作...