Hi all,
I have cross-compiled version 1.17.0 of the libgrpc++ library for the Android platform. When I link against this library in a test program for Android, the program runs successfully, but I can't view the extra logs and traces to debug.
Specifically, I have tried
GRPC_VERBOSITY=debug GRPC_TRACE=api ./grpc-test
as well as variations on the above - e.g. using 'info' instead of 'debug' for the verbosity level. The program runs, but no trace info is displayed.
I am logging in to the Android console via `adb shell` to run the program. I have tried this on both a 32-bit ARM architecture (running Android 4.4) and an x86 emulator (need to check the Android version) - without success. When I compile the same program for my Linux desktop, I can view the debug trace without problem.
The libgrpc++ library is being compiled with debugging enabled, and I can actually debug the program using gdb + gdbserver. In some cases I would just prefer to debug using the 'trace' features of the library rather than gdb however.
My ultimate problem is that the library is failing to communicate with Google's TTS API. I am using `GoogleDefaultCredentials()` to retrieve credentials (and the GOOGLE_APPLICATION_CREDENTIALS environment variable is set correctly). When I try to invoke any method on the TextToSpeech::Stub, the request times out with the channel in state GRPC_CHANNEL_TRANSIENT_FAILURE. (I have used `set_deadline()` and `set_wait_for_ready(true)`).
The same program works as expected on Debian Linux. If I could view the trace on Android, it might help me to diagnose why it's failing there.
Can anyone think of a reason why the trace might not be activated on Android?
Incidentally, I have run a separate gRPC program on my Android device without problem - in this instance communicating with an insecure test server (using `InsecureChannelCredentials()`). Perhaps it's a SSL/TLS-related issue.