Eine einfache Möglichkeit zum anmelden im Android-NDK-code?
Ich bin auf der Suche nach eine einfache Möglichkeit zum Debuggen von C-code in ein Android-NDK-Anwendung mit Eclipse. Ich habe gelesen, Möglichkeiten zum Debuggen der app mit gdb oder so ähnlich, aber was ich will ist ein Weg, um push-Nachrichten an Eclipse irgendwie.
Ich bin auf der Suche nach einer Lösung, die so einfach wie mit einer drucken-Funktion in C und sehen es in der DDMS-Protokoll oder etwas ähnliches. Hat jemand irgendwelche Erfahrung, dies zu tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die Android-Protokollierung Einrichtungen:
Stellen Sie sicher, dass Sie auch link gegen die logging-Bibliothek, in Ihrem Android.mk-Datei:
Der einfachste Weg ist wahrscheinlich die Umleitung printf () - Anweisungen, um die system-log (basierend auf den "Anzeigen stdout und stderr" Abschnitt die offizielle ADB Referenz-Handbuch.
Geben Sie diese 3 Befehle in einer Befehlszeile:
Dann kannst du die Ausgabe von "printf ()" - Anweisungen durch einen Blick auf das "LogCat" - Fenster von Eclipse-Debuggers, oder bei Eingabe dieser Befehlszeile:
Nur bewusst sein, dass, da die Daten vor der übertragung aus dem emulator oder Gerät, sollten Sie auf jeden Fall Spülen Sie die stdout-Puffer, zB:
Sollte dann eine log-Nachricht, beginnend mit "ich/stdout:"
fflush
aufgerufen werden, nach jedem printf-Anweisung?Niemand gepostet hat, info über die verschiedenen log-Ebenen so weit. Die Antwort ist ein Versuch, die Protokollierung der "Bild" full.
Verwendung:
Link Android log library als unten.
Android.mk:
CMakeLists.txt:
Weiter Lesen: Protokollierung
Alternative Lösung (mit debugger) ist hier erklärt:
Wie kann ich effektiv Debuggen von C-code, verpackt mit JNI in Eclipse? (Android-Dev)
ADT 20 umfasst ein NDK plugin bietet Unterstützung für das erstellen und Debuggen von NDK-Projekte in Eclipse. Dieses Dokument beschreibt, wie installieren und verwenden Sie das NDK plugin. Die Anweisungen sind Recht einfach und bestehen aus nur wenigen Schritten.
Dies ist die einfachste Lösung, die ich gefunden und es funktionierte für mich.
Hinweis: Wenn Sie mit ADT-bundle müssen Sie nur installieren Sie die C-Entwicklung-tools mit der neue software installieren (siehe screenshot) und gehen Sie zu "Über das NDK plugin" - Teil sofort.
Edit: es scheint, gibt Es ein Problem mit CDT in eclipse juno http://code.google.com/p/android/issues/detail?id=33788 verursacht eclipse-debugger nicht in der Lage sein zu finden Haltepunkte.
Workaround, den ich verwendet ist, um starten Sie die Anwendung im debug-Modus (nicht debug als native app, sondern "reguläre" debug) und dann in die Befehlszeile ein, ging ich zu meinem Projekt-root, und tippte
ndk-gdb
(erstelltgdb.setup
Datei inobj/local/armeabi
Ordner). Danach breakpoints gearbeitet, wie gewohnt.In den Kommentaren im Zusammenhang mit der Ausgabe auf den link oben, Sie schlagen vor, einige andere workarounds, aber ich habe nicht versucht, Sie da, Sie schien zu erfordern mehr Aufwand als diese.
Können Sie auch ein wenig util
Verwendung: