对Android平台Linux部分的初步理解
查看( 104 ) /
评论( 1 )
TAG:
-
jyiufe
发布于2008-11-18 17:08:40
-
同样,有各种线程,系统自己调用的程序,以及用户自己的程序进程,比如lk.test和 com.google.android.lunarlander是我在工程中运行的,com.google.android.maps, com.google.android.phone这种就是Android模拟器运行时你看见的那些程序。有意思的是,从进程中有 /system/bin/usbd来看,似乎客户端的调试都是通过USB的,当然不是现在拉,现在你只是在用模拟器而已。恩,以后真正配套硬件出来了, USB调试器会很贵么?嘿嘿。
最后看看文件系统,mount一下:
rootfs / rootfs rw 0 0
/dev/pts /dev/pts devpts rw 0 0
/proc /proc proc rw 0 0
/sys /sys sysfs rw 0 0
/dev/block/mtdblock0 /system yaffs2 rw,nodev,noatime,nodiratime 0 0
/dev/block/mtdblock1 /data yaffs2 rw,nodev,noatime,nodiratime 0 0
没什么有新意的,和台式机比较一下,一个就是没有虚拟内存文件系统,根文件系统直接就是模拟器从SDK安装目录下的/tools/lib /images/ramdisk.img加载的。而系统所用的是yaffs2 文件系统,system和data分别都是64MB大,而且都用了将近一半了。具体系统的映像是SDK安装目录下的tools/lib/image /system.img。
从上面的分析看,这个Linux还是比较正常的。还有一个有意思的话题,就是目前安装软件,或者说是Package的方式在developer group上受到不少人的谴责,主要是Google目前对Android的程序安装没有标准的Install程序,也没有一个仓库说明,现在一些小程序,可以通过分析Android的文件变化得到大致的安装方式,但是以后有什么大型工程的话,最好还是定一个比较标准的安装方式规则,不能老依赖 Eclipse来帮我们搞吧,呵呵。
通过下面的步骤,可以大致分析出目前的安装模式
安装软件前:
1. emulator -wipe-data
2. adb push busybox ./
3. adb shell ./busybox tar -cf /tmp/data.tar /data
4. adb pull /tmp/data.tar .
5. mkdir original
6. cd original
7. tar -xf ../data.tar
安装软件后:
1. adb shell ./busybox tar -cf /tmp/data.tar /data
2. adb pull /tmp/data.tar .
3. mkdir after_install
4. cd after_install
5. tar -xf ../data.tar
具体的区别,目前来看,就是/data/app和data/data下多了两个相关文件,同时在/data/system/packages.xml中增加了安装的程序信息。似乎菜单也是从这个文件中得到是否新安装程序,以及如何显示相关信息比如名称什么的。
标题搜索
日历
|
|||||||||
| 日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
| 1 | 2 | 3 | 4 | 5 | 6 | ||||
| 7 | 8 | 9 | 10 | 11 | 12 | 13 | |||
| 14 | 15 | 16 | 17 | 18 | 19 | 20 | |||
| 21 | 22 | 23 | 24 | 25 | 26 | 27 | |||
| 28 | 29 | 30 | 31 | ||||||
我的存档
数据统计
- 访问量: 1088
- 日志数: 11
- 建立时间: 2007-12-07
- 更新时间: 2009-06-10
