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> 

Ответ 1

По-видимому, я узнал, что он работает, если я вручную устанавливаю приложение с помощью командной строки adb. Итак, если вы обновили свой плагин ADT и у вас возникли проблемы, просто установите все вручную...

Ответ 2

У меня тоже была эта проблема, я думаю, что исправление, которое сработало для меня, я разделил тэг намерения, как показано ниже

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

когда я сменил свой файл манифеста, появился значок.

Ответ 3

Если бы эта же проблема и обнаружила, что одна оговорка в том, что это правильное намерение для основного тега активности:

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

должен быть в своем собственном целевом фильтре. у вас могут быть другие элементы в основных фильтрах намерений действий, и если да, разделите остальные на отдельный тег фильтра намерения прямо под ним. оставляйте MAIN и LAUNCHER вместе.

Многие ответы на этот вопрос на SO, похоже, пропустят этот момент.

Надеюсь, что это поможет!

Ответ 4

Ну, это происходит, поскольку вы даете название двух категорий для своей запускающей деятельности. У вас запуск активности должен иметь только одно название категории в своем фильтре Intent. Но если вам также нужна активность в браузере, ваша деятельность по запуску может содержать 2 фильтра намерений, как показано ниже.

Вы просто замените свой код 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>

Это будет работать для вас...

Ответ 5

Попытайтесь временно избавиться от ваших android.intent.category.BROWSABLE и <data android:scheme="com.android.ApplicationName"> и посмотрите, отображается ли ваш значок.

Кроме того, в отношении не связанного с этим вопроса я рекомендую, чтобы ваши используемые - * элементы были первыми детьми манифеста, а не последними. Были слухи о проблемах с анализом XML, выполненным на Android Market, где он хочет видеть их перед любыми элементами.

Ответ 6

Эта проблема все еще существует в SDK v2.2. Еще несколько предложений в дополнение к приведенным выше, если вы хотите опубликовать на своем телефоне Eclipse. Попробуйте это, если он все еще не работает, и вам не хочется вручную публиковать. Удалите все пустые строки в манифесте. И убедитесь, что в этой строке есть только свойства значка и метки:

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

Ответ 7

Я обнаружил, что иногда мои активы не обновляются в приложении, когда я добавляю их в свои проекты. Вы можете исправить эту проблему двумя способами:

  • Очистить и перестроить проект.
  • Удалите приложение на своем телефоне и установите его с нуля с помощью ADT.

Просто как это!

Ответ 8

Чтобы добавить подтверждение в ответ CommonsWare, я просто натолкнулся на эту точную ошибку для таргетинга на проект 2.3.3+. Мне пришлось удалить следующее:

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

Затем мне пришлось очистить проект. Я думаю, что необходимость использовать adb для установки каждый раз является признаком чего-то неладного с манифестом и вернется, чтобы укусить вас позже (один раз на рынке).