J'ai utilisé hierarachyviewer auparavant, mais sur un émulateur Android. Cela fonctionne parfaitement si je l’utilise sur l’émulateur. Cependant, cela ne fonctionne pas avec Samsung Galaxy TAB 7.0, avec Android 2.3.4.
Ceci est le journal, que je reçois
11:04:22 E/hierarchyviewer: Unable to get view server version from device 303599
64881B00EC
11:04:22 E/hierarchyviewer: Unable to get view server protocol version from devi
ce 30359964881B00EC
11:04:24 E/hierarchyviewer: Unable to debug device 30359964881B00EC
11:05:05 E/hierarchyviewer: Unable to get view server version from device 303599
64881B00EC
11:05:05 E/hierarchyviewer: Unable to get view server protocol version from devi
ce 30359964881B00EC
11:05:07 E/hierarchyviewer: Unable to debug device 30359964881B00EC
11:09:38 E/hierarchyviewer: Unable to get view server version from device 303599
64881B00EC
11:09:38 E/hierarchyviewer: Unable to get view server protocol version from devi
ce 30359964881B00EC
11:09:40 E/hierarchyviewer: Unable to debug device 30359964881B00EC
Je n'utilise pas non plus hierarchieviewer en mode débogage, je lance simplement l'application ..__ Merci.
J'ai trouvé une solution de contournement: https://github.com/romainguy/ViewServer
ViewServer est une classe simple que vous pouvez utiliser dans votre application Android pour utiliser l'outil d'inspection HierarchyViewer ...
- Vérifiez que vous avez besoin de cette bibliothèque ( les nouvelles versions d’Android n’ont pas )
Si vous avez besoin de cette bibliothèque, suivez les instructions suivantes:
- Inclure la bibliothèque ViewServer (instructions faciles trouvées ici )
- Votre application doit nécessiter l'autorisation INTERNET
La méthode recommandée pour utiliser cette API consiste à enregistrer les activités lors de leur création et à les désenregistrer lorsqu'elles sont détruites:
public class MyActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Set content view, etc. ViewServer.get(this).addWindow(this); } public void onDestroy() { super.onDestroy(); ViewServer.get(this).removeWindow(this); } public void onResume() { super.onResume(); ViewServer.get(this).setFocusedWindow(this); } }
Veuillez vous référer à la documentation dans ViewServer.Java pour plus d'informations ...
Utilisez plutôt l'outil moniteur (Android-sdk/tools/monitor
).
Connectez-vous à votre appareil. Fermez d'abord Eclipse si vous ne pouvez pas vous connecter.
Appuyez sur le bouton "Afficher la hiérarchie des vues pour l’automatisation de l’UI" dans l’onglet Devices C'est celui à côté du bouton de capture d'écran.
Fonctionne depuis le niveau 16 de l'API (Android 4.1).
Vous ne pouvez utiliser HierarachyViewer que sur l'émulateur et les téléphones de développeur spéciaux achetés sur Google.
http://groups.google.com/group/Android-developers/browse_thread/thread/b0b0af7a316ca768
Citation du lien ci-dessus
HierarchyViewer ne fonctionne pas sur les versions utilisateur (c'est-à-dire avec les périphériques Disponibles dans les magasins.) Ceci pour des raisons de sécurité. Si HiearchyViewer était capable de travailler sur des versions utilisateur, toute application sur votre bureau (ou même sur le téléphone dans certains cas) pourrait potentiellement avoir accès à informations privées (comme les identifiants et les mots de passe.)
Je suis résolu question dans max os
cette solution Android_HVPROTO est documentée ici:
http://developer.Android.com/tools/performance/hierarchy-viewer/setup.html
puis essayez de fermer Android Studio
lancer adb kill-server, adb start-server
et lancez le travail de moniteur pour moi!
la réponse est :
https://github.com/romainguy/ViewServer/issues/14#issuecomment-75354479
La réponse de @ ozodrukh est utile.
Presque aucun téléphone de production générale ne permettra à HierarchyViewer d’y accéder. Généralement, les téléphones et les émulateurs de développeur sont les seuls à offrir ces fonctionnalités.
Un problème similaire que j'avais sur le téléphone Android 4.1.Utilisez ViewServer dans votre code.
Avant de vérifier dans le visualiseur de hiérarchie, il suffit de redémarrer le serveur adb une fois.
la documentation officielle: Optimisation de votre interface utilisateur a déclaré:
Pour préserver la sécurité, Hierarchy Viewer ne peut se connecter qu’aux appareils exécutant une version développeur du système Android.
Profilez votre mise en page avec Hierarchy Viewer :
Définir la variable d'environnement
Android_HVPROTO=ddm
Donc, à partir du dossier [andrid-sdk]/tools
, lancez ceci en ligne de commande:
set Android_HVPROTO=ddm
hierarchyviewer
Ou mettez set Android_HVPROTO=ddm
dans le hierarchyviewer.bat
.