android
文章平均质量分 78
tomew
这个作者很懒,什么都没留下…
展开
-
Android系统移植(三)-按键字符表
<br />上节讲android的Window Manager将内核按键码通过按键映射表转换成android按键码,<br />这节讲的是android按键码向android字符的转换,转换也是通过Window Manager来完成的<br />(1)原始按键字符表,我们知道一个按键是可以显示多个字符的,决定显示字符的是CAPS(大小写),FN,NUNMBER等按键<br />举例如下:<br />[type=QWERTY]转载 2011-03-30 22:04:00 · 688 阅读 · 0 评论 -
freescale i.mx23平台上移植android2.2-froyo - ethernet移植
<br />freescale i.mx233平台上移植android 2.2 - ethernet移植<br />i.mx233-android平台上以太网卡的移植主要参考了android-x86项目。网址为:http://www.android-x86.org/getsourcecode 。<br />主要分为如下几个部分:<br />1,linux 内核驱动,这个部分简单的说一下。默认的mx233配置就是支持的,mx233是通过usb接以太网的,只需要把相应的以模块方式编译的驱动改成编译进内核。我将.转载 2011-03-31 09:07:00 · 1162 阅读 · 0 评论 -
android全格式多媒体播放器(一:ffmpeg移植)
<br />为了能在android平台上播放全格式的多媒体文件,我们需要自己做一个多媒体播放器。android自带的opencore系统解码格式较少,只支持 mp4和ogg,并且结构不是很好理解。如果要加其他的解码方式实在太费劲。经过考虑,基于ffmpeg实现全功能的播放器比较容易并且成本比较低。(ffmpeg移植后的内容我已经放到git@github.com:windsome/ffmpeg-android.git上,有兴趣的可以直接下载,在android2.1上编过,不知道在其他android版本上能不能转载 2011-03-31 09:08:00 · 801 阅读 · 0 评论 -
android全格式多媒体播放器(三:基于ffmpeg架构的具体实现)
<br />本文将基于ffmpeg实现一个多媒体播放的架构,因时间关系,先列个提纲。附上代码供有兴趣的同学参考,代码是基于android2.1写的。附带一个编译完的程序,看看效果(只有音频,并且只能在android2.1上运行)。<br />1,ffmpeg移植<br />2,基于ffmpeg的底层架构的编写<br />3,sdl版本的测试程序,有兴趣朋友可以在linux上编译,并用sdl播放。<br />4,android上surface和audio的抽象及移植<br />5,不同版本android的移植转载 2011-03-31 09:15:00 · 1220 阅读 · 0 评论 -
android全格式多媒体播放器(二:opencore媒体系统解析)
<br />本文的目的是为了分析android中的多媒体播放体系,在了解了它的播放体系上,抛弃它原先的基于opencore的架构,重新涉及一套基于 ffmpeg的架构。没有时间做详细论述,本文目前先列一个提纲,用来分析android2.1中媒体播放架构,以后得空再进行补充。<br />1,java部分供java应用程序调用的接口为android.media.MediaPlayer。关于此类的详细描述可以参考android的文档MediaPlayer.html。我将接口列在了下面,<br />转载 2011-03-31 09:15:00 · 1120 阅读 · 0 评论 -
Android网络资源
<br />Google Android的官方网站:<br />http://www.android.com/<br />此网站上有Google Android的所有资源。主要的内容分成三大块:<br />1 Android源代码工程<br />这个是手机/MID等Android设备制造厂家需要关注的网站,我们称之为“系统开发”,网站如下:<br />http://source.android.com/<br />在此网站上我们能做的工作主要如下:<br />(1)下载android的源代码<br />ht转载 2011-03-31 11:28:00 · 635 阅读 · 0 评论 -
[6410][android]给android cupcake移植FB、Nand、触摸屏和DM9000ae驱动
今天搞了四个驱动,终于把基本功能补全了,累死我咯(1)移植framebufferdrivers/video复制samsung文件夹到cupcake内核line236 增加config FB_S3Ctristate "S3C Framebuffer Support"select FB_CFB_FILLRECTselect FB_CFB_COPYAREAselect FB_CFB_IMAGEBLITdepends on FB && (ARCH_S3C64XX || ARCH_S5PC1XX)default n-转载 2011-04-01 21:41:00 · 1341 阅读 · 0 评论 -
成功移植UT6410的800*480的LCD驱动
<br />在UT6410默认的android内核中是没有7寸屏的LCD驱动的,所以在昨天移植网络之后我们今天接着把LCD的驱动拿移植好。<br /> 首先我们在纯linux内核中找到800*480的驱动源文件,根据config选项我找到了源文件的位置,它位于/drivers/video/samsung下面,一个为s3cfb_UT_LCD7A.c的文件,把这个文件拷贝到我们android kernel下面相应的位置。然后修改相应的kconfig和Makefile需要注意的是在drivers/v转载 2011-04-01 21:54:00 · 1203 阅读 · 0 评论 -
Android中使用ALSA声卡
<br />Android中使用ALSA声卡<br />首先,cd到Android源码树根目录下:<br />cd /home/figo/android/Android-2.0<br />从Android主页下载ALSA声卡的相关源码:<br />git clone git://android.git.kernel.org/platform/external/alsa-lib.git<br />git clone git://android.git.kernel.org/platform/external/转载 2011-04-11 14:58:00 · 1354 阅读 · 0 评论 -
libcamera动态库实现流程总
<br />libcamera.so 流程总结<br />framework/base/include/ui下的CameraHardwareInterface.h 定义了 libCameraService.so需要的所有接口:<br />getPreviewHeap(),startPreview(preview_callback cb, void* user),stopPreview(),previewEnabled(),<br />autoFocus(autofocus_callback, void* u转载 2011-04-11 22:02:00 · 2386 阅读 · 0 评论 -
Android中默认不输出stdout stderr,如何输出?最简单的方法
<br />方法一:<br />/root/init.rc中,在需要stdout的服务中添加console关键字即可,例如:<br />service media /system/bin/mediaserver<br /> user media<br /> group system audio camera graphics inet net_bt net_bt_admin<br /> console<br />方法二(不推荐,所有stdout一定要输出):<br />文件system/c转载 2011-04-11 14:56:00 · 782 阅读 · 0 评论 -
在Android中访问内置SE和基于SE的卡模拟(二) .
改变SE工作模式在NfcAdapterExtras类中,有两个关于卡模拟的函数,getCardEmulationRoute和setCardEmulationRoute,分别用于得到和设置卡模拟工作模式,其中getCardEmulationRoute返回一个CardEmulationRoute类对象,而setCardEmulationRoute需要构造一个CardEmulationRoute类对转载 2014-01-16 16:51:52 · 1279 阅读 · 0 评论 -
freescale i.mx23平台上移植android2.2-froyo - audio 系统
<br />基本上参照了http://blog.csdn.net/tianfeng105/archive/2010/03/28 /5425547.aspx<br />kernel部分不需要改动,只需要在android下面做事情。<br />1: 下载alsa相关代码<br />cd android/external<br />git clone git://android.git.kernel.org/platform/external/alsa-lib.git<br />git clone git://a转载 2011-03-31 09:05:00 · 854 阅读 · 0 评论 -
freescale i.mx23平台上移植android2.2-froyo (mx23系列)
<br />第一章: i.mx233环境的搭建, sd卡的准备<br /> 1: 主机环境为Ubuntu10.04<br /> 2: i.mx233环境的准备工作<br /> a) 下载i.mx233的开放套件,地址为: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX233&fpsp=1&tab=Design_Tools_Tab<br /> 1) 下载其中的L2.6.31转载 2011-03-31 09:04:00 · 2103 阅读 · 0 评论 -
android系统开发小问题-启动过程中android字符没有显示出来
<br />android目标平台可以正常启动,但是启动过程中的android字符没有显示出来,这个是linux内核配置的问题<br />打开内核framebuffer控制台即可。<br />(1)make menuconifg后选择Device Drivers->Graphics support->Console display driver support->Framebuffer Console support<br />然后打开相关的几个配置选项即可。<br />(2)直接修改内核配置文件,如下:<转载 2011-03-30 22:05:00 · 768 阅读 · 0 评论 -
android启动过程配置文件的解析与语法
<br />(1)android启动文件系统后调用的第一个应用程序是/init,此文件的很重要的内容是解析了init.rc和init.xxx.rc<br />两个配置文件,然后执行解析出来的任务。相关代码在android源代码/system/core/init/init.c文件中,如下:<br /> parse_config_file("/init.rc");<br /> /* pull the kernel commandline and ramdisk properties file in转载 2011-03-30 22:06:00 · 1440 阅读 · 0 评论 -
android系统开发(四)-触摸屏tslib移植(内核)和原理分析
<br />首先了解一下tslib的运行原理,tslib的运行分成两部分<br />(1)校验<br />在LCD固定坐标位置依次显示出5个坐标让用户触摸,把LCD坐标和用户触摸时驱动屏驱动底层的坐标总共5组值保存起来<br />运行tslib库的算法对其进行运算,得出校准用7个值<br /><br />(2)校准<br />每次触摸屏驱动读取到硬件坐标时应用校准用的7个值对该坐标进行一次运算,然后将运算后的坐标作为正常坐标即可。<br /><br />按照上面的原理,<br />(1)我们先修改内核部分,转载 2011-03-30 22:07:00 · 1347 阅读 · 0 评论 -
android系统开发(五)-tslib移植
<br />1)切换至tslib目录然后执行如下命令(以marvell平台为例)<br />./autogen.sh<br />echo "ac_cv_func_malloc_0_nonnull=yes" > arm-marvell-linux.cache<br />./configure --host=arm-marvell-linux-gnueabi --prefix=/work/svn/ts_build --cache-file=arm-marvell-linux.cache<br />上面三步仅仅是转载 2011-03-30 22:08:00 · 1866 阅读 · 1 评论 -
android系统开发(六)-HAL层开发基础
<br />Android HAL层,即硬件抽象层,是Google响应厂家“希望不公开源码”的要求推出的新概念<br />1,源代码和目标位置<br />源代码: /hardware/libhardware目录,该目录的目录结构如下:<br />/hardware/libhardware/hardware.c编译成libhardware.so,目标位置为/system/lib目录<br />/hardware/libhardware/include/hardware目录下包含如下头文件:<br />hard转载 2011-03-30 22:09:00 · 1143 阅读 · 1 评论 -
android系统开发(七)-背光模块
<br />1,总论<br />背光模块属于HAL层开发,HAL层开发,用一句话来概括就是定义一个hardware.h中定义的名称为宏HAL_MODULE_INFO_SYM的hw_module_t结构体,<br />然后实现结构体的相关内容<br />2,驱动方面的准备<br />简单的嵌入式linux驱动,编写LCD背光驱动,并提供接口给上层修改,我所用的是直接修改接口文件,接口如下:<br />/sys/class/backlight/pwm-backlight/brightness 这个是亮度调节<转载 2011-03-30 22:10:00 · 895 阅读 · 0 评论 -
android系统开发(八)-SDCARD
<br />关于android系统开发sdcard移植,主要有如下工作:<br />1,内核驱动开发,完成后每次插入和拔出sdcard系统都会有相关的信息显示,而且sdcard可以手动挂载。<br />2,android的sdcard挂载主要是vold来完成,vold的源代码在/system/vold目录下,编译成/system/bin/vold<br />init.rc文件中有vold系统服务,确保android系统开机后vold有正常运行。<br />3,添加vold的配置文件,先查看/system/b转载 2011-03-30 22:11:00 · 1618 阅读 · 1 评论 -
android系统开发(九)-Audio部分准备工作alsa移植
<br />1,audio内核部分的开发,包含codec驱动,cpu的声音驱动和内核alsa驱动等,<br />这个是完全的嵌入式linux的开发内容,这里跳过,请确保这几部分正确。<br />2,从alsa的官方网站下载最新的alsa-lib-1.0.23和alsa-utils-1.0.23<br />官方网站:http://www.alsa-project.org<br />alsa-lib基于内核alsa驱动,它将对内核alsa接口的操作封装成libasound库<br />alsa-utils是一个转载 2011-03-30 22:11:00 · 1298 阅读 · 0 评论 -
android系统开发编译过程中的汇编错误
<br />android系统开发移植alsa-lib库的过程中编译的时候出现了如下的错误:<br />错误1<br />/tmp/cckyaR40.s: Assembler messages:<br />/tmp/cckyaR40.s:2763: Error: selected processor does not support `mrs ip,cpsr'<br />/tmp/cckyaR40.s:2764: Error: unshifted register required -- `orr r2,i转载 2011-03-30 22:12:00 · 1717 阅读 · 0 评论 -
android系统开发(十)-audio移植一
<br />1,移植基础:<br />(1)内核声音驱动和alsa驱动<br />(2)alsa-lib和alsa-utils库移植<br />这两部分上一节已经介绍过了。<br />2,android的audio最核心的部分是audioflinger,audioflinger向上处理来自于应用程序的声音相关的所有请求<br />向下通过AudioHardwareInterface访问硬件,android的audio架构如下所示:<br /> Applications<br />转载 2011-03-30 22:13:00 · 1013 阅读 · 0 评论 -
android系统开发小知识-启动脚本文件内部的执行顺序
<br />我们知道android在启动的时候通过init进程来解析init.rc和init.xxx.rc文件,<br />然后执行这两个文件解析出来的内容,init.rc和init.xxx.rc文件中的内容却并不是<br />按照顺序来执行的,而是有固定的执行顺序,首先,init.rc和init.xxx.rc文件中的内容<br />全部会放在4个关键字下:<br />early-init, init, early-boot, boot<br />所以一个典型的rc文件的写法如下:<br />on earl转载 2011-03-30 22:14:00 · 983 阅读 · 0 评论 -
在Android中访问内置SE和基于SE的卡模拟
在Android中访问内置SE和基于SE的卡模拟(一)2013-10-10 编写 前言在“十问Android NFC手机上的卡模拟”文中仅仅简单的介绍了一下相关的概念,如果需要了解基于SE的卡模拟的更多细节,也就是,究竟在Android的NFC手机上,目前能够做到何种程度的卡模拟,以及如何实现,则需要更深入的讨论。 我们已经了解,NFC RF模块可以支持卡模转载 2014-01-16 16:48:29 · 1620 阅读 · 0 评论