Déboguer les applications Android

Lars Vogel

Traducteur

ram-0000

Cet article décrit comment déboguer une application Android.

Nous remercions Lars Vogel qui nous a aimablement autorisés à traduire et héberger cet article.

N'hésitez pas à commenter cet article ! Commentez

- Titre : Déboguer les applications Android

- Auteur : Lars Vogel

- Traducteur : ram-0000

- Parution : 29 avril 2013

- Mise à jour : 5 août 2013

- Public visé :

- Licence : Le contenu de cet article est rédigé par Lars Vogel et est mis à disposition selon les termes de la Licence Creative Commons Attribution 3.0 non transposé. Les logos Developpez.com, en-tête, pied de page, css, et look & feel de l'article sont Copyright ® 2013 Developpez.com.

Sommaire

- 1. Déboguer les applications Android

- 1-1. L'attribut débogage du fichier AndroidManifest.xml

- 1-2. Mettre le débogage lors de l'exécution dans Eclipse

- 2. Le débogueur Eclipse

- 3. Exercice : déboguons

- 3-1. Accéder au code source Android

- 3-2. Créer un projet de test

- 3-3. Déboguez votre application

- 4. Liens et littérature

- 4-1. Code source

- 4-2. Ressources Android

- 5. Remerciements Developpez

1 - Déboguer les applications Android

1-1 - L'attribut débogage du fichier AndroidManifest.xml

Si vous développez une application Android, vous pouvez la déboguer avec Eclipse. Pour autoriser le débogage sur un vrai périphérique Android, vous devez ajouter la valeur « android:debuggable="true" » pour l'application dans votre fichier AndroidManifest.xml. L'outil ADT positionne automatiquement cette valeur lors de la construction en mode debug dans la constante DEBUG de la classe BuildConfig. Cette classe est automatiquement mise à jour par ADT.

1-2 - Mettre le débogage lors de l'exécution dans Eclipse

La Java Machine (JVM) demande à ce que vous lanciez un programme Java en mode débogage pour le déboguer. Android permet que vous mettiez le mode débogage pour une application lors de son exécution avec le bouton « Debug » dans la vue des périphériques DDMS.

Après avoir autorisé le mode débogage dans la vue, la prochaine fois qu'un point d'arrêt est rencontré, Eclipse vous autorise à déboguer le processus.

2 - Le débogueur Eclipse

Les applications Android peuvent être déboguées de la même manière que les applications Java. Voir le tutoriel de débogage Eclipse pour plus de détails.

3 - Exercice : déboguons

3-1 - Accéder au code source Android

Vérifiez que vous pouvez accéder au code source de votre système Android à l'aide de l'IDE Eclipse.

3-2 - Créer un projet de test

Créez une application Android avec un paquetage de haut niveau appelé com.vogella.android.debugging.listview.

Implémentez l'adaptateur suivant pour votre ListView.

package com.vogella.android.debugging.listview;

import java.util.Collections;
import java.util.List;

import android.content.Context;
import android.content.res.Resources;
import android.os.Debug;
import android.text.Html;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

public class MyArrayAdapter extends ArrayAdapter<String> {

private List<String> values;
private Context context;

public MyArrayAdapter(Context context, List<String> values) {
super(context, android.R.layout.simple_list_item_1);
this.context = context;
this.values = values;
}

@Override
public View getView(int position, View convertView, ViewGroup parent)
// Ensure sorted values
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(android.R.layout.simple_list_item_1, parent, false);
TextView textView = (TextView) view.findViewById(android.R.id.text1);
textView.setText(values.get(position));
return view;
}
}
Implement a ListView in the activity which shows 1000 random generated strings.
package com.vogella.android.debugging.listview;

import java.math.BigInteger;
import java.security.SecureRandom;
import java.util.ArrayList;
import java.util.List;

import android.app.ListActivity;
import android.os.Bundle;

public class MainActivity extends ListActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
List<String> list = createValues();
MyArrayAdapter adapter = new MyArrayAdapter(this, list);
setListAdapter(adapter);
}

private static List<String> createValues() {
SecureRandom random = new SecureRandom();
List<String> list = new ArrayList<String>();
for (int i = 0; i < 1000; i++) {
String string = new BigInteger(130, random).toString(32);
list.add(string);
}
return list;
}

}

3-3 - Déboguez votre application

Exécutez votre application. La liste n'est pas affichée. Déboguez la méthode super() appelée dans l'adaptateur de votre liste pour en trouver la raison.

4 - Liens et littérature

4-1 - Code source

- Codes source des exemples.

4-2 - Ressources Android

- Android Homepage.

- Android Developer Homepage.

- Android Issues / Bugs.

- Android Google Groups.

- Android Live Folder.

5 - Remerciements Developpez

Vous pouvez retrouver l'article original ici : Debugging Android applications. Nous remercions Lars Vogel qui nous a aimablement autorisés à traduire et héberger ses articles.

Nos remerciements à ClaudeLELOUP pour sa relecture orthographique.

N'hésitez pas à commenter cet article ! Commentez