1.只push odex 到手机手机无法运行
解决:修改dalvik/vm/analysis/DexPrepare.cpp
中的dvmCheckOptHeaderAndDependencies方法中队bootClassPath的比较和签名的验证
2.android 4.1 File类读取文件名太长问题
解决:修改libcore/luni/src/main/native/java_io_File.cpp
中的 const char* next()方法,将readdir_r方法换成readir方法
原因:readir_r读取的文件名太长,会超出栈空间,会污染本类的栈空间
3.android 4.1 修改system/build.prop文件后手机无法启动
解决:adb shell
chmod 644 system/build.prop
原因:系统对*.prop文件的读写权限做了限制,不允许Group和Other组有写的权限
4.手机恢复出厂设置 清除全部内容按钮没有反应
解决:在init.*.rc 文件中找到
mount ext4 /dev/block/cache /cache这一句,将这一句放到 mount_all制定的文件中修改为
/dev/block/cache /cache ext4 nosuid,nodev,rw wait,check
注:最重要的是check参数,这样在android init.c中解析mout_all时就会先运行e2fsck命令去检查并修复分区,然后再挂载
原因:/cache 目录下挂在的分区损坏,不能够去写入数据导致的