Есть ли способ печати на консоль в приложении для Android? - PullRequest
26 голосов
/ 23 июня 2010

Можно ли запустить приложение Android через эмулятор и заставить его печатать строки на консоли моего компьютера?Под консолью я подразумеваю стандартное место, в котором вы ожидаете увидеть System.out.println () в обычном Java-приложении.Поэтому, если вы запустили приложение java из командной строки, вы увидите println () в командной строке или, если вы запустили программу в eclipse, вы увидите ее на вкладке Console внизу.

Ответы [ 2 ]

34 голосов
/ 23 июня 2010

Использование Log.d("YourTag", "YourOutput");

см. http://developer.android.com/reference/android/util/Log.html

14 голосов
/ 23 июня 2010

По умолчанию система Android отправляет выходные данные stdout и stderr (System.out и System.err) в / dev / null. В процессах, запускающих виртуальную машину Dalvik, система может записать копию выходных данных в файл журнала. В этом случае система записывает сообщения в журнал, используя теги stdout и stderr, оба с приоритетом I.

Для маршрутизации вывода таким способом вы останавливаете работающий экземпляр эмулятора / устройства и затем используете команду оболочки setprop, чтобы включить перенаправление вывода. Вот как вы это делаете:

$ adb shell stop
$ adb shell setprop log.redirect-stdio true
$ adb shell start

Система сохраняет этот параметр до тех пор, пока вы не прекратите работу экземпляра эмулятора / устройства. Чтобы использовать настройку по умолчанию для экземпляра эмулятора / устройства, вы можете добавить запись в /data/local.prop на устройстве.

Дополнительную информацию можно найти в документе Android Debug Bridge .

Вы также можете создать свой собственный класс для печати на консоли http://tech.chitgoks.com/2008/03/17/android-showing-systemout-messages-to-console/

Я думаю, что на этот вопрос уже ответили в StackOverflow Как вывести LogCat на консоль?

...