我在logcat中有2个错误.
Function: selinux_android_load_priority [0], There is no sepolicy file
04-11 10:58:13.837: E/SELinux(10101): Function: selinux_android_load_priority , loading version is VE=SEPF_SGH-I337M_4.3_0022
这不是致命的,我的应用似乎很好.
知道是什么原因,我该如何解决?只是可以在我的应用程序中有错误日志!
最佳答案 我不知道如何摆脱这些消息.但它们确实阻止了Android NDK ndk-gdb脚本的运行.在发现此错误后,我在搜索调试器工作的方法时发现了这个问题:
ERROR: Could not setup network redirection to gdbserver?
Maybe using --port=<port> to use a different TCP port might help?
这似乎是一些手机的问题 – 可能是三星手机,或者至少我使用的是三星Galaxy Note 2.某些命令(如run-as)在stderr输出中带有这些selinux警告消息.
ndk-gdb脚本解析在设备上运行的shell命令的输出,以确定事实,例如它正在调试的程序包的数据目录的路径. selinux消息会干扰该集合.要解决该问题,请编辑$NDK_HOME / ndk-gdb并进行此更改:
diff --git a/ndk-gdb b/ndk-gdb
index 537808e..c8561e5 100755
--- a/ndk-gdb
+++ b/ndk-gdb
@@ -620,7 +620,7 @@ else
fi
# Find the <dataDir> of the package on the device
-adb_var_shell2 DATA_DIR run-as $PACKAGE_NAME /system/bin/sh -c pwd
+adb_var_shell DATA_DIR "run-as $PACKAGE_NAME /system/bin/sh -c pwd 2>/dev/null"
if [ $? != 0 -o -z "$DATA_DIR" ] ; then
echo "ERROR: Could not extract package's data directory. Are you sure that"
echo " your installed application is debuggable?"