L'application en cours d'exécution donne 2 icônes d'applications dans Android Studio-débutant

Application en cours d'Exécution dans android studio donne 2 icônes d'application débutant dans la sam studio de

Enfin, j'avais fait fonctionner mon application, im d'eclipse à android studio et maintenant J'ai des problèmes sur la façon de rendre la couleur de logcat identique à eclipse?.

Ma question Est qu'il y a 2 icônes d'application lorsque je lance l'application, et quand je la désinstaller, 2 d'entre elles ont été supprimées. est-ce normal dans android studio?

J'ai trouvé qu'android studio peut copier des clés d'eclipse.

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

Je pense que c'est normal dans Android studio. L'exécution d'une application donne 2 icônes de lancement. PS:

Mon AndroidManifest.xml se trouve dans le dossiermain et j'ai utilisé eclipse pour exporter vers gradle build.

Im en utilisant Android Studio 0.8.6 grâce.

29
demandé sur david 2014-09-10 15:11:54

4 réponses

Je l'ai! oui, enfin, je dois étudier gradles et d'autres choses.

En fait, j'ai 2 projets android dans le projet, l'un est une bibliothèque et l'autre est l'application principale.

J'ai découvert que lorsque j'ai importé ces projets Android Studio (j'ai exporté la lib vers gradle build à partir d'eclipse) ne se soucie pas s'il s'agit d'un projet lib ou d'un projet principal. (Corrigez-moi si je suis mauvais ).

, Donc la seule chose à faire est de retirer le intent-filter de lib-Android-projet.

Modifier: @tout résolu ! merci à tout le monde, Je ne savais pas Qu'il y avait un autre AndroidManifest.xml, je pensais qu'eclipse l'avait supprimé. et je pensais que L'Exporter vers gradle le supprimerait car il est vérifié en tant que Bibliothèque.

Merci pour votre aide.

48
répondu david 2015-03-27 06:47:28

Le {[1] } qui affecte la création de l'icône du lanceur multiple est le suivant:

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

Manifest merger d'Android Studio combinera toujours <intent-filter> s dans les projets de bibliothèque dans le Manifeste du projet principal. Vous pouvez finir par avoir plusieurs Intentions LAUNCHER dans votre manifeste synthétisé, ayant ainsi plusieurs icônes de lancement. Pour éviter cela, supprimez simplement les intentions LAUNCHER du Manifeste des projets de bibliothèque.

22
répondu Kita 2017-01-06 02:12:38

Vous déclarez deux filtres d'intention, utilisé un seul filtre D'intention dans l'activité, sur AndroidManifest.

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

Si vous avez utilisé deux ou plusieurs filtres d'intention dans AndroidManifest, vous aurez deux icônes d'application, alors supprimez - le et définissez un filtre d'intention.

Je hove ceci est utilisé pour vous.

5
répondu vicky mahale 2017-11-24 09:08:17

Je suis d'accord, puisque j'ai fait 2 activity (une pour splash, une pour main). Dans le manifeste j'ai oublié de supprimer

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

Donc, à la fin quand j'installe l'application, j'aurai 2 app.

4
répondu Rio Cat 2016-07-28 13:50:04