Ответ 1
По-видимому, я узнал, что он работает, если я вручную устанавливаю приложение с помощью командной строки adb. Итак, если вы обновили свой плагин ADT и у вас возникли проблемы, просто установите все вручную...
Я могу развернуть свое приложение, но по какой-то причине я не могу получить значок, отображаемый в выпадающем меню на главной странице ОС. Кто-нибудь знает, что я могу сделать, чтобы решить эту проблему?
Кстати, приложение отображается в разделе "Управление приложениями", но по какой-то причине не отображается как значок. Через 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>
По-видимому, я узнал, что он работает, если я вручную устанавливаю приложение с помощью командной строки adb. Итак, если вы обновили свой плагин ADT и у вас возникли проблемы, просто установите все вручную...
У меня тоже была эта проблема, я думаю, что исправление, которое сработало для меня, я разделил тэг намерения, как показано ниже
<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, похоже, пропустят этот момент.
Надеюсь, что это поможет!
Ну, это происходит, поскольку вы даете название двух категорий для своей запускающей деятельности. У вас запуск активности должен иметь только одно название категории в своем фильтре 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>
Это будет работать для вас...
Попытайтесь временно избавиться от ваших 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">
Я обнаружил, что иногда мои активы не обновляются в приложении, когда я добавляю их в свои проекты. Вы можете исправить эту проблему двумя способами:
Просто как это!
Чтобы добавить подтверждение в ответ CommonsWare, я просто натолкнулся на эту точную ошибку для таргетинга на проект 2.3.3+. Мне пришлось удалить следующее:
<data android:scheme="com.android.ApplicationName"></data>
Затем мне пришлось очистить проект. Я думаю, что необходимость использовать adb для установки каждый раз является признаком чего-то неладного с манифестом и вернется, чтобы укусить вас позже (один раз на рынке).