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