Android在新平台上的移植
来源:互联网 发布:淘宝上的东西可靠吗 编辑:程序博客网 时间:2024/05/22 03:06
最近公司退出了新一代的arm芯片,硬件有改变的还有PMU,Audio,Graphic, TouchPanel。
由于大部分硬件都没有改变,所以我们的思路很简单,就是在原来的软件版本上进行修改。另外两个同事忙活了一个月左右的时间,先后跑起来了XLoader,Uboot和Linux Kernel。但是Android死活都起不来,看了几次启动的log,最后一句都是I/ActivityManager(***): Memory class: 16。我又重复启动了十几遍,发现并不是每次都挂在这句log之后。肯定是logcat不能及时将log设备文件中的log读出来的原因,开始想办法。试过直接向tty,console写都不行,被系统重定向了。向写文件同步写(O_SYNC)可以解决这个问题。
一. Graphic
一番追查后发现是graphic出问题了,问了硬件人员得知新芯片的graphic有改变还不能用,晕。没办法,leader说硬件没实现,用软件也要进android桌面。
SurfaceFlinger是system_server在system_init.cpp里面最早启动的service:
1. 去掉硬件实现的graphic库,最简单的方法:
删除/system/lib/egl/libGLES_PlatformName.so
/system/lib/hw/gralloc_PlatformName.so
也可以修改配置文件
2. 修改copybit的makefile:
framework/base/opengl/libagl/Android.mk
#LIBAGL_USE_GALLOC_COPYBIT := 1
LIBAGL_USE_GALLOC_COPYBIT := 0
3. 启动还会有问题。软件实现默认每个surface两块buffer,申请第三块时会出错
base/FramebufferNativeWindow.cpp:
在LOGD("triple bufferring");后面加上
nNumFreeBuffers = 3; private_module_t* m = reinterpret_cast<private_module_t*>(grDev->common.module); m->numBerffers = 3;
还需要把gralloc.h中相关的的数据结构定义加进来。
经过这么一番折腾之后android可以显示最上面的状态栏,但是桌面还是出不来.
2. PMU
还是死机,仔细看log发现有ShutdownActiviy不知不觉就运行起来了。查下去,原来是PMU驱动出问题了。
3. Other
最后是:能注掉的启动脚本,能关的驱动,能关的service,能删的apk。apk最后删的只剩下Launcher2.apk, SettingsProvider.apk。再启动,终于进了Android桌面,看到久违了的大海和蓝天。虽然不能进行任何操作,但是可以让driver的同事调touchpanel了。下一步从Launcher开始,自上而下把其他的功能也加进去。
- Android在新平台上的移植
- Android在新平台上的移植
- ntfs在android平台上的移植
- ffmpeg在android平台上的移植
- rt2870 usb wifi在mx53 android平台上的移植
- rt2870 usb wifi在mx53 android平台上的移植
- rt2870 usb wifi在mx53 android平台上的移植
- Uboot在不同平台上的移植
- uCLinux在NiosII平台上的移植
- RT3070 在S3C2440平台上的移植
- RT3070 在S3C2440平台上的移植
- minigui在TMS320DM365平台上的移植
- OpenCV在ARM平台上的移植
- ffmpeg开发之旅(5):详解ffmpeg编译与在Android平台上的移植
- ffmpeg开发之旅(5):详解ffmpeg编译与在Android平台上的移植
- MP3播放器madplay在ARM平台上的移植
- 计算机视觉库OpenCV在Linux平台上的移植
- 计算机视觉库OpenCV在MPC8315平台上的移植
- m3红外驱动
- js生成json数组
- 通过修改注册表改变软件默认安装路径
- asp.net 构造datatable数据源的实例
- eclipse快捷键大全(很好用,适用于开发人员)
- Android在新平台上的移植
- java中类型占用内存大小
- Android创建文件夹及文件并写入数据
- 用批处理命令加WinRAR实现自动备份文件数据
- Ext Js 3.2自定义编辑器
- MYSQL架构组成
- Android开发之SurfaceView
- Android横竖屏切换
- Qt之美(一):d指针/p指针详解