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

时间:2022-01-26 00:41:49

///  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