开发者

Android: APK Icon is not being installed

I am able to deploy my application but for some reason, I am not able to get the icon to display in the pull up menu on the H开发者_如何学运维ome page of the OS. Does anyone know what I can do to solve this?

By the way, the application shows up in "Manage Applications" but does not show up as an icon for some reason. Through Eclipse, I am able to start the application after deployment but that's it... After that, I don't have any way to start it because there is no icon. :( Following is my manifest file:

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


I had this problem as well, i think the fix that worked for me is i separated the intent tag like below

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

when i changed my manifest file like that, my icon showed up.


Try getting rid of your android.intent.category.BROWSABLE and <data android:scheme="com.android.ApplicationName"> temporarily, and see if your icon shows up.

Also, on an unrelated matter, I recommend that your uses-* elements be the first children of manifest, not the last. There have been rumors of problems with the XML parsing done by the Android Market, where it wants to see those before any elements.


Had this same issue and found out that one caveat is that this correct intent on the main activity tag:

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

has to be in its own intent filter. you may have other items in the main activity's intent filters, and if so, separate the rest out in to a separate intent filter tag right below it. leave the MAIN and LAUNCHER together in its own.

Alot of the answers to this question on SO seem to miss that point.

Hope it helps!


Well it is happening as you are giving two categories name to your launching activity. You launching activity should have only one category name in its Intent filter. But if you also need the Browsable activity then your Launching Activity may have 2 Intent Filters as show below.

You just replace your EntrySplash Activity code with the below code in you Manifest.xml file.

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

This will sure work for you...


This problem still exists in SDK v2.2. A few more suggestions in addition to the ones above if you want to publish to your phone from Eclipse. Try these if it's still not working and you don't feel like manually publishing. Remove all blank lines in the manifest. And make sure this line just has only icon and label properties in it:

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


Apparently I found out that it works if I manually install the application using command line adb. So, in case you updated your ADT plugin and you experience problems, just install things manually...


I find that sometimes my assets don't update in the app when I add them to my projects. There are two ways you can fix this problem:

  1. Clean and rebuild the project.
  2. Uninstall the app on your phone and install it from scratch using ADT.

Simple as that!


Just to add confirmation to CommonsWare's answer, I just came across this exact bug for a project targeting 2.3.3+. I had to Delete the following:

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

Then I had to Clean the project. I think that having to use adb to install every time is a sign of something wrong with the Manifest, and will come back to bite you later (once in the Market specificially).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