Gibt es eine Art Firebug- oder JavaScript-Konsolen-Debug für Android? [geschlossen]


70

Ich entwickle eine Website für Handys. Es funktioniert auf dem Firefox-Desktop. Es funktioniert auf dem iPhone, aber wenn ich auf Android 2.x (und möglicherweise niedriger) einen Knopf drücke. Mein JavaScript-Code stürzt ab oder was noch ...

Kann ich für diese Geräte auf den Logger oder die JavaScript-Konsole zugreifen?

Das bessere sollte eine Art Firebug-Anwendung sein.




Hier ist eine Bibliothek namens Mobile-Web-Console-Logger, mit der Sie Javascript auf einem mobilen Gerät über WLAN debuggen können, ohne USB-Kabel oder Treiber installieren zu müssen. github.com/erspark2002/mobile-web-console-logger Gibt alle Konsolenprotokolle und Seitenfehler an ein div am Ende der Seite aus.
user1491819

1
Nichts ist besser als https://github.com/liriliri/eruda . Eruda verfügt über die meisten Funktionen des Chrome Console Toolset.
Rango

Antworten:


45

Eine Option ist weinre . Es bietet DOM & Style-Bearbeitung zusammen mit der Konsole. Wenn Sie es nicht selbst einrichten möchten, wird eine Instanz unter http://debug.phonegap.com gehostet

Die andere Option ist JSHybugger . Es ist sicherlich die vollständigste Debugging-Umgebung, die für Android-Browser verfügbar ist. Es ist ein kostenpflichtiges Produkt, aber es lohnt sich wahrscheinlich.


1
Glatt! Scheint ein wenig fehlerhaft zu sein, aber definitiv ein lohnendes Werkzeug. Vielen Dank!
pspahn

1
scheint cool, werde einen Blick darauf werfen
arod

Ich habe es gerade auf einem Nexus 4 versucht, und die Weinre-Oberfläche scheint auch auf der Android-Version von Chrome gut zu funktionieren. Dies bedeutet, dass Sie die Webanwendung sowohl ausführen als auch auf dem Gerät debuggen können, wenn Sie weinre durchlaufen (entweder irgendwo eine eigene oder diese gehostete Version).
bergie

1
Weinre ist unglaublich .
Régis B.

6
Die von PhoneGap gehostete Instanz scheint nicht mehr zu funktionieren.
SBhojani

34

Chrome hat eine sehr schöne Funktion namens "USB Web Debugging", mit der Sie die Debug-Konsole des Mobilgeräts auf Ihrem PC sehen können, wenn Sie über USB verbunden sind.

Weitere Details finden Sie hier.

BEARBEITEN: Scheint, dass die ADB unter Windows 8 nicht unterstützt wird, aber dieser Link scheint eine Lösung zu bieten:

http://mikemurko.com/general/chrome-remote-debugging-nexus-7-on-windows-8/


1
sehr gutes Werkzeug danke
Christophe Debove

Großartig, dieses Tool macht das Debuggen mobiler Geräte zum Kinderspiel
CoalaWeb

1
Und was machen Sie, wenn Sie keine Administratorrechte haben und der USB-Treiber nicht installiert ist?
Stefan Steiger

6
@Quandary Betrachten Sie einen anderen Arbeitgeber, bei dem Sie die Tools und Berechtigungen für Ihre Arbeit erhalten.
Xdumaine

1
Was bringt es, ein Tablet zu haben, wenn ich auch den PC tragen muss?
Samuel Danielson

12

Sie können about:debugeinige der mobilen Browser eingeben, um eine JavaScript-Konsole aufzurufen.


Sie haben technisch Recht, aber erwarten Sie nicht, dass Sie damit sehr nützlich sind. Im Standard-Android-Browser (4.0) spuckt er nur Ihre console.logs aus und gibt nicht einmal das Ergebnis Ihrer ausgewerteten Befehle zurück.
Tom McKenzie

7

Ich drucke manchmal die Debugging-Ausgabe in das Browserfenster. Mit jQuery können Sie Ausgabenachrichten an einen Anzeigebereich auf Ihrer Seite senden:

<div id='display'></div>

$('#display').text('array length: ' + myArray.length);

