如何让A20,android开机自动启动C程序

来源:互联网 发布:vb.net format 编辑:程序博客网 时间:2024/05/21 15:39

///  xinit  增加:  xinit    /usr/local/bin/xfreerdp  192.168.1.196



1,修改 android/device/    init.sun7i.rc


........(略)

#add by jiangdou
    chmod 777 /system/bin/hello
    chmod 777 /system/bin/dou.sh
service init-setup /system/bin/dou.sh
    class main
    user root
    group root
    oneshot

........(略)


2,在device/softwinner/sugar-cubieboard2/新建dou.sh  文件,内容:

#! /system/bin/sh

#hello是C编译的文件,是静态编译,,放在system/bin/
/system/bin/hello     

#or

hello

echo "jiangdou"

exit


3,vi device/softwinner/sugar-cubieboard2/sugar_cubieboard2.mk   ///目的是执行make -j48  复制到out/target/product/sugar-cubieboard2/system/bin/


........(略)

#add by jiangdou
PRODUCT_COPY_FILES += \
        device/softwinner/sugar-cubieboard2/hello:system/bin/hello \
        device/softwinner/sugar-cubieboard2/dou.sh:system/bin/dou.sh

........(略)



4,开机,,效果

root@android:/ # ps | busybox grep hello
root      1409  1     652    108   c006bf0c 0001090c S /system/bin/hello
root      1411  1     652    108   c006bf0c 0001090c S hello
root@android:/ # 


证明开机自动运行了



5, C代码内容,,,,编译$  arm-linux-androideabi-gcc -o  hello hello.c  -static

#include<stdio.h>#include <signal.h>int main(void){   int i;    signal(SIGCHLD, SIG_IGN);    daemon(0, 0);//fork 强制后台运行!   // for(i = 0; i < 10; i++)   while(1)    {     sleep(1);     printf("hello......by jiangdou\n");    } return 0;}




adb  push xxx   /system  ---->ERROR    "Readonly-----file   system" 


adb  shell   && mount -o remount -o rw /system


0 0