2014-09-10 14 views
23

Uruchamianie aplikacji w Android studio daje 2 app ikony newbie w Android.Gizm studioRunning aplikacja daje 2 ikony aplikacji w Android Studio - newbie

wreszcie ja miałem mojego app uruchomiony, IM z Eclipse do android studia i teraz Im posiadające kłopot, jak zrobić kolor logcat taki sam jak eclipse ?.

Na moje pytanie są dwie ikony aplikacji po uruchomieniu aplikacji, a po odinstalowaniu 2 z nich zostały usunięte. czy to normalne w Androidzie?

Znalazłem, że studio android może kopiować klucze z zaćmienia.

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.mytrack.ph" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="14" 
     android:targetSdkVersion="19" /> 
    <uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="true"/> 



    <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 


    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <uses-permission android:name="android.permission.VIBRATE"/> 
    <uses-permission android:name="android.permission.WAKE_LOCK"/> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

    <!-- Google Map v.2 permissions --> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 

    <!-- GCM permissions --> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
    <permission android:name="com.example.gcm.permission.C2D_MESSAGE" 
     android:protectionLevel="signature" /> 
    <uses-permission android:name="com.example.gcm.permission.C2D_MESSAGE" /> 


    <!-- Writing Persmission --> 
    <uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" /> 
    <uses-permission android:name="android.permission.WRITE_PROFILE" /> 
    <uses-permission android:name="android.permission.READ_CONTACTS"/> 

    <uses-permission android:name="android.permission.READ_PROFILE"/> 
    <uses-permission android:name="android.permission.READ_CONTACT"/> 

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

     <activity android:name="com.mytrack.ph.SplashActivity" 
      android:label="@string/app_name" 
      android:noHistory="true" 
      android:screenOrientation="portrait" 
      android:theme="@style/splashScreenTheme" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name="com.mytrack.ph.LoginActivity" 
      android:label="@string/app_name" 
      android:screenOrientation="portrait" 
      > 
     </activity> 
     <meta-data 
     android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version" /> 
     <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="@string/google_map_api_key"/> 
     <activity android:name="com.facebook.LoginActivity" 
        android:theme="@android:style/Theme.Translucent.NoTitleBar" 
        android:label="@string/app_name" /> 
     <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id"/> 
     <service android:name="com.my.track.service.MyTrackService"></service> 
     <receiver 
      android:name="com.my.track.service.MyTrackGcmBroadcastReceiver" 
      android:permission="com.google.android.c2dm.permission.SEND" > 
      <intent-filter> 
       <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
       <category android:name="com.my.track.service" /> 
      </intent-filter> 
     </receiver> 

     <service android:name="com.my.track.service.MyTrackGcmIntentService" /> 
     <activity android:name="NavigationMenuActivity" 
      android:configChanges="orientation|keyboardHidden" 
      android:screenOrientation="portrait" 
      android:launchMode="singleTop" 
      android:permission="com.google.android.c2dm.permission.SEND" > 
      ></activity> 
     <receiver android:name="com.my.track.results.ConnectionChangeReceiver" > 
      <intent-filter> 
       <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/> 
      </intent-filter> 
     </receiver> 


    </application> 

</manifest> 

Chociaż jest to normalne w Androidzie. Uruchomienie aplikacji daje 2 ikony uruchamiania. PS:

mój AndroidManifest.xml jest wewnątrz głównym folderze i użyłem zaćmienie eksportować do Gradle budować.

Korzystam z Android Studio 0.8.6 dzięki.

+2

Zamieść plik manifestu. Upewnij się, że nie definiujesz dwóch działań, które mają filtry zamiarów, które określają kategorię LAUNCHER. –

+0

Nie, nie zdefiniowałem 2 działań typu launcher. – david

+0

opublikować build.gradle –

Odpowiedz

41

Mam to! Tak, w końcu, muszę się uczyć stopni i rzeczy.

W rzeczywistości mam 2 projekty Android w ramach projektu, jedna to biblioteka, a druga to główna aplikacja.

Dowiedziałem się, że po zaimportowaniu tych projektów, Android Studio (wyeksportowałem bibliotekę do gradle build from eclipse) nie obchodzi, czy jest to projekt lib lub główny projekt. (Popraw mnie, jeśli się mylę).

więc jedyną rzeczą, która sprawi, że to zadziała, jest usunięcie intent-filter z projektu lib-android.

EDYTOWANIE: @all rozwiązany! dzięki wszystkim, nigdy nie wiedziałem, że jest kolejny AndroidManifest.xml, myślałem, że eclipse go usunął. i pomyślałem, że wyeksportowanie go do gradle spowoduje usunięcie go, ponieważ jest zaznaczone jako biblioteka.

dzięki za pomoc.

+1

również jeśli posiadasz atrybut taki jak "" usuń je '' – Amt87

+2

Po prostu miałem ten problem w aplikacji z dwoma działaniami, usunąłem filtr intencji na mojej drugiej aktywności i usunął problem z dwiema aplikacjami! – mkabatek

+1

Super pomocny. Wreszcie. – Jameson

19

<intent-filter> który wpływa na tworzenie wielu ikonę Launcher jest następujący:

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

Android Studio manifest merger zawsze łączą <intent-filter> sw projektów bibliotecznych w manifeście głównego projektu. Możesz mieć wiele intencji LAUNCHER w zsyntetyzowanym manifeście, tym samym mając wiele ikon uruchamiania. Aby tego uniknąć, po prostu usuń intencje LAUNCHER z manifestu projektów bibliotecznych.

4

Zgadzam się, ponieważ wykonałem 2 czynności (jedną dla powitania, drugą dla głównej). W manifeście zapomniałem usunąć

, więc na końcu, gdy zainstaluję aplikację, będę miał 2 aplikację.

+0

to powinien być komentarz, proszę – swiftBoy

+0

Był dokładnie mój problem, dzięki! – Starwave

3

Deklarujesz dwa filtry zamiarów, w filmie AndroidManifest użył tylko jednego filtra Intent.

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

Jeśli stosuje się dwie lub więcej filtr woli w AndroidManifest, wtedy masz dwa ikonę aplikacji, więc usunięcie go & ustawić jeden filtr intencji.

Używam tego, co ci się przydaje.

Powiązane problemy