我们在调试的过程中会push so到手机中复测,但是因为有个别目录存在selinux权限问题,导致push so无法开机.
如我这边push 一个so出现这样的问题,出现这样的selinux权限问题
avc: denied { read } for pid=453 comm="boringssl_self_" name="libcrypto.so" dev="dm-4" ino=29 scontext=u:r:vendor_boringssl_self_test:s0 tcontext=u:object_r:system_file:s0 tclass=file permissive=0
我们可以需要手动改下这个so权限问题
如未push so之前这个so的权限如下
U688AA:/ # ls -lZ system/system_ext/apex/com.android.vndk.v31/lib64/libcrypto.so
-rw-r--r-- 1 root root u:object_r:system_lib_file:s0 1228208 2009-01-01 08:00 system/system_ext/apex/com.android.vndk.v31/lib64/libcrypto.so
push so后发现
U6080AA:/ # ls -lZ system/system_ext/apex/com.android.vndk.v31/lib64/libcrypto.so
-rw-r--r-- 1 root root u:object_r:system_file:s0 1228208 2009-01-01 08:00 system/system_ext/apex/com.android.vndk.v31/lib