Parfois, il est nécessaire de détecter si on se trouve dans l’émulateur. Cela permet par exemple de contourner les limitations réseau de l’émulateur.
Vous pouvez faire cela à l’aide du code suivant:
if ("sdk".equals(android.os.Build.PRODUCT)) { //Dans l'émulateur }
Voici ma première application publiée sur l’android market. C’est une base d’énigmes à résoudre depuis votre téléphone rangé par difficultés.
Ce n’est pour le moment qu’une version de démo. Le plus important maintenant c’est d’étoffer la base d’énigmes.
Récemment j’ai travaillé sur un projet où j’avais un fichier h inclus par de l’asm ou du C. Je ne voulais pas que certaines partie du .h soit inclus uniquement dans le cas où l’on est dans pas dans le ASM. On peut faire cela très simplement avec le préprocesseur:
#ifndef __ASSEMBLER__ MON CODE #endif /* __ASSEMBLER__ */
Si vous souhaitez savoir ce que fait ld-linux.so vous utiliser la variable d’environnement LD_DEBUG.
Vous pouvez la mettre à help pour connaitre toute les options possible.
Une option que que j’utilise est libs qui permet de voir où sont cherchés les différentes libs.
Si vous souhaitez ne recompiler qu’une partie du framework android vous pouvez utiliser la commande mmm.
Par exemple pour ne recompiler que la calculatrice:
source build/envsetup.sh mmm packages/apps/Calculator/
Il est parfois nécessaire de connaître la liste des DLL utilisés par un programme . Il existe plusieurs méthodes pour le savoir. Cette méthode à l’avantage de ne pas demander l’installation de logiciels extérieurs.
Il suffit de lancer cmd.exe.
On utilise ensuite la commande: bash tasklist Cette commande vous permet de lister les processus qui tournent actuellement. On peut ainsi repérer le nom du processus qui nous intéresse.
On va ensuite afficher la liste des Dlls liées au programme via cette commande: bash tasklist /m /fi "imagename eq PROGRAMME" L’option /m nous donne la liste des modules.
Read more...