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> 

Solutions Collecting From Web of "Android: значок APK не устанавливается"

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

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

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

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

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

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

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

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

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

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

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

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

Ну, это происходит, поскольку вы даете название двух категорий для своей стартовой деятельности. У вас запущенная деятельность должна иметь только одно название категории в своем фильтре 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> 

Это обязательно сработает для вас …

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

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

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

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

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

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

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