Android,在logwrapper下启动时启动valgrind权限被拒绝

时间:2017-12-13 12:08:13

标签: android shell adb native valgrind

我试图在android上使用valgrind,并遇到一些问题。当我在valgrind下启动应用时,我遇到了以下错误(在logcat中):

         logwrapper  W  type=1400 audit(0.0:73): avc: denied { execute } for name="start_valgrind.sh" dev="dm-1" ino=654102 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:system_data_file:s0 tcla ss=file permissive=0

                     E  executing /data/local/start_valgrind.sh failed: Permission denied
  start_valgrind.sh  I  executing /data/local/start_valgrind.sh failed: Permission denied
                     I  start_valgrind.sh terminated by exit(255)

前提条件:

  1. 我在我的机器上建立了valgring valgrind-3.13.0,并将其推上 rooted nexus 6P,8.1.0 OS。 (我也使用了模拟器8.0 + valgrind-3.11.0 - 效果相同)
  2. 我设置了prop adb shell setprop wrap.$PACKAGE \"logwrapper /data/local/start_valgrind.sh\"(start_valgrinds.sh脚本 来自以下链接)
  3. 我使用了这里的说明 https://stackoverflow.com/a/19235439/313113
  4. 我做了chmod -R 777 /data/local/Inst/(valgrind bin的位置)。
  5. 我做了chmod 777 /data/local/start_valgrind.sh(启动脚本,见2项)
  6. 我推出了类似的应用:adb shell am start -a android.intent.action.MAIN -n $PACKAGE/.MainActivity
  7. 我使用Hello world原生JNI应用程序。
  8. logwrapper由于没有enouph权限,但是如何添加这些权限这一事实,/data/local/start_valgrind.sh无法启动脚本var input = document.getElementsByClassName('address'); for (var x = 0; x < input.length; x++) { addListener(input[x]); } 可能会出现问题。

1 个答案:

答案 0 :(得分:-1)

尝试将start_valgrind.sh移至/ system / bin并设置模式755