天天看點

Android::開機自啟動C程式【轉】

之前一篇博文介紹了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. 
4. int main()
5. {
6. int ret = mkdir("/system/djstava");//請確定你的使用者有對相應目錄的權限
7. if(ret == -1)
8. {
9. printf("mkdir failed!\n");
10. return -1;
11. }
12. return 0;
13. }      

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是否已經被建立