本文转载自:http://blog.csdn.net/Kaiwii/article/details/7681736

之前一篇博文介绍了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是否已经被创建

Android::开机自启动C程序【转】的更多相关文章

  1. C++ 无法将值写入注册表 HKEY_LOCAL_MACHINE\Sofeware\Microsoft\Windows\CurrentVersion\Run,以实现开机自启动应用程序。

    C++  无法将值写入注册表 HKEY_LOCAL_MACHINE\Sofeware\Microsoft\Windows\CurrentVersion\Run,以实现开机自启动应用程序.但可以写入到H ...

  2. 如何让A20,android开机自动启动C程序【转】

    本文转载自:http://blog.csdn.net/u011258134/article/details/50749174 如何让A20,android开机自动启动C程序 2014-12-26 11 ...

  3. Android开机自启动程序

    背景知识:当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字符串常量表示为 android.intent.action.BOOT_COMPLETED. ...

  4. Android 开机自启动应用

    Android启动时,会发出一个系统广播 ACTION_BOOT_COMPLETED,它的字符串常量表示为 “android.intent.action.BOOT_COMPLETED” 开机自启动程序 ...

  5. Android 开机自启动

    首先实现开机自启动: 第一步创建一个广播接收者,如MyBootBroadcastReceiver.java package com.example; import android.content.Br ...

  6. android 开机自启动实现

    App的开机自启动可以通过注册广播接收器接收开机广播来实现,具体步骤如下: 1.创建 BroadcastReceiver 的派生类,并重写 onReceive() 函数: /** * Created ...

  7. Android——开机自启动app

    android在开机完成后会发送一个android.intent.action.BOOT_COMPLETED的广播,告诉系统内app们已经开机. 我们可以在需要开机自启动的app中定义一个广播接收器, ...

  8. 【linux基础】如何开机自启动某个程序-linux工具-ubuntu

    前言 实际使用中应用程序或者服务需要开机自启动,而不是人为手动开启运行,那么,该如何做呢,本文对此进行介绍. 操作过程 1. 确定系统的桌面环境: 具体可参考here; 2. 如何自启动: 博主ubu ...

  9. Android开机自启动

    1.原理 当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字符串常量表示为 android.intent.action.BOOT_COMPLETED. ...

随机推荐

  1. JS实时获取浏览器窗口尺寸 .

    给div实时设置宽度 <div id="detail" style="width: 100%; overflow: scroll;"> </d ...

  2. RocketMQ之基本信息

    1.Producer 即消息生产者,负责产生消息,一般由业务系统负责产生消息. 2.Consumer 即消息消费者,负责消费消息,一般是后台系统负责异步消费. 3.Push Consumer Cons ...

  3. Kafka 分布式消息系统详解

    实际上kafka对机器的需求与Hadoop的类似. 原来,对于Linkin这样的互联网企业来说,用户和网站上产生的数据有三种: 需要实时响应的交易数据,用户提交一个表单,输入一段内容,这种数据最后是存 ...

  4. Ajax内容签名技术(减少无谓流量损耗)

    UI界面Ajax获取数据内容的时候,一般是直接加载内容填充,不管内容有无变化.自己也是一直这么干,包括定时刷新公告等.今天在浏览器控制台调试的时候,发现动态刷新内容,其实挺耗费流量的,特别是内容无变化 ...

  5. 将自己的类封装为lib的方法

    前言: Windows API中所有的函数都包含在dll中,其中有3个最重要的DLL. (1)   Kernel32.dll 它包含那些用于管理内存.进程和线程的函数,例如CreateThread函数 ...

  6. MFC多标签页对话框

    原文链接(有修改):http://blog.sina.com.cn/s/blog_6a1cdb3f0101llcw.html 1.新建一个MFC工程 取名PageSheet,选择Dialog base ...

  7. Algorithms算法题<1.1>

    1.1.27 二项分布.估计用一下代码计算binomial(100,50,0.25)将会产生的递归调用次数: public static double binomial(int N,int k,dou ...

  8. Visual Studio 2015中 安卓环境 cannot find adb.exe in specified sdk path

    安装完成后 发现 C:\Program Files (x86)\Android\android-sdk\platforms 是空的,用SDK Manager进行安装时发现 它需要往C:\Program ...

  9. CentOS6.5 静默安装Oracle 11g过程中提示:Exception in thread “main” java.lang.NoClassDefFoundError

    原来是系统中设置了DISPLAY环境变量,执行: [oracle@qa26 database]$ ./runInstaller  -silent -responseFile /usr/local/or ...

  10. 【JavaScript框架封装】实现一个类似于JQuery的动画框架的封装

    // 动画框架 (function (xframe) { // 需要参与链式访问的(必须使用prototype的方式来给对象扩充方法) xframe.extend({}); // 不需要参与链式访问的 ...