Oder wenn Sie JavaScript-Variablen anzeigen möchten, ohne Ihrer Seite einen Anzeigebereich hinzuzufügen:

function debug(txt) {
    $('body').append("<div style='width:300px;background:orange;padding:3px;font-size:13px'>" + txt + "</div>");
}

3

Ich hatte das gleiche Problem , verwenden Sie einfach console.log(...)(wie Firebug) und installieren Sie eine Log Viewer-Anwendung. Dadurch können Sie alle Protokolle für Ihren Browser anzeigen.


2

Wir folgen den folgenden Schritten in unserem Projekt zum Debuggen einer Website auf Mobilgeräten.

  1. Installieren Sie die Mobogenie-Software auf Mobilgeräten und Desktops (beide haben dieselbe Version).
  2. Öffnen Sie Ihre Website im mobilen Google Chrome-Browser.
  3. Öffnen Sie Google Chrome auf dem Desktop. Gehen Sie zu Option -> Weitere Optionen -> Gerät überprüfen .
  4. Hier finden Sie eine Liste der Websites, die auf Mobilgeräten geöffnet sind. Klicken Sie auf "Überprüfen", um die gewünschte JavaScript-Konsole zu erhalten.

1

"USB Web Debugging" ist eine Option

"Drucken auf dem Bildschirm" eine andere.

Ich bevorzuge jedoch das Remote-Debugging über " Adobe Edge Inspect ", das früher als " Adobe Shadow" bezeichnet wurde . Es verwendet weinre intern (= WEb INspect REmote)

Sie installieren es einfach + ein kleines Plugin im Browser (Chrome) und eine kostenlose App, die Sie im Play-Store herunterladen können. Dann haben Sie alle Tools wie die Chrome-Entwicklungstools.

Es unterstützt auch iOS und Kindle Fire

Aktualisieren

Wie Chris bemerkt hat, müssen Sie ein Abonnement bezahlen, um Edge Inspect verwenden zu können. Eine billige Alternative ist die direkte Verwendung von weinre, es ist die Basis für die Kanteninspektion. Hier ist ein Artikel über die Einrichtung.


Sie müssen anscheinend ein monatliches Abonnement für Adbobe Creative Cloud bezahlen, um Edge Inspect
Chris Halcrow

@ ChrisHalcrow Ja, es ist traurig, aber es sieht so aus, als müssten sie jeden Cent aus allen erfolgreichen Projekten herausholen :)
VDP

1

Wenn Sie Cordova 3.3 oder höher verwenden und auf Ihrem Gerät Android 4.4 oder höher ausgeführt wird , können Sie "Remote-Debugging unter Android mit Chrome" verwenden. Vollständige Anweisungen finden Sie hier:

https://developer.chrome.com/devtools/docs/remote-debugging

In Summe:

  • Schließen Sie das Gerät mit einem USB-Kabel an Ihren Desktop-Computer an
  • Aktivieren Sie das USB-Debugging auf Ihrem Gerät (auf meinem Gerät unter Einstellungen> Mehr> Entwickleroptionen> USB-Debugging)

