Ich entwickle eine Anwendung, bei der mein Android-Handy an ein USB-Zubehör angeschlossen wird. Wenn jedoch das Zubehör angeschlossen ist, gibt es eine einfache Möglichkeit, die Anwendung zu debuggen?
Können wir einen Mikro-USB-Hub oder ein ähnliches Gerät verwenden?
Beim Debuggen von Anwendungen, die USB-Zubehör- oder Host-Funktionen verwenden, ist wahrscheinlich eine USB-Hardware an Ihr Android-Gerät angeschlossen. Dies verhindert, dass Sie über USB eine Verbindung zum Android-Gerät herstellen können. Sie können trotzdem über eine Netzwerkverbindung auf adb zugreifen. So aktivieren Sie adb über eine Netzwerkverbindung:
Quelle: Android-Entwicklerwebsite
Sie könnten eine App schreiben, die die Logcat-Ausgabe auf dem Telefon liest und auf dem Bildschirm anzeigt und / oder in einer Datei speichert, die Sie anschließend mit adb ziehen können.
Der App muss die Berechtigung READ_LOGS erteilt werden, die Sie mit adb shell pm grant com.package.appname android.permission.READ_LOGS
(zumindest auf einem gerooteten Telefon) ausführen können.
Eine andere Alternative könnte sein, über WiFi zu loggen. adb hat eine Option, sich über TCP / IP zu verbinden, aber das habe ich nicht ausprobiert, daher weiß ich nicht, wie schwierig es ist einzurichten oder wie gut es funktioniert.
Wenn Ihre Protokolle nicht wirklich ausführlich sind, reicht es manchmal aus, den USB-Zubehörfall zu durchlaufen und dann das Zubehör zu entfernen und das Telefon an Ihren Computer anzuschließen, um die Logcat-Ausgabe zu erfassen. Die Protokolle werden bis zu einem bestimmten Betrag gepuffert, sodass Sie mit dieser Methode eine angemessene Anzahl von Protokollen abrufen können.
Sie könnten ein Android-Bild in Virtualbox ausführen. Dadurch können Sie Ihr USB-Gerät mit dem virtuellen Gerät verbinden und über die Bridge-Netzwerkverbindung debuggen.
Ich habe nicht herausgefunden, wie die SDK-IMG-Images in VDIs für die Verwendung in Virtualbox konvertiert werden können, aber es gibt viele vordefinierte VDIs.