我正在使用Android 2.3.3开发飞思卡尔i.mx53主板,我正在尝试将自己的android本机服务添加到init.rc中,以便它在启动时运行。我已尝试按照http://www.androidenea.com/2009/08/init-process-and-initrc.html上的指南,包括他们的示例服务代码。但是,我正在使用android ndk将示例服务代码构建为ARM二进制文件。
如果我在adb shell中手动运行示例服务。但是,当我把它放在src / system / core / rootdir / init.rc的末尾时似乎没有任何事情发生。
我在启动后查看设备根目录中的init.rc,它与源中的init.rc不同。值得注意的是,我添加的行不在那里。
可能出现什么问题?
答案 0 :(得分:5)
这不能从shell完成。 init.rc
是ramdisk
而非system
分区的一部分。所以在启动时,init.rc
拾取的将来自ramdisk。因此,您对init.rc
所做的任何更改都不会得到反映。
AFAIK唯一的方法是构建ROM并重新刷新
检查此post,它是相关的,可能有所帮助
答案 1 :(得分:0)
当您使用模拟器时,添加选项" -ramdisk out / target /.../ ramdisk.img"并且模拟器上的init.rc将使用自定义版本。在我的情况下,你还需要添加" class"在选项中。