Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2129307
  • 博文数量: 229
  • 博客积分: 7217
  • 博客等级: 上校
  • 技术积分: 3224
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-19 17:23
个人简介

个人主页https://xugaoxiang.com,微信公众号: Dev_Club 或者搜索 程序员Club

文章分类

全部博文(229)

文章存档

2017年(1)

2016年(20)

2015年(23)

2013年(1)

2012年(23)

2011年(68)

2010年(62)

2009年(31)

分类: LINUX

2012-02-20 16:06:58

之前一篇博文介绍了shell脚本文件的开机启动,地址是http://blog.chinaunix.net/uid-12845622-id-3054126.html,不过有些操作并不好通过shell去执行,也不好做成JNI动态库由上层调用,这时,可能这篇博文就能帮上你,本文以创建文件夹为例,实现开机自启动C程序。

1、创建C程序文件夹
    cd android_src/external
    mkdir djstava

2、在建好的文件夹下新建源文件及其Android.mk
    test.c
  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. int main()
  4. {
  5.     int ret = mkdir("/system/djstava");//请确保你的用户有对相应目录的权限
  6.     if(ret == -1)
  7.     {
  8.         printf("mkdir failed!\n");
  9.         return -1;
  10.     }
  11.     return 0;
  12. }

    Android.mk
  1. LOCAL_PATH := $(call my-dir)
  2. include $(CLEAR_VARS)
  3. LOCAL_MODULE_TAGS := eng
  4. LOCAL_MODULE := djstava
  5. LOCAL_SRC_FILES := $(call all-subdir-c-files)
  6. include $(BUILD_EXECUTABLE)

3、修改开机脚本init.rc文件,增加
  1. service djstava_test /system/bin/djstava
  2.     oneshot

4、重新编译
    cd android_src
    make

5、开机测试
    看看文件夹/system/djstava是否已经被创建  
阅读(8725) | 评论(6) | 转发(3) |
给主人留下些什么吧!~~

cszzlsw2015-12-19 13:39:33

djstava:看看可执行文件的读写属性

解决了,其实是没有设置class 和uwer Root的的问题,不过还是要谢谢楼主,另外,如果我想要将/system永久变为可写的要在init.rc怎么操作呢?

回复 | 举报

cszzlsw2015-12-19 13:39:32

djstava:看看可执行文件的读写属性

解决了,其实是没有设置class 和uwer Root的的问题,不过还是要谢谢楼主,另外,如果我想要将/system永久变为可写的要在init.rc怎么操作呢?

回复 | 举报

djstava2015-12-18 20:23:03

cszzlsw:楼主你好,请问我按照你一样的写法怎么没能启动起来!

看看可执行文件的读写属性

回复 | 举报

cszzlsw2015-12-18 20:03:47

楼主你好,请问我按照你一样的写法怎么没能启动起来!

djstava2012-02-22 08:50:37

十七岁的回忆: 这些只是创建文件夹的么?.....
只是拿创建文件夹作为例子