Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android LD_PRELOAD在安卓6.0上仍然有效吗_Android_System_Native - Fatal编程技术网

Android LD_PRELOAD在安卓6.0上仍然有效吗

Android LD_PRELOAD在安卓6.0上仍然有效吗,android,system,native,Android,System,Native,我试着在Android上学习一个教程。它在Ubuntu16.04上运行,但当我在Android上尝试时,它不起作用 以下是我的步骤: 将库推送到设备上 adb push libpreload.so /data/libpreload.so 在Android终端上设置系统属性: setprop com.foo.bar LD_PRELOAD=/data/libpreload.so 我使用strace追踪了Android设备上的所有系统调用。我不明白这个信息: "write(0, "Hello, K

我试着在Android上学习一个教程。它在Ubuntu16.04上运行,但当我在Android上尝试时,它不起作用

以下是我的步骤:

将库推送到设备上

adb push libpreload.so /data/libpreload.so
在Android终端上设置系统属性:

setprop com.foo.bar LD_PRELOAD=/data/libpreload.so
我使用strace追踪了Android设备上的所有系统调用。我不明白这个信息:

"write(0, "Hello, Kernel!\n", 15Hello, Kernel!)        = 15"
我错过什么了吗?Ld_preload在Android 6.0上工作吗?

您的setprop调用不正确。您需要设置目标包的wrap属性:

setprop wrap.com.foo.bar LD_PRELOAD=/data/libpreload.so
还要确保库可读且可执行:adb shell chmod a+rx/data/libpreload.so.

回答此问题,因为缺少一些信息,如果人们发现此问题,这些信息可能会有所帮助

是的,它在安卓6上工作。 除了上面回答中提到的命令错误之外,Android 6上的SELinux还阻止了共享库。您必须将其设置为许可模式才能使其工作。为此,您很可能需要在手机上使用root访问权限

启用: 亚行壳牌 苏 设置强制执行0 使用getenforce验证是否将其设置为Permissive 禁用: 亚行壳牌 苏 SET1 使用getenforce验证是否将其设置为Enforcing