2009-11-09 13 views
11

Jestem w stanie wdrożyć moją aplikację, ale z jakiegoś powodu nie jestem w stanie uzyskać ikony do wyświetlenia w menu rozwijanym na stronie głównej systemu operacyjnego. Czy ktoś wie, co mogę zrobić, aby rozwiązać ten problem?Android: Ikona APK nie jest instalowana

Nawiasem mówiąc, aplikacja pojawia się w "Zarządzaj aplikacjami", ale z jakiegoś powodu nie jest wyświetlana jako ikona. Dzięki Eclipse mogę uruchomić aplikację po wdrożeniu, ale to wszystko ... Po tym nie mam żadnego sposobu na jej uruchomienie, ponieważ nie ma ikony. :(Po to mój plik manifestu.

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

Co znajduje się w szczegóły na ikonę? Rozmiar, format itp.? – Bostone

+0

Rozmiar ikon 48x48 i format to png. Użyłem tej ikony wcześniej i zadziałało. Nie wiem, co zrobiłem, co złamało tę funkcjonalność. – Legend

+1

Mamy ten sam problem, ale jest zgłaszany przez użytkownika Samsung Galaxy, który zainstalował aplikację za pośrednictwem Android Market, więc Twoje obejście ADB nie jest dla nas takie. Jakieś inne sugestie? – Matthias

Odpowiedz

0

Najwyraźniej dowiedziałem się, że to działa jeśli ręcznie zainstaluję aplikację za pomocą wiersza polecenia adb, więc na wypadek, gdybyś zaktualizował swój plugin ADT gin i masz problemy, po prostu zainstaluj wszystko ręcznie ...

1

Przymierz pozbycie swojej android.intent.category.BROWSABLE i <data android:scheme="com.android.ApplicationName"> tymczasowo, i sprawdzić, czy ikona pojawia się

Również na niepowiązanych materii, polecam swoim uses- * elementy są pierwszymi dziećmi manifestu, a nie ostatnimi, pojawiły się plotki o problemach z analizą XML wykonaną przez Android Market, gdzie chce je zobaczyć przed jakimikolwiek żywiołami:

+0

Dzięki zmieniłem to ... Nic nie wpłynęło jednak na ... Zrobiłem aktualizację wtyczki ADT i wtedy zacząłem zauważać ten dziwny problem. Od tego czasu ikona nie jest instalowana, projekt nie jest zbudowany lub ciągle mówi, że są błędy, ale nie mówi mi, jakie błędy ... Błędy "znikną", gdy ponownie uruchomię komputer ... – Legend

+0

Ta plotka jest prawda, kiedyś mieliśmy ten sam problem. Ale ten problem ma inne symptomy, tzn. Aplikacja do aplikacji Dev Dashboard po prostu zawiedzie z powodu błędu. – Matthias

1

Ten problem nadal występuje w SDK v2.2. Kilka dodatkowych sugestii oprócz powyższych, jeśli chcesz publikować na swoim telefonie z Eclipse. Wypróbuj je, jeśli nadal nie działają i nie masz ochoty publikować ręcznie. Usuń wszystkie puste linie z manifestu. I upewnić się, że linia ma tylko tylko właściwości ikon i etykiet w nim:

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

miałem ten problem jak dobrze, myślę, że poprawka, która pracowała dla mnie jest i oddzielone tag zamiaru jak poniżej

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

Kiedy zmieniłem plik manifestu w ten sposób, pojawiła się moja ikona.

0

Uważam, że czasami moje zasoby nie aktualizują się w aplikacji, gdy dodaję je do moich projektów. Istnieją dwa sposoby rozwiązania tego problemu:

  1. Oczyść i odbuduj projekt.
  2. Odinstaluj aplikację na telefonie i zainstaluj ją od podstaw, korzystając z ADT.

To proste!

0

Po prostu, aby potwierdzić odpowiedź na CommonsWare, właśnie natknąłem się na ten dokładny błąd dla projektu kierowanego na 2.3.3+. Musiałem usunąć następujące:

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

Potem musiałem oczyścić projekt. Wydaje mi się, że za każdym razem, gdy instalujesz adb, to jest coś, co jest nie tak z Manifestem, i powróci, by cię ugryźć (raz na Rynku).

2

miał ten sam problem i okazało się, że jedno zastrzeżenie jest to, że prawidłowa intencja na głównym tagu aktywności:

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

musi być we własnym filtrem intencji. możesz mieć inne elementy w filtrach zamiaru głównej aktywności, a jeśli tak, oddziel resztę do osobnego znacznika filtra intencji tuż pod nim.pozostaw GŁÓWNIE i LAUNCHER razem.

Wiele odpowiedzi na to pytanie wydaje się zaniedbać.

Mam nadzieję, że pomoże!

2

Cóż, dzieje się tak, ponieważ nadajesz dwie kategorie nazwaniu aktywności związanej z uruchamianiem. Aktywność uruchamiania powinna mieć tylko jedną kategorię w filtrze Zamiany. Jeśli jednak potrzebujesz również aktywności przeglądania, Twoja aktywność uruchamiania może mieć 2 filtry intencji, jak pokazano poniżej.

Po prostu zastępujesz swój kod aktywności EntrySplash poniższym kodem w pliku 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> 

Będzie to na pewno działa dla Ciebie ...

Powiązane problemy