Mat*_*ell 12 android valgrind android-ndk
我已经安装了valgrind for android,我可以确认它正在运行,因为我尝试用它运行ls,它工作正常.
但是如何使用我想调试的本机组件执行Android应用程序?我看了这个问题:如何用valgrind启动一个Android应用程序,但我不知道如何遵循它.如何在shell脚本中包装应用程序?什么是"包装".其次是包名应该是?
我尝试使用com.matthewmitchell.wakeifyplus作为我的应用程序包:
setprop wrap.com.matthewmitchell.wakeifyplus "logwrapper /data/local/valgrind"
Run Code Online (Sandbox Code Playgroud)
但它说"无法设置财产".我应该做些什么?我找不到任何有效的分步指南.我试过这个(我甚至不知道setprop的作用):
setprop com.matthewmitchell.wakeifyplus "logwrapper /data/local/valgrind"
Run Code Online (Sandbox Code Playgroud)
/ data/local/valgrind是一个具有执行权限的shell脚本,它是:
#!/system/bin/sh
VGPARAMS='--error-limit=no'
export TMPDIR=/data/data/com.matthewmitchell.wakeifyplus
exec /data/local/Inst/bin/valgrind $VGPARAMS $*
Run Code Online (Sandbox Code Playgroud)
但当我运行应用程序时:
am start -a android.intent.action.MAIN -n com.matthewmitchell.wakeifyplus/.MainActivity
Run Code Online (Sandbox Code Playgroud)
即使在清除之后,valgrind也不会出现在logcat中.
您收到错误" 无法设置属性 ",因为您无法设置长度大于31的属性名称,这是属性名称中允许的最大字符数:https://stackoverflow.com/a/5068818/313113
使用adb shell setprop设置属性时,尝试将包名称长度减少到小于或等于31个字符.
并使用bash脚本来简单地处理事情.
有关详细信息,请参阅我的回答:https://stackoverflow.com/a/19235439/313113
| 归档时间: |
|
| 查看次数: |
7853 次 |
| 最近记录: |