我想EXCUTE開機可執行目標板上採用Android 5.1所以我在init.rc補充一點:初始警告:服務myservice需要定義一個SELinux域。請修正
on boot
start myservice
service myservice /system/bin/myservice
#class main
user root
group root
#oneshot
我沒有拆包和重新包裝的工作。
進行更改時,然而,屏幕保持打印:
init warning: Service myservice needs a SELinux domain defined. Please fix.
type=1400 ... avc:denied ... scontext ... tcontext ... #some annoying warning messages like this
SELinux的似乎是一個巨大的工程給我。我只是想避免這種情況。我嘗試兩種方法:
1. setenv kernelargs 'console=ttyS0,115200n8 rootdelay=1 selinux=0' and saveenv
2. set enforce 0
對於方法1,printenv
給出結果:
kernelargs=console=ttyS0,115200n8 rootdelay=1 selinux=0
所以你看,已經作了修改。但警告消息在重新啓動後不斷打印。
對於方法2,它說:
Could not set enforce status. Permission denied.
所以我現在被困在兩難困境不知道哪裏去了。我的問題:
-
- 任何人都知道如何禁用或Android的設置許可模式?
-
- 如果我想爲新服務定義域,應該修改哪些文件?
此外,ls -Z /system/bin/myservice
給出了這樣的:
u:object_r:system_file:s0
。我的同事告訴我,我仍然需要蘇。 su後,我成功設置了寬容模式。雖然對於另一個問題,在我看來,定義一個新域是一個非常棘手的問題:源代碼應該被修改,android應該被重新編譯。我的整個項目都應該重新編譯。 – dudu