Oder , wenn Sie Cordova verwenden 3.3+ und haben kein physisches Gerät mit 4.4, können Sie einen Emulator verwendendie AnwendungenAndroid 4.4um die Anwendung durch den Emulator zu laufen, auf Ihrem DesktopComputer.

  • Führen Sie Ihre Cordova-Anwendung auf dem Gerät oder Emulator aus
  • Geben Sie in Chrome auf Ihrem Desktop-Computer chrome: // inspect / # Geräte in die Adressleiste ein
  • Ihr Gerät / Emulator wird zusammen mit allen anderen erkannten Geräten angezeigt, die an Ihren Computer angeschlossen sind. Unter Ihrem Gerät befinden sich Details zum Cordova 'WebView' (im Grunde Ihre Cordova-App), das auf dem Gerät / Emulator ausgeführt wird ( Cordova funktioniert so, dass es im Grunde ein "Browser" -Fenster auf Ihrem Gerät / Emulator erstellt, in dem sich eine "WebView" befindet, in der Ihre HTML / JavaScript-App ausgeführt wird.
  • Klicken Sie auf den Link "Inspizieren" im Abschnitt "WebView", in dem Ihr Gerät / Emulator aufgelistet ist. Daraufhin werden die Chrome-Entwicklertools angezeigt, mit denen Sie Ihre Anwendung jetzt debuggen können.
  • Wählen Sie die Registerkarte "Quellen" der Chrome-Entwicklertools aus, um JavaScript anzuzeigen, das Ihre Cordova-App auf dem Gerät / Emulator derzeit ausführt. Sie können dem JavaScript Haltepunkte hinzufügen, mit denen Sie Ihren Code debuggen können.
  • Sie können auch die Registerkarte "Konsole" verwenden, um Fehler anzuzeigen (die rot angezeigt werden), oder am unteren Rand der Konsole wird eine Eingabeaufforderung ">" angezeigt. Hier können Sie beliebige Variablen oder Objekte (z. B. DOM-Objekte) eingeben, deren aktuellen Wert Sie überprüfen möchten, und der Wert wird angezeigt.

Dies ist eine großartige Option. Ich fand, dass xamarin.com/android-player wirklich gut funktioniert und für das Debuggen entwickelt wurde und das USB-Protokoll unterstützt. Ich ging in die Einstellungen meines emulierten Android und schaltete USB wie angewiesen ein. Stellen Sie sicher, dass Sie festlegen, welche Anwendung Sie debuggen möchten (in meinem Fall habe ich mit dem Aktienbrowser debuggt). Öffnen Sie anschließend den Aktienbrowser das emulierte Android, dann springen Sie zurück zu Ihrem Chrome DevTools Inspect Devices-Fenster. Der Browser wird in der Liste mit einer schönen Liste der zu überprüfenden Registerkarten angezeigt. Reine Glückseligkeit!
Mike Kormendy

1

Sie können YConsole als eingebettete js-Konsole ausprobieren. Es ist leicht und einfach zu bedienen.

  • Protokolle und Fehler abfangen.
  • Objekteditor.

Wie benutzt man :

<script type="text/javascript" src="js/YConsole-compiled.js"></script>
<script type="text/javascript" >YConsole.show();</script>



0

Ich habe kürzlich ein Tool zum Anzeigen von Konsolenprotokollen in einem beweglichen / veränderbaren "Fenster" (eigentlich ein Div) geschrieben. Es bietet ähnliche Funktionen wie die Firebug-Konsole, kann jedoch auf einem Tablet über Ihrer Seite angezeigt werden. Tablet / Smartphone / Phablet-Debug-Konsole


0

Ich suchte auch nach einem einfachen Konsolenersatz, nur um Text auszugeben. Was ich also getan habe, war diese Funktion:

function remoteLog (arg) {
    var file = '/files/remoteLog.php';
    $.post(file, {text: arg});
}

Die Remote-PHP-Datei zeichnete die gesamte Ausgabe in einer Datenbank in auf arg. Es hat 5 Minuten gedauert (OK, auf der Serverseite habe ich eine einfache Protokollierungsbibliothek verwendet, die Textnachrichten aufzeichnet und anzeigt, aber immer noch ...).


0

Am 2013.12.03 Google startet Chrome DevTools for Mobile , die es Entwicklern ermöglicht Remote - debuggen mobile Web - Anwendungen über Emulation und Bildschirm-Casting mit Zero Configuration .

Informationen zu allen Funktionen finden Sie in Paul Irishs Vortrag auf YouTube .


Der Benutzer fragt speziell nach dem alten 2.x Android-Browser, nicht nach Chrome. Leider gibt es da draußen viele alte Telefone.
Mikemaccana

@mikemaccana Sie sagen also, dass Sie 2.x-basiertes Android mit den neuesten Chrome-Entwicklungstools nicht remote debuggen können?
Farm

Das ist richtig. Chrome-Entwicklungstools funktionieren nur mit Chrome für Android, nicht mit Android Browser. Der Android-Browser wird nicht unter chrome: // inspect / # -Geräten angezeigt.
Mikemaccana

0

Versuchen Sie es mit js-mobile-console

MobileConsole kann zum Debuggen in jede Seite eingebettet werden. Es erkennt Fehler und verhält sich genau wie die native JavaScript-Konsole im Browser. Es gibt auch alle Protokolle aus, die Sie über eine API von window.console geschrieben haben.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.