android开发若干问题

最近需要开发一个程序不停地读取android手机的桌面,由于该程序涉及到读/dev/graphics/fb0,开发用c++,我一开始就开发一个linux程序,用android ndk交叉编译成一个可执行程序,然后上传到模拟器路径/system/sbin上,上传过程中/system/sbin': Read-only file system。adb shell到模拟器,然后su到root,然后 chmod 777/system/sbin,这个过程也还是会在chmod提示Read-only,这是由于/system/sbin在挂载的时候/system 为只读程序

adb shell到模拟器环境中后

su到root

然后执行 mount 命令

这时候有显示结果

# mount

rootfs / rootfs ro 0 0

tmpfs /dev tmpfs rw,nosuid,mode=755 0 0

devpts /dev/pts devpts rw,mode=600 0 0

proc /proc proc rw 0 0

sysfs /sys sysfs rw 0 0

none /acct cgroup rw,cpuacct 0 0

tmpfs /mnt/asec tmpfs rw,mode=755,gid=1000 0 0

tmpfs /mnt/obb tmpfs rw,mode=755,gid=1000 0 0

none /dev/cpuctl cgroup rw,cpu 0 0

/dev/block/mtdblock0 /system yaffs2 ro 0 0

/dev/block/mtdblock1 /data yaffs2 rw,nosuid,nodev 0 0

/dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev 0 0

这里可以看出 /system 为只读 ro


此时我们需要重新mount /system

在root用户下,执行

mount -o remount,rw /dev/block/mtdblock0 /system

这个时候重新挂载了/system

再执行chmod 777 /system/sbin 这时候成功了,接着我们可以执行  adb push libs/armeabi-v7a/getscreen /system/sbin,这时候出现一个新的问题 

failed to copy 'libs/armeabi-v7a/getscreen' to '/system/sbin': Out of memory

/system/sbin内存不足



我们执行程序df 

#df

Filesystem             Size   Used   Free   Blksize

/dev                   252M    32K   252M   4096

/mnt/asec              252M     0K   252M   4096

/mnt/obb               252M     0K   252M   4096

/system                161M   161M     0K   4096

/data                  191M     5M   185M   4096

/cache                  64M     1M    62M   4096


模拟器中/system中确实没有内存


解决方法:

带参数启动模拟器(根据情况适当调整分区的大小)

./emulator -partition-size 256 -avd AVDMTK




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值