因權限問題,需要在init.rc中加入腳本,當某property為特定值時,執行某服務
init.rc中相關內容如下
service awdebug /system/bin/awdebug.sh
class main
user root
group root
oneshot
on property:sys.debuggable=1
start awdebug 1
on property:sys.debuggable=0
start awdebug 0
即當sys.debuggable為1時執行/system/bin/awdebug.sh
su為root后測驗腳本,使用命令start awdebug,會報
init: Service awdebug does not have a SELinux domain defined.
為解決此問題,修改了system/sepolicy的file_contexts和service.te,相關修改為
diff --git a/file_contexts b/file_contexts
index 085a57b..b270f7c 100644
--- a/file_contexts
+++ b/file_contexts
@@ -218,6 +218,7 @@
/system/bin/idmap u:object_r:idmap_exec:s0
/system/bin/update_engine u:object_r:update_engine_exec:s0
/system/bin/bspatch u:object_r:update_engine_exec:s0
+/system/bin/awdebug.sh -- u:object_r:shell_exec:s0
#############################
# Vendor files
diff --git a/service.te b/service.te
index 0fce743..1a93efe 100644
--- a/service.te
+++ b/service.te
@@ -19,6 +19,7 @@ type radio_service, service_manager_type;
type surfaceflinger_service, service_manager_type;
type system_app_service, service_manager_type;
type update_engine_service, service_manager_type;
+type awdebug_service, service_manager_type;
添加了相關tee檔案,內容如下
type awdebug, domain;
type awdebug_exec, exec_type, file_type;
permissive awdebug;
init_daemon_domain(awdebug)
但仍然會報沒有domain定義
看了很多相關資料,但仍未解決
關于此問題想得到以下結果:
1.解決此問題
2.debug的方法
3.看哪些資料
求大神指導,多謝
我看過的資料:
1.https://blog.csdn.net/Innost/article/details/19299937
2.https://blog.csdn.net/xzx208/article/details/85375403
3.https://blog.csdn.net/l460133921/article/details/72891678
uj5u.com熱心網友回復:
自己頂一下!!!轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/77185.html
標籤:Android
下一篇:EditText焦點,輸入問題
