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▲
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 ![]()





