
客户提供了一个 c 编译的 so 文件
里面很多 printf 打印的 log
现在已经可以调用 so 里面的函数,如何把 so 里面的 log 打印到 android 的 logcat 中?
注:不是使用 ndk 打印 log:)
谢谢大家
1 nicevar 2017-09-30 11:20:34 +08:00 你别逗我,给 android 用的 so 没用__android_log_print ? printf 函数在 android 的 jni 下无效的,怎么会有输出? |
2 bluefalconjun 2017-09-30 11:45:53 +08:00 printf 如果直接调用了 bionic 倒是有希望打印出来的吧? 感觉是不是只能把这个调用 so 的程序(apk? java service? native service?)做一个重定向? 然后输出到 logd 里面. 奇葩需求... 让他给你重新编一个吧... |
3 woodfish 2017-09-30 13:05:05 +08:00 stdout 重定向到一个 pipe, 读取 pipe 然后用 logcat 输出 http://www.sisik.eu/blog/embedding-node-into-android-app 有大致方法 |
4 miaoxia OP |
6 fpro 2017-09-30 20:35:05 +08:00 gcc link 的时候可以指定一个方法重新实现 我记得 -Wl,-wrap,printf |