imx8 开机进入桌面默认启动dzh.app

一、/build/make/tools/buildinfo.sh

echo "persist.sys.first_run=true" //设置是否启动app的变量

二、/vendor/nxp/tools/tools.mk //将当前路径system_shell.sh脚本文件放到android文件系统system/bin/中

CUR_PATH := vendor/nxp/tools

$(CUR_PATH)/sh/system_shell.sh:system/bin/system_shell.sh \

三、/device/nxp/imx8m/evk_8mp/sepolicy/file_contexts

/system/bin/system_shell.sh u:object_r:shell_exec:s0

/device/nxp/imx8m/evk_8mp/init.rc、、 init.rc进程启动时候, init.rc是init进程启动的配置脚本

//定义system_shell.sh脚本为system_shell服务,设置属性关闭服务之后不自动重启

service system_shell /system/bin/system_shell.sh

class main

user root

group root system

seclabel u:r:shell:s0

disabled

oneshot

seclabel <seclabel>

/*

在启动Service前将seclabel设置为seclabel. 主要用于在rootfs上启动的service,比如ueventd, adbd.

在系统分区上运行的service有自己的SELinux安全策略,如果不设置,默认使用init的安全策略.

为Service指定class名字. 同一个class名字的Service会被一起启动或退出,默认值是"default",第二个name可以不设置,用于service组.

group <groupname> [ <groupname>\* ]

在启动Service前将group改为第一个groupname,第一个groupname是必须有的,

默认值为root(或许默认值是无),第二个groupname可以不设置,用于追加组(通过setgroups).

oneshot选项表示该服务只启动一次,而如果没有oneshot选项,这个可执行程序会一直存在--如果可执行程序被杀死,则会重新启动

disabled 表示禁用服务,此服务开机时不会自动启动,但是可以在应用程序中手动启动它。

*/

四、/vendor/nxp/tools/sh/startApp.sh

#!/system/bin/sh

echo "run startapp server ....... " > /dev/kmsg

# start page

startActivity=com.sf.module.edms/com.dzh.EntryActivity //启动的dzh app包名

# round check delay time

checkAppProcessTimeDelay=1

i=1

while [ i -gt 0 ] //greater than 大于0

do

am start ${startActivity} //启动

i=$(($i-1))

sleep $checkAppProcessTimeDelay

done

三、/vendor/nxp/tools/sh/system_shell.sh

#!/system/bin/sh

/system/bin/startApp.sh &

五、/packages/apps/Settings/src/com/android/settings/BootReceiver.java

public class BootReceiver extends BroadcastReceiver{

String action = arg1.getAction();

if(action.equals(Intent.ACTION_BOOT_COMPLETED))//收到系统开机完成广播

{

}

//通过设置系统属性ctl.start将自动启动系统system_shell服务,从而进一步触发系统调用system/bin/startApp.sh脚本完成启动dzh.app

SystemProperties.set("ctl.start", "system_shell");

}

}

}

总结精华:

1、收到ACTION_BOOT_COMPLETED广播执行am start ${startActivity} 启动dzh.app。

到此本次话题启动dzh.app结束啦!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值