我正在尝试使用Google提供的Simpleperf工具在Android上配置原生代码。
我已经完成了他们示例中列出的每一步,将print string_containing_unicode.encode('utf-8')
设置为0,检查我正在使用的设备的架构(Nexus 9平板电脑),最后使用以下命令启动Simpleperf设备的外壳:
security.perf_harden
但结果是,我得到了
./simpleperf record -p 10910 --duration 5
我似乎无法让Simpleperf记录任何样本。我使用simpleperf I 04-05 10:53:27 11773 11773 cmd_record.cpp:341] Samples recorded: 0. Samples lost: 0.
标志在调试中编译了我的本机库,我的Android应用程序被标记为-g
(虽然显然我可以省略它并且只是在调试中构建)。在这一点上,我无法指出Simpleperf记录样本可能缺少的东西。
如果我尝试一个简单的:
android:debuggable=true
之后,这就是我最终的结果:
./simpleperf report
我在这里做错了什么或错过了什么?
答案 0 :(得分:-2)
您是否在分析时使用该应用。如果进程与cpu无关,并且处于睡眠模式,则可能没有样本。 https://android.googlesource.com/platform/system/extras/+show/master/simpleperf/README.md#457