Почему redirect stdout / stderr на android не работает?
Я загрузил SDL 1.3 и протестировал его вместе с OpenGL ES на моем устройстве Android 2.2. Он работает нормально, но я не получаю выходы из вызовов printf
. Я пробовал команды ниже, как указано на странице разработчика Android, но ни DDMS
в Eclipse, ни adb logcat
сообщают строки, которые программа записывает с помощью printf
. Я сделал фильтр для тега stdout
.
$ adb shell stop $ adb shell setprop log.redirect-stdio true $ adb shell start
Что мне не хватает или что-то не так?
- Экспорт и запуск проекта Unity3D в Android Studio
- Как проверить видимость программной клавиатуры в Android?
- Как получить все контакты для Android, но без тех, которые находятся на SIM-карте
- Диалог для выбора изображения из галереи или с камеры
- Android - в чем смысл StableID?
- Ошибка: выполнение выполнено для задачи ': app: processDebugResources'. > java.io.IOException: не удалось удалить папку "" в андроид-студии
- Как делиться одними и теми же данными между несколькими действиями
- ViewPager с API Карт Google v2: таинственный черный вид
- Android Studio 2.0 - плагин слишком стар, обновите его до более новой версии или установите переменную окружения ANDROID_DAILY_OVERRIDE в
- Загружать видео с Android на сервер?
- Как добавить нижний колонтитул в NavigationView - библиотеку дизайна поддержки Android?
- Как написать собственный ExpandableListAdapter
- Что такое ярлык для автоматического импорта всех в Android Studio?
Другой способ сделать это – иметь файл /data/local.prop
, содержащий только строку log.redirect-stdio=true
. Может быть, это работает лучше? Кроме того, обратите внимание, что stdout буферизуется, поэтому может быть, что ваш вывод все еще сидит в буфере, ожидая, чтобы его покраснели. Вы можете вручную вызвать fflush
чтобы проверить это.
Согласно этой презентации , log.redirect-stdio
предназначен для вывода Dalvik, для перенаправления вывода C / C ++ (например, printf
), вы должны установить busybox на устройство и использовать его утилиту xargs
следующим образом:
myprogram | xargs log
Это, очевидно, работает для кода, который вызывается как автономный исполняемый файл. Если это только для целей отладки, вы можете написать небольшую программу для вызова своей библиотеки и вызвать ее из приложения с помощью xargs
.