android init.rc

在 Android 的 init.rc 文件中,你可以通过设置 service 的 class 属性来控制服务的启动行为。以下是如何设置服务为自动启动和非自动启动的示例:

设置为自动启动
要将一个服务设置为自动启动,你需要将其 class 属性设置为 core 或 main。这些类通常会在系统启动时自动启动。
在下面这个示例中,my_service 将会在系统启动时自动启动:

service my_service /path/to/my_service
    class core
    user root
    group root
    oneshot

设置为非自动启动
方法一:
要将一个服务设置为非自动启动,你可以将其 class 属性设置为 late 或 user。这些类通常不会在系统启动时自动启动,而是在其他服务启动后通过其他方式启动。
在下面这个示例中,my_service 将不会在系统启动时自动启动,而是在其他服务启动后通过其他方式启动:

service my_service /path/to/my_service
    class late
    user root
    group root
    oneshot

方法二:
在 Android 的 init.rc 文件中,disabled 是一个属性,用于指定一个服务是否在系统启动时自动启动。如果将一个服务的 disabled 属性设置为 true,则该服务将不会在系统启动时自动启动。
在下面这个示例中,my_service 服务的 disabled 属性被设置为 true,因此它不会在系统启动时自动启动。

service my_service /path/to/my_service
    class core
    user root
    group root
    oneshot
    disabled 

其他注意事项
oneshot 属性表示该服务只运行一次。如果你希望服务持续运行,可以省略这个属性。
user 和 group 属性指定了服务运行时的用户和组。
disabled 属性是一个布尔值,可以设置为 true 或 false。如果你希望服务在系统启动时自动启动,可以将 disabled 属性设置为 false。disabled 属性通常与 class 属性一起使用,以确保服务在特定条件下被禁用。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容