- 论坛徽章:
- 0
|
![]()
文件:
android-busybox.rar
大小:
797KB
下载:
下载
昨天搞了JNI的互调,基本上没有什么问题。 今天搞搞类似使用RILD的方式实现硬件和UI的互动。
RILD采用的是SOCKET方式,里边有自己的一套SOCKET机制(cutils/sockets.h),使用其中的编程接口就OK了。
cd hardware/
cp -fra ril/rild xinod
这样有了一个xinod的目录,里边含有Android.mk.
修改内容:
Android.mk:
#这行必须是第一行
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES:= xinod.c
LOCAL_SHARED_LIBRARIES := libcutils
LOCAL_CFLAGS :=
LOCAL_MODULE:= xinod
include $(BUILD_EXECUTABLE)
去掉所有的C文件,增加xinod.c
#include stdio.h>
#include stdlib.h>
#include dlfcn.h>
#include string.h>
#include stdint.h>
#include unistd.h>
#include fcntl.h>
#include errno.h>
#define LOG_TAG "xinod"
#include utils/Log.h>
#include cutils/properties.h>
#include cutils/sockets.h>
#include linux/capability.h>
#include linux/prctl.h>
int main(int argc, char **argv)
{
daemon(1,0);
while (1) {
LOGD("OK, just in daemon");
sleep(2);
}
}
通过adb push 进去就直接可以执行了。
发行时需要修改init.rc
serivce xino-daemon /system/bin/xinod
user root
group radio cache inet misc
# 如果你有创建socket的话
# socket xinod stream 660 root
附件贴一个android可用的busybox
![]()
文件:
android-busybox.rar
大小:
797KB
下载:
下载
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/90973/showart_2062722.html |
|