一、
1、定义硬件访问服务接口(为了进程间通信)
~/android-2.3_r1/frameworks/base
----Android.mk
----/core/java/android/os/IFregService.aidl
Android系统提供了一种描述语言来定义具有跨进程访问能力的服务接口,这种描述语言称为Andr...
分类:
其他好文 时间:
2014-06-11 06:42:03
阅读次数:
276
MediaPlayer的唤醒锁
一般使用MediaPlayer播放音频流,推荐使用一个Service来承载MediaPlayer,而不是直接在Activity里使用。但是Android系统的功耗设计里,为了节约电池消耗,如果设备处于睡眠状态,系统将试图降低或者关闭一些没设备必须的特性,包括CUP和Wifi硬件,然后,如果是一个后台播放音乐的应用,降低CUP可能导致在后台运行的时候干扰...
分类:
移动开发 时间:
2014-06-10 17:34:27
阅读次数:
244
本文适合于想了解android系统基础知识,知道大家说的adb shell 到底是怎么回事儿的小白同学。
(主要偏向于windows用户,相信如果你用linux...本文可能已经帮不到你什么了)
一,从操作系统开始
windows、linux、Mac、ios、android、meego..
这个世界上有这么多操作系统呀,看起来风格迥异,相差很多。
但其实它们之间的关系,没有那么远。
它...
分类:
数据库 时间:
2014-06-10 14:56:25
阅读次数:
254
友善之臂的Android系统有他们自己编写的一个串口通信程序,网上没有找到他的源代码,而且界面操作不在一个界面,不是很方便,这里我自己写了一个粗糙点的串口通信程序。
同样这里还是调用友善之臂的friendlyarm-hardware.so库文件。
在Android工程文件下面加入com.friendlyarm.androidSDK包,在其下添加HardwareControler.jav...
分类:
移动开发 时间:
2014-06-10 13:55:03
阅读次数:
258
Android系统的动态链接工具是/system/bin/linker(一般的Linux系统是ld.so),虽然名字不同,但是基本的动态链接过程是类似的。需要注意的一点是,Linux一般是Lazy,即所谓的“懒”加载方式,但是Android系统有点区别,是非Lazy方式,即所有的重定位操作,在进程首次执行以前已经全部完成。这大概也是Android应用首次启动比较慢的原因之一吧!
关于Android系统的PLT和GOT可以写上一篇高考作为,在这里就不提概念性的东西了,网上有一篇博文:http://ww...
分类:
移动开发 时间:
2014-06-10 07:31:39
阅读次数:
495
Activity作为Android系统中四大基本组件之一,包含大量的与其他的各大组件、intent、widget以及系统各项服务等之间的交互的函数。在此,本文主要选取实际项目开发中常用的,但完全理解又需要有一定深入了解的几个函数进行讲解,后续本文会根据需要不断更新。1.
startActivityF...
分类:
移动开发 时间:
2014-06-10 00:56:00
阅读次数:
418
在Android系统中提供了多种存储技术.通过这些存储技术可以将数据存储在各种存储介质上.比如sharedpreferences可以将数据保存着应用软件的私有存储区,这些存储区的数据只能被写入这些数据的软件读取.当然Android还支持文件存储、SQLite数据库和Content
Provider。...
分类:
移动开发 时间:
2014-06-09 22:56:35
阅读次数:
293
用Android系统自带邮箱客户端登录QQ邮箱失败:
解决办法:
从浏览器打开QQ邮箱--->>>设置--->>>邮箱设置--->>>账户--->>>
POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务
--->>>勾选前两项即可(POP3/SMTP服务,IMAP/SMTP服务)
--->>>保存更改
--->>>OK(再次从And...
分类:
移动开发 时间:
2014-06-08 08:56:13
阅读次数:
292
ELF是类Unix类系统,当然也包括Android系统上的可执行文件格式(也包括.so和.o类文件)。可以理解为Android系统上的exe或者dll文件格式。理解ELF文件规范,是理解Android系统上进程加载、执行的前提。下面我们就来一步步了解这ELF到底是个啥玩意儿(以Arm 32 ELF格式为主)!当然,网上关于ELF的介绍已经非常多,最好的手册还是直接看ELF官方的手册,我这里只是对ELF的文件做个纲领性介绍,然后直奔主题,比如.GOT .PLT或者R_Arm_Jump_Slot,R_Arm_R...
分类:
移动开发 时间:
2014-06-08 05:43:49
阅读次数:
405
Android系统内核基于Linux2.6+内核,因此,其在进程内存管理方面的很多机制和Linux是很相像的。首先,让我们来看一个典型的Android进程的内存镜像(App进程和Native本地进程略有差别,但原理是一样的):
和Linux一样,Android提供了基于/proc的“伪文件”系统来作为查看用户进程内存映像的接口(cat /proc/pid/maps)。可以说,这是Android系统内核层开放给用户层关于进程内存信息的一扇窗户。通过它,我们可以查看到当前进程空间的内存映射情况,模块加载情况以...
分类:
移动开发 时间:
2014-06-08 03:04:05
阅读次数:
342