IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Problème pour débuter dans le développement Android


Sujet :

Android

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2013
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Problème pour débuter dans le développement Android
    Bonjour,
    Je débute dans le développement Android et je rencontre quelque problèmes.
    J'ai suivi ce tuto : http://www.gamergen.com/tutoriels/tu...world-116876-1 pour afficher un hello world sur l'émulateur Android et ça ne fonctionne pas. En fait, les symptômes sont les mêmes pour tous les tutos que j'ai suivi.

    Je commence par faire un run et j'obtiens ces deux erreurs :
    No Launcher activity found!
    The launch will only sync the application package on the device!

    L'émulateur Android se lance tout de même et la dernière ligne de la commande affiche :
    Waiting for HOME ('android.process.acore') to be launched...
    Rien ne s'affiche ensuite, je ne sais pas si c'est normal.

    L'émulateur se lance puis affiche une page illustrant le fait que le niveau de batterie se situe à 0%, si je fais glisser la page, j'arrive sur l'écran normal.

    Je refais un run sur mon programme alors que l'émulateur est lancé puis j'obtiens ces informations :
    Android Launch!
    adb is running normally.
    No Launcher activity found!
    The launch will only sync the application package on the device!
    Performing sync
    Automatic Target Mode: using existing emulator 'emulator-5554' running compatible AVD 'test'
    Uploading testotest.apk onto device 'emulator-5554'
    Installing testotest.apk...
    HOME is up on device 'emulator-5554'
    Uploading testotest.apk onto device 'emulator-5554'
    Installing testotest.apk...
    Success!
    \testotest\bin\testotest.apk installed on device
    Done!
    Installation failed due to invalid URI!
    Please check logcat output for more details.
    Launch canceled!

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    package testotest;
     
    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.TextView;
     
    public class test extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            TextView tv = new TextView(this);
            tv.setText("Hello, AndroidGen");
            tv.setText("Voici votre première application, enjoy");
            setContentView(tv);
        }
    }
    Merci pour toute l'aide que vous pourrez m'apporter. Ça fait un moment que ce problème me bloque.

  2. #2
    Membre éclairé
    Avatar de LeBzul
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 381
    Points : 832
    Points
    832
    Par défaut
    Salut, est ce que tu as vérifié si ton activity "test" est bien référencé dans ton manifest.
    Tu es censé avoir quelque choses du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <activity android:name="testotest">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
    </activity>

    Tu devrais mettre un vrais nom de package a tes activités.
    "Quand la lune n'est pas là, la nuit mène une existence obscure"

  3. #3
    Futur Membre du Club
    Inscrit en
    Décembre 2013
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Voici mon manifest Android avec les lignes rajoutées (elles n'y était pas lorsque j'ai posté le premier message) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.testotest"
        android:versionCode="1"
        android:versionName="1.0" >
     
        <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="21" />
     
        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
    		<activity android:name="testotest">
                		<intent-filter>
                    		<action android:name="android.intent.action.MAIN" />
                    		<category android:name="android.intent.category.LAUNCHER" />
                		</intent-filter>
    		</activity>
        </application>
     
    </manifest>
    Je n'ai plus d'erreur lorsque je lance l'émulateur, mais lorsque je fais un run sur mon programme, j'ai ce message :

    Installation failed due to invalid URI!
    Please check logcat output for more details.
    Launch canceled!

    Et sur l'émulateur, j'ai cette erreur d'affichée :
    Unfortunately, testotest has stopped

    Pourriez-vous m'indiquer comment remplir le manifest ? Je dois avouer ne pas avoir bien compris à quoi correspondait quoi.

  4. #4
    Membre éclairé
    Avatar de LeBzul
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 381
    Points : 832
    Points
    832
    Par défaut
    Salut,
    dans "android:name=", tu es censé mettre le nom de package de ton activity suivis de son nom, pour que android sache quoi executer.
    L'exemple que je t'ai donné était du coup pas très juste.
    A priori, en regardant ton code ca serait :
    android:name="testotest.test"

    Tu trouveras plus d'info ici : lien "Specify Your App's Launcher Activity".

    Sinon, comme il t'indique dans le message d'erreur :
    Please check logcat output for more details.
    Ouvre la fenêtre de logcat sur ton IDE pour avoir plus d'info.
    "Quand la lune n'est pas là, la nuit mène une existence obscure"

  5. #5
    Futur Membre du Club
    Inscrit en
    Décembre 2013
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Salut.

    Merci pour le lien, ça ne m'avance pas plus tout de même.

    J'ai modifié mon manifest pour correspondre avec ce que tu m'as dit. Le voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.testotest"
        android:versionCode="1"
        android:versionName="1.0" >
     
        <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="21" />
     
        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
    		<activity android:name="testotest">
                <intent-filter>
                	<action android:name="testotest.test" />
            		<category android:name="testotest.test" />
                </intent-filter>
    		</activity>
        </application>
     
    </manifest>
    Voici l'arborescence de mes fichiers :
    Pièce jointe 150426
    (Les deux fichiers test.java sont identiques, je ne pense pas que ça pose de problème)

    Lorsque je fais un premier run, l'émulateur se lance puis j'ai une nouvelle fois l'erreur :
    No Launcher activity found!
    The launch will only sync the application package on the device!

    Lorsque je fais un second run, j'ai ces informations :
    Android Launch!
    adb is running normally.
    No Launcher activity found!
    The launch will only sync the application package on the device!
    Performing sync
    Automatic Target Mode: using existing emulator 'emulator-5554' running compatible AVD 'test'
    Uploading testotest.apk onto device 'emulator-5554'
    Installing testotest.apk...
    HOME is up on device 'emulator-5554'
    Uploading testotest.apk onto device 'emulator-5554'
    Installing testotest.apk...
    Success!
    \testotest\bin\testotest.apk installed on device
    Done!
    Installation failed due to invalid URI!
    Please check logcat output for more details.
    Launch canceled!

    L'émulateur reste impassible comparé à mon second essai.

    Extrait de mon LogCat :
    Nom : Screen2.png
