2011年03月21日 星期一 12:08
想法也许土,但希望得到讨论:
我们不把android设备给个人使用,而用于工业(类似维络城的使用环境),那么,除了界面我们采用Android SDK来开发外,后台的东西,我想借用已有的开源Linux 应用成果。
不过经过这几天的寻找,我发现在Android平台,想实现我的想法并不容易:
1. Android有个NDK,不过,那个东西感觉怪怪的;搞不清楚NDK上编的程序为什么还需要在VM里跑。
2. 使用CodeSourcery编译器尝试编译了一个静态链接版本busybox,基本可以使用,但:
2.1 如果程序多,全部采用静态编译,有点浪费空间。
2.2 wget无法直接使用,因为没有/etc/resolv.conf文件,android使用key value数据库中的net.dns1以及net.dns2这两个key来代替了这个文件。
3. 从source.android.com链接找到prebuilt版本的toolchain,发现用起来也不是很舒服,感觉是pass1的gcc,还得自己拷贝bionic的C库和头文件。
3.1 下载的toolchain这个过程也很复杂,根据 http://android.git.kernel.org/?p=platform/prebuilt.git;a=summary 来clone,可是大小呢?有2G...
2011年03月22日 星期二 12:48
1. Android 2.3开始支持native activity
2. 这里有个Android版本的busybox,不知道对你有没有用:
http://zedomax.com/android/busybox.zip
放在sdcard,运行sh ./installbusybox.sh安装
2011年03月22日 星期二 13:44
感谢回复!不过:
1. Native Activity 还是Activity。 我需要的是,比方说,传统Linux中的ssh工具,rcp工具加上cron,纯后台的东西。
2. 那个是一个编译好的busybox,我自己就能编译啊。使用adb push busybox /system/bin/busybox即可替换内置版本的busybox,无需使用sdcard来安装。
2011年03月22日 星期二 17:36
找了些资料,想了个办法,欢迎评论:
0. root 设备,必要前提条件
1. 做一个Debian系统,放在文件系统的一个目录下,例如 /sdcard/debian
2. 静态版本的busybox,包含chroot命令
3. 修改固件,修改 android文件系统中的 /init.rc ,将需要的服务程序通过chroot的方法来执行,例如 chroot /sdcard/debian /usr/bin/lighttpd
4. 一些系统兼容性相关的东西,按照需求修改:
4.1 例如 /sdcard/debian/etc/resolv.conf 的定期更新,需要android系统来做定时程序来实现。
Zeuux © 2024
京ICP备05028076号