栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

如何让一个应用开机自启动、kill进程重启

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何让一个应用开机自启动、kill进程重启

本文所述是正常的Android系统源码中加入一个开机自启动的应用,对于三方应用来说,则无法使用此例!请读者注意
我们都知道Android系统的启动流程是在Linux内核启动后,加载init引导脚本,拉起众多的系统服务,因此在init脚本中加入配置,不同芯片的引导脚本存放地址也许有差异,这是高通6350的地址: system/core/rootdir/init.rc
能看到init引导脚本长这样

service servicemanager /system/bin/servicemanager
    class main
    user  system
    group system
    critical
    onrestart resetart zygote
    onrestart resetart media
    onrestart resetart surfaceflinger
    onrestart resetart drm

我们在设置一个开机自启动应用时,最有效的办法是复制一个与之权限接近的service,改为自己的serviceName,
全编译的时候设置脚本:在俩目录

build/make/target/product/base_system.mk
build/sourcecode.sh

因为Android系统有一些se相关的系统权限(区别于Android清单文件中的权限或者是Android的运行时权限),因此也需要配置如下的脚本文件:

device/qcom/sepolicy/byd/attributes
device/qcom/sepolicy/byd/file.te
device/qcom/sepolicy/byd/file_contexts
device/qcom/sepolicy/byd/gbacqservice.te
device/qcom/sepolicy/byd/service.te device/qcom/sepolicy/generic/public/service.te
device/qcom/sepolicy/generic/private/service_contexts
device/qcom/sepolicy/byd/system_server.te

te为后缀的文件就是权限相关的文件,还有一些是需要提供给系统上下文,让其他的系统框架可以访问,类似我们在Android应用里 getService(“这里传的字符串”),这样的话就需要 device/qcom/sepolicy/generic/private/service_contexts里配置,反之则可以省略

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/310800.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号