Android 5.1 を搭載したターゲット ボードで起動時に実行可能ファイルを実行したいので、init.rc にこれを追加します。
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 は私にとって巨大なプロジェクトのようです。私はそれを避けたいだけです。私は2つのアプローチを試みました:
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