2009-11-09 3 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

+0

Размер значка 48x48 и формат - png. Я использовал этот значок раньше, и он работал. Я не знаю, что я сделал, что нарушило эту функциональность. – Legend

+1

У нас такая же проблема, но об этом сообщается пользователем Samsung Galaxy, который установил приложение через Android Market, поэтому ваше обходное решение ADB не сокращает его для нас. Любые другие предложения? – Matthias

ответ

0

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

1

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

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

+0

Спасибо, я изменил это ... Это ничего не повлияло, хотя ... Я сделал обновление плагина ADT, и именно тогда я начал замечать эту странную проблему. С тех пор значок не устанавливается, проект не построен или он продолжает говорить, что есть ошибки, но не говорит мне, какие ошибки ... Ошибки «уходят» при перезагрузке компьютера ... – Legend

+0

Этот слух true, мы столкнулись с той же проблемой. Но эта проблема имеет разные симптомы, то есть загрузка приложения Dev Dashboard просто завершится ошибкой. – Matthias

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 для установки каждый раз является признаком чего-то неладного с манифестом и вернется, чтобы укусить вас позже (один раз на рынке).

2

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

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

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

Ответы на этот вопрос на SO, похоже, пропустят эту точку.

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

2

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

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

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

Смежные вопросы