zoukankan      html  css  js  c++  java
  • android系统开发之开启启动

    # Copyright (C) 2012 The Android Open Source Project   Android开源项目
    #我们这里只对init.rc做一个简单的介绍,init.rc文件中只包含两种声明,on和service,我们可以把on称为行为,把service称为服务
    (这里的服务和应用开发中四大组件中的服务以及通过context.getSystemService()所得到的系统服务都不是一个东西,我一直不知道该怎么给它起名,姑且叫它init服务)。
    service声明了服务以及服务的各种行为。我们标题中说的开机启动进程就是这里的init服务。service只定义服务,但不能让服务做任何事情,如果你需要服务能够产生启动或
    者停止等相关动作,你就需要on,每个on下面的有各种命令,其中就包括很多对init服务的操作。这里要提到的是,我们要修改的init.rc文件在device/friendly-arm/nanopi3
    目录下,也就是厂商定制的版本,如果你使用的是别的开发板,可以去相应的目录找找。我们来看看init.rc中on和service两个典型的。

    我们可以看到service下面也有很多东西,这里我们不叫它们命令了,叫属性或者参数也许会比较好,其中比较重要的是class core,表示这个service属于core这个class,
    class我们不需要深入去管它,只要把它理解成一组service的集合就行。

    # IMPORTANT: Do not create world writable files or directories. 不要创建世界可写文件或目录。
    # This is a common source of Android security bugs. 这是Android安全漏洞的常见来源。


    import /init.environ.rc
    import /init.usb.rc
    import /init.${ro.hardware}.rc
    import /init.${ro.zygote}.rc
    import /init.trace.rc
    
    on early-init
        # Set init and its forked children's oom_adj.
        write /proc/1/oom_score_adj -1000
    # 定义一个 服务
    service my-start /system/bin/sh /data/local/mystart.sh
        class main
        user root
        group root
        disabled
        oneshot
    # 当行为dev.bootcomplete 完成时  开启
    on property:dev.bootcomplete=1
        start my-start
  • 相关阅读:
    专题三--1005
    专题三--1009
    专题三--1017
    背包九讲
    专题三--1003
    专题三--1004
    专题三--1015
    [洛谷P1220]关路灯
    [洛谷P1776]宝物筛选
    [USACO14JAN]Recording the Moolympics
  • 原文地址:https://www.cnblogs.com/countryboy666/p/14476785.html
Copyright © 2011-2022 走看看