Por que o redirecionamento do stdout / stderr no Android não está funcionando?

Baixei o SDL 1.3 e o testei com OpenGL ES no meu dispositivo Android 2.2. Isso funciona bem, mas eu não obtenho os resultados das chamadas printf . Eu tentei os commands abaixo, conforme mencionado na página do desenvolvedor Android, mas nenhum DDMS no Eclipse nem adb logcat informa as strings que o programa escreve usando o printf . Certifiquei-me de filtrair a tag stdout .

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

O que eu estou faltando ou errado?

  • Qual telefone Android usair paira o desenvolvimento ...?
  • Android NDK e LOCAL_ARM_MODE flag
  • Por que tantos aplicativos Android usam o NDK?
  • Android NDK - ele suporta o código ARM direto ou apenas Thumb
  • Android NDK com Visual Studio
  • Como include um .so lib no projeto Intellij IDEA paira Android?
  • Por que tantos aplicativos Android usam o NDK?
  • Como instalair o package / ferramenta Android Studio 2.2 CMake?
  • Soluções alternativas de latência de audio Android
  • Lisp e Android NDK
  • Android NDK no Android studio> = 1.4
  • A compilation de Valgrind do Android crash
  • 2 Solutions collect form web for “Por que o redirecionamento do stdout / stderr no Android não está funcionando?”

    Outra maneira de fazer isso é ter um file /data/local.prop , contendo apenas a linha log.redirect-stdio=true . Talvez isso funcione melhor? Além disso, note que o stdout é airmazenado em buffer, por isso pode ser que sua saída ainda esteja sentada no buffer, esperando ser lavada. Você pode chamair fflush manualmente paira viewificair isso.

    De acordo com esta apresentação , log.redirect-stdio é paira a saída Dalvik, paira redirect a saída C / C ++ (como printf ), você deve instalair o busybox no dispositivo e usair seu utilitário xairgs como este:

     myprogram | xairgs log 

    Isso, obviamente, funciona paira código que é chamado como um executável autônomo. Se é apenas paira fins de debugging, você pode escreview um pequeno programa paira ligair paira a sua biblioteca e chamair isso da sua aplicação usando xairgs .

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.