关闭

Android init.rc如何启动service去执行sh脚本

标签: Androidinit.rc
3290人阅读 评论(0) 收藏 举报
分类:

在Android开发中经常会遇到,在应用层想去执行一个脚本来完成某些底层相关的操作,但在应用层又没有root权限。

所以,老大给出一种方法完美解决此问题,又把上层和底层进行了隔离,非常好的策略。

1、在需要执行脚本的时候,应用层去设置一个property,在init.rc中去监测此property的值,当监测到此property的值符合要求时,去start service,来执行我们的脚本文件;

2、脚本执行完成后,在去重置此property的值,来stop service。


例如:

有产品需求需要在工厂菜单里面添加M5芯片的升级,方便以后的调试。

1、在工厂apk里面,M5需要升级的时候,去setprop dev.skym5update.enable=1 去启动sky_M5_update  service来执行sky_m5_update.sh

2、脚本执行完成后重置setprop dev.skym5update.enable=0来停止sky_M5_update  service

3、sky_M5_update  service在开机的时候不需要去执行,把参数disabled加上即可。


#for V620 M5 update
service sky_M5_update /system/bin/sky_m5_update.sh
    class main
    user root
    group root
    disabled

on property:dev.skym5update.enable=1
    start sky_M5_update
on property:dev.skym5update.enable=0
    stop sky_M5_update

0
0
查看评论

Android: 启动init.rc 中service的权限问题

<br />通过property_set("ctl.start", service_xx);<br />来启动init.rc中的service是一个很方便方法来调用某个可执行程序或某个脚本程序<br />service service_xx&#...
  • zmyde2010
  • zmyde2010
  • 2011-04-09 21:58
  • 18214

android init.rc中启动的service 默认是disable的,后续如何启动此服务

如果 Android init.rc中启动的service 默认是disable的,如何才能启动此服务呢? init.rc中可以直接启动service 附带的参数决定启动程序的状态,例如数据业务中配置网卡设备的脚本服务 data_on,data_off 在ini...
  • suofeng1234
  • suofeng1234
  • 2016-07-27 17:21
  • 1323

init进程 && 解析init.rc && init.rc中启动sh文件 && JAVA中跑shell && 文件和文件夹拷贝

Android启动后,系统执行的第一个进程是一个名称为init 的可执行程序。提供了以下的功能:设备管理、解析启动脚本、执行基本的功能、启动各种服务。代码的路径: system/core/init,编译的结果是一个可执行文件:init。这个init 的可执行文件是系统运行的第一个用户空间的程序,它以...
  • zhandoushi1982
  • zhandoushi1982
  • 2010-07-26 23:49
  • 18968

Init.rc妙用及语法说明

参考:system\core\init\readme.txt Actions take the form of: on < trigger> < command> < command> < command> Services...
  • seek_0380
  • seek_0380
  • 2016-11-14 20:00
  • 1449

init.rc启动 shell脚本

[Android] 在開機的時候,執行你想要的 shell script 雖然 init.rc 很好用,但還是有其缺陷... 像是我要 echo 某些字串到檔案時,他就做不到了 :( 所以可以搭配一個 .sh 的檔案,讓他開機的時候去執行這個 .sh 即可。 建議修改方式: [1] 在...
  • u011279649
  • u011279649
  • 2013-11-14 10:21
  • 10511

android init.rc命令快速对照表

注1:另外还讲述了怎样输出log:   Debugging notes --------------- By default, programs executed by init will drop stdout and stderr into /dev/null. To hel...
  • kevinx_xu
  • kevinx_xu
  • 2013-08-14 21:09
  • 2932

Android如何配置init.rc中的开机启动进程(service)

开篇:为什么写这篇文章 先说下我自己的情况,我是个普通的大四学生,之前在学校一直做Android应用开发,找实习的时候也一直想找相关的工作,来到现在这家公司以后,由于业务调整,被领导安排去做底层开发,本来我对底层的东西一无所知,加上其实并不感兴趣,其实一开始感觉还是很难的,不过刚刚工作,只有小孩子才...
  • qq_28899635
  • qq_28899635
  • 2017-02-21 16:53
  • 8907

Android在init.rc中加入脚本开机安装APK并启动APK的服务

在Android编译过程中,
  • u011563762
  • u011563762
  • 2014-08-27 15:56
  • 3256

[init.rc] android开机过程执行shell脚本

1、在system/core/rootdir/etc/下添加脚本文件,命名为myshell.sh,脚本内容可如下         #! /system/bin/sh 2、修改system/core/rootdir/Android.mk文件,增加语句 &#...
  • muojie
  • muojie
  • 2012-09-05 19:44
  • 4118

Android程序中如何执行shell脚本

在做Android应用时,经常需要执行shell脚本,以快速实现某些功能; 在Android应用程序中执行shell脚本可以省去一大堆繁琐的代码,还可以避免不必要的错误; 比如:拷贝文件夹时,可以执行shell命令中的 cp 命令达到目的;而在代码中实现拷贝文件夹时,不仅需要编写一大堆繁琐的代码,还...
  • sowhat_Ah
  • sowhat_Ah
  • 2015-01-28 12:30
  • 29485
    个人资料
    • 访问:19803次
    • 积分:339
    • 等级:
    • 排名:千里之外
    • 原创:15篇
    • 转载:3篇
    • 译文:0篇
    • 评论:15条
    文章分类
    最新评论