Affichages : 294
Taille : 61,2 Ko

    J'ai réalisé différents tests mais ça ne me mène à rien.

  6. #6
    Membre éclairé
    Avatar de LeBzul
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 381
    Points : 832
    Points
    832
    Par défaut
    Salut,

    android.util.AndroidRuntimeException: You cannot combine swipe dismissal and the action bar.
    Va voir ce lien, il avait la même erreur et a apparemment réussi a s'en sortir facilement :
    Lien

    Il a, de ce que je comprend, réduit android:targetSdkVersion à 13.
    "Quand la lune n'est pas là, la nuit mène une existence obscure"

  7. #7
    Futur Membre du Club
    Inscrit en
    Décembre 2013
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Enfin, j'ai réussi. Merci beaucoup LeBzul, je crois que sans toi, je serai devenu fou

    En suivant le sujet que tu m'as donné, j'ai refait un clear sur mon projet.

    Cela m'a supprimé une partie de l'arborescence, je l'ai refait tel qu'elle était avant. Le truc très important c'est que la classe test.java doit être dans le package "com.example.testotest", sinon ça ne fonctionne pas (bien qu'on puisse changer le nom du package dans le manifest).

    Mon manifest est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.testotest"
        android:versionCode="1"
        android:versionName="1.0" >
     
        <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="13" />
     
        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
    		<activity android:name="test">
                <intent-filter>            	
                	<action android:name="android.intent.action.MAIN" />
            		<category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
    		</activity>
        </application>
     
    </manifest>
    La chose très importante c'est que l'attribut "android:targetSdkVersion" doit effectivement être associé à la valeur 13 (par défaut à 21), sinon ça ne marche pas !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/09/2014, 16h42
  2. Réponses: 2
    Dernier message: 03/12/2011, 19h11
  3. Probléme pour ecrire dans un fichier
    Par julien1981 dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 27/06/2006, 11h18
  4. Problème pour lire dans un tableau ...
    Par themis dans le forum Oracle
    Réponses: 1
    Dernier message: 15/02/2006, 18h04
  5. [Débutant] Problème pour écrire dans un bouton
    Par Paulinho dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 06/01/2006, 11h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo