|
文件: |
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 |
下载: |
下载 | |
阅读(2409) | 评论(0) | 转发(0) |