I'm having a problem, where I'm trying to trace some function calls in an Android app, that uses JNI for about all of its work. More specifically, a function call, in JNI, that makes (IIRC Android itself "calls" it, not the app, the app just makes it) a specific
Toast. And try to hook on that function that makes it, for example with Frida's Interceptor.
The problem is, that I haven't found a way to trace all function calls. I used some tips, like using frida-trace and tracing "Java_*" (where * is a wildcard) calls. But as this app probably has non-standard JNI calls (IIRC dynamically loading JNI libraries, where function names can have any name).
Then I used a tool called jnitrace, which I found available open source on GitHub. This tool didn't report any functions at all. Until I opened a WebView in the app. Then it started printing out lots and lots of data referencing to the Chromium library, even after I stopped using the WebView.
I found out about Frida's Stalker, but using some scripts that say "to print all function calls" just crash the app. Any app, so I think it's not the problem of the specific app I'm reverse engineering.