Trying to profile my native libraries on Android, I have concerned that there is a lack of free profiling tools for this platform (specifically to profile native libraries).
As said here and here two alternatives are available:
- android-ndk-profiler: Intrusive profiling.
- fplutil: Non-intrusive profiling.
The first option interferes in the execution while the profiler is active, and as the readme file of the android-ndk-profiler sais: "As an alternative please try out Google's own FPL Utils - NDK perf, which provides a non-intrusive way to profile your applications using Linux perf".
However, this new tool looks to only works on two specific devices:
## Set of tested devices that are known to support perf.
SUPPORTED_DEVICES = set([
'mantaray', # Nexus 10
'nakasi', # Nexus 7 (2012)
])
It looks like the device should have "Linux Perf" support to use fplutis profiler.
Is there any other device apart of Nexus 10 and Nexus 7 (2012) where this profiling tool can be used?
Is there a way to active this "Linux Perf" support on other devices? (changing the rom for example)
Any other (newer) alternative?
Thanks.
NOTE: Some other answers like this or this suggest to use Valgrid, but I assume that it is an old alternative, and it is deprecated nowadays.