Chinaunix首页 | 论坛 | 博客
  • 博客访问: 525805
  • 博文数量: 150
  • 博客积分: 5000
  • 博客等级: 大校
  • 技术积分: 1705
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-11 23:29
文章分类

全部博文(150)

文章存档

2011年(9)

2010年(25)

2009年(94)

2008年(22)

我的朋友

分类: LINUX

2008-11-19 13:33:50

在使用Android1.0的sdk碰到一个问题,用emulator启动后,system目录是Read-Only的,对使用native c很不方便,因为编译好的.so文件需要push到/system/lib下,再通过System.load加载。
需要通过修改init.rc启动脚本使/system可读可写

具体步驟是:
1.解压ramdisk.img
在sdk的tools/lib/images下有四个镜像,即:
kernel-qemu(内核)
ramdisk.img(rootfs)
system.img,userdata.img(在启动是挂载到rootfs)
#################################
#extract.sh
#bin!sh
sudo gzip -dc ramdisk.img > android_rootfs.img
mkdir -p android_rootfs
sudo chmod ugoa+rwx android_rootfs*
cd android_rootfs
sudo cat ../android_rootfs.img | sudo cpio -i
#################################

2.修改init.rc
 # Mount /system rw first to give the filesystem a chance to save a checkpoint
    mount yaffs2 mtd@system /system
    #注释掉这句
    #mount yaffs2 mtd@system /system ro remount

3.创建ramdisk.img
#################################
#make.sh
#bin!sh
cd android_rootfs
sudo find | cpio -H newc -o | gzip -9 > ../dest.img
cd ..
mv ramdisk.img ramdisk_old.img
mv dest.img ramdisk.img
#################################

4.启动emulator
#emulator
注意每次启动前最好把.android下的内容删除
阅读(1231) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~