一开始我也苦苦找寻原因,可是上面三者都不是我的原因。因此来招笨的,直接把友善自带的Android/system/代替自己编译的,ok,一起成功启动。
然后我就对比了友善tiny210自带android和我编译的有啥区别:
除了data和system,其他目录、文件,包括/下的linuxrc,init,init.*.rc,uevent.*.rc都完全相同!!
而上面的测试可以知道,正是是因为system中的内容不同,导致了上述的错误!!
好了,再开始对比system下的内容,不同的文件有:
############ android编译生成的 ##########
system/framework
system/xbin
system/app
system/lib/libhardware_legacy.so
system/lib/libmock_ril.so
system/lib/libwebcore.so
system/etc/security/otacerts.zip (android-2.3.1自带)
+system/etc/ts.detected (tslib校验时生成的)
########### 开发板BSP ############
system/lib/modules/2.6.35.7-FriendlyARM/ 没有不同
+system/lib/hw/gps.mini6410.so 只多出了gps.mini6410.so
system/lib/hw/gps.mini210.so
然后在只把tiny210自带android的system/framwork/下的framwork*和core*.jar直接cp就可以启动我自己编译的了!!
最后发现:
-rw------- 1 linuxidc linuxidc 2.8M 2012-10-26 04:07 framework.jar
-rw-r--r-- 1 linuxidc linuxidc 4.4M 2012-10-26 04:02 framework-res.apk
-rw------- 1 linuxidc linuxidc 1.8M 2012-10-26 04:04 core.jar
-rw-r--r-- 1 linuxidc linuxidc 9.9K 2012-10-26 04:05 core-junit.jar
修改他们的权限为644,o(∩∩)o...哈哈,终于可以运行了!!
原来是这个原因!!实际上就是刚刚提到的第三个原因:权限不够!!