移动操作系统之Android
文章平均质量分 78
雷古拉斯
专注近场通信
展开
-
《Android系统学习》第五章:编译Android的JDK环境
======================================================================================================================================Android2.3之前使用jdk1.5编译,2.3及其之后使用jdk1.6。1.jdk1.5的安装sudo add原创 2012-11-15 09:45:07 · 1121 阅读 · 0 评论 -
《Android系统学习》第八章:Android gtest
======================================================================================================================================1.external/gtest/原创 2012-11-30 14:46:31 · 1816 阅读 · 0 评论 -
《Android系统学习》第九章:Android模拟器编译
======================================================================================================================================1.external/qemu/原创 2012-11-30 14:51:20 · 713 阅读 · 0 评论 -
《Android系统学习》第二章:如何制作OTA U盘升级包
======================================================================================================================================1.build/tools/releasetools/2.make otapackage3.生成目录out/targec原创 2012-11-13 09:28:25 · 2225 阅读 · 0 评论 -
《Android系统学习》第三章:Android SDK之ddms
======================================================================================================================================1.如何使用?out/host/linux-x86/bin/ddms2.源码路径原创 2012-11-13 13:50:47 · 864 阅读 · 0 评论 -
《Android系统学习》第七章:Android4.0.1在ubuntu12.04编译的一个问题
ics/frameworks/base/tools/obbtool/编译提示::0:16: 错误: #undef 指示的末尾有多余的标识符 [-Werror] //需要编译器支持-Werror参数cc1plus: all warnings being treated as errorsmake: *** [out/host/linux-x86/obj/EXECUTABLES/obbt原创 2012-11-29 10:57:18 · 832 阅读 · 0 评论 -
《Android系统学习》第十一章:Android应用程序Activity组件分析
======================================================================================================================================接上一章:《Android系统学习》第十章:Android消息处理、消息循环和消息队列Activity类由ActivityT原创 2012-12-03 15:51:36 · 813 阅读 · 0 评论 -
《Android系统学习》第十章:Android消息处理、消息循环和消息队列
====================================================================================================================================一、JAVA层Handler、MessageQueue和Looper1.三个类关系 MessageQueue类是在Loop原创 2012-11-30 18:01:47 · 1086 阅读 · 0 评论 -
《Android系统学习》第四章:分析Android系统编译过程
====================================================================================================================================以下是加载命令和选择平台编译选项,也就是设置编译环境变量。一、/build/envsetup.sh之初始化......ad原创 2012-11-14 16:41:25 · 1625 阅读 · 0 评论 -
《Android系统学习》之bug定位
======================================================================================================================================/system/core/debuggerd/debuggerd.c原创 2012-12-24 13:18:54 · 1326 阅读 · 0 评论 -
《Android系统学习》之JAVA与C混合编程——JNI
====================================================================================================================================一、APK编写1.Android.mkLOCAL_PATH:= $(call my-dir)include $(CLEA原创 2013-01-22 13:07:10 · 2082 阅读 · 0 评论 -
Android4.2.1源码下载
一、安装curl及git工具1.sudo apt-get install curl2.sudo apt-get install git-core二、下载google android的repo1.curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ./2.cp repo ~/bin/repo3.chmo原创 2013-03-06 09:16:22 · 1855 阅读 · 0 评论 -
Android系统分层思想
======================================================================================================================================一、前言 以前研究过Android系统的Display and Video out、Audio及Input模块,当时感觉研原创 2013-03-07 10:55:19 · 2835 阅读 · 0 评论 -
Android之live555构建RTSP Client
============myRTSPClient.cpp主要函数调用例程:#include "BasicUsageEnvironment.hh"#include "RTSPClient.hh"1.建立RTSPClientscheduler = BasicTaskScheduler::createNew();env = BasicUsageEnvironment::cre原创 2013-04-26 14:34:56 · 4779 阅读 · 0 评论 -
live555原理
一、rtsp中常用方法: 1.OPTION 目的是得到服务器提供的可用方法: OPTIONS rtsp://192.168.20.136:5000/xxx666 RTSP/1.0 CSeq: 1 //每个消息都有序号来标记,第一个包通常是option请求消息 User-Agent: VLC media player (LIVE555 Streaming Media v2005.转载 2013-04-26 17:21:51 · 2092 阅读 · 0 评论 -
Android之live555构建RTSP Server
=====================myRTSPServer.cpp1.建立任务调度scheduler = BasicTaskScheduler::createNew();env = BasicUsageEnvironment::createNew(*scheduler);2.建立RTP/RTCP端口unsigned short rtpPortNumAudio = g原创 2013-04-26 15:15:31 · 5648 阅读 · 0 评论 -
android linker 浅析
Android 的加载/链接器linker 主要用于实现共享库的加载与链接。它支持应用程序对库函数的隐式和显式调用。对于隐式调用,应用程序的编译与静态库大致相同,只是在静态链接的时候通过--dynamic-linker /system/bin/linker 指定动态链接器,(该信息将被存放在ELF文件的.interp节中,内核执行目标映像文件前将通过该信息加载并运行相应的解释器程序linker.)转载 2013-05-09 18:00:12 · 1591 阅读 · 0 评论 -
Android多媒体之录制
一、运行相关frameworks/base/media/java/android/media/MediaRecorder.javaframeworks/base/media/jni/android_media_MediaRecorder.cppframeworks/av/media/libmedia/Mediarecoder.cpp二、参数设置相关frameworks/base原创 2013-07-08 13:12:08 · 1121 阅读 · 0 评论 -
最近工作总结
==========一、input中的符号按键符号按键和字母按键对于驱动来说,没有区别。但上层时通过shift的按下状态最终来显示的。二、sensor数据量过大问题有的手机型号比较先进,其sensor的data往往float数据精确到小数点后很多位;其实为了系统更加流畅,我们可以只保留其中小数点后一位。每40ms发一次当前数据,其余可以丢弃;这样不影响功能,同时可以提高性能。原创 2013-07-20 02:33:04 · 892 阅读 · 0 评论 -
JNI的一个未解问题
1.jarpackage com.tcl.os.system;public class InputDevice {static {System.loadLibrary("inputproc_jni");}//static private native int changesinglemod(int a);static private native int input_e原创 2013-08-03 14:49:42 · 1353 阅读 · 0 评论 -
Andorid利用sserver/runtime实现java执行linux程序或脚本
external/server_mount/socket_server.c#define THE_PORT 8090原创 2013-09-11 16:56:15 · 1988 阅读 · 0 评论 -
Android系统服务
转载:http://blog.csdn.net/freshui/article/details/5993195System_Server进程运行在system server进程中的服务比较多,这是整个android框架的基础 Native服务SurfaceFlinger 这是framebuffer合成的服务,将各个应用程序及应用程序中的逻辑窗口图像数转载 2013-11-25 16:15:48 · 1079 阅读 · 0 评论 -
Android系统Camera预览刚打开时由暗变明
一、回忆下V4L2驱动操作流程1.查询驱动功能struct v4l2_capability cap; ioctl(fd,VIDIOC_QUERYCAP,&cap); printf("TK---------->>>>>Driver Name:%s\nCard Name:%s\nBus info:%s\n",cap.driver,cap.card,cap.bus_info);2.获原创 2013-11-27 13:18:31 · 4719 阅读 · 0 评论 -
Android之Input子系统配置更新导致的Activity重启
最近遇到2.4G模组接入和输入法从中英文切换后引起的UI重启问题;现转载如下博文,后边在对其做源码分析。 转载:1.可能引起Activity重启的一些属性"mcc" 国际移动用户识别码所属国家代号是改变了----- sim被侦测到了,去更新mcc mcc是移动用户所属国家代号"mnc" 国际移动用户识别码的移动网号码是改变了------ sim被侦测到了,去更新mnc转载 2013-11-18 15:32:06 · 3035 阅读 · 0 评论 -
Android系统Camera参数设置
一、应用程序1.Camera应用使用的参数对象frameworks/base/core/java/android/hardware/Camera.javapublic class Parameters { }2.使用Camera拍照预览:packages/apps/Camera/src/com/android/camera/CameraModule.javamIni原创 2013-12-04 16:35:32 · 26762 阅读 · 0 评论 -
Android之Camera预览过程中插拔摄像头节点后移
现象:在使用Camera Preview时;热插拔摄像头会导致设备节点由/dev/video0变为/dev/video1,或者插入多个video设备时,会变为/dev/video1、/dev/video2......。一、首先看设备节点的创建drivers/media/video/uvc/uvc_driver.cstatic int uvc_probe(struct usb_int原创 2013-12-11 10:19:17 · 8915 阅读 · 0 评论 -
Android之Camera拍照插值算法
一、rgb插值算法说明:验证可用,算法效率一般;其中pDest为扩帧后内存地址,nDestWidth和nDestHeight为扩帧后分辨率,nDestBits为色深(如rgb24则为24)。void rgbInterpolation(void* pDest, int nDestWidth, int nDestHeight, int nDestBits, void* pSrc, int n原创 2013-12-11 10:38:10 · 6905 阅读 · 0 评论 -
Android4.2之Camera系统HAL调用流程
一、重要结构体1.模块hardware/libhardware/include/hardware/camera_common.htypedef struct camera_module { hw_module_t common; int (*get_number_of_cameras)(void); int (*get_camera_info)(int came原创 2013-12-16 10:47:48 · 6986 阅读 · 0 评论 -
Android4.0之显示部分HAL
一、原理分析 Android中显示屏设备被抽象成一个帧缓冲区;Linux内核创建的"/dev/graphics/fb0"设备、就是用来描述系统中的一个帧缓冲区(也就是一个显示屏),Adnroid系统grallocHAL模块封装了对帧缓冲区的所有访问操作。 grallocHAL模块包含两个设备alloc和fb。 Android应用程序通过SurfaceFlinger服务操作这两个设原创 2013-12-17 16:44:21 · 3555 阅读 · 0 评论 -
《Android系统学习》第一章:Input子系统驱动部分
====================================================================================================================================一、Input设备(鼠标、键盘、触摸板)的Linux Driverinput core提供的接口:motion_touchp原创 2012-10-24 18:03:13 · 1667 阅读 · 0 评论 -
Android Input之JoyStick
一、配置文件system/usr/keylayout/Generic.kl......# Joystick and game controller axes.# Axes that are not mapped will be assigned generic axis numbers by the input subsystem.axis 0x00 Xaxis 0x01原创 2013-01-30 14:56:02 · 5954 阅读 · 0 评论 -
Andorid QQ for TV麦克调试问题
=================================1.Android系统默认采样率是8000Hz;2.QQ应用采样率是44100Hz或16000Hz;3.QQ for TV应用会在真正开始语音聊天前,测试最佳采样率(即先会执行打开设备和关闭设备的一个测试);4.重采样有AudioFlinger服务完成,不需要驱动和HAL模块参与。原创 2013-09-12 13:39:53 · 4771 阅读 · 0 评论 -
Android边录边播应用
1.Android.mkLOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := optionalLOCAL_SRC_FILES := $(call all-subdir-java-files)LOCAL_PACKAGE_NAME := testRecordinclude $(BUILD_PAC原创 2013-01-24 15:03:45 · 9894 阅读 · 0 评论 -
Android4.2 Audio子系统—音频声音小问题
一、在HAL层捕获PCM数据并存盘static ssize_t out_write(struct audio_stream_out *stream, const void* buffer, size_t bytes){ //add by tank FILE *tankai; tankai = fopen("/data/buffer原创 2014-03-03 13:50:37 · 1900 阅读 · 0 评论 -
Android之Input子系统与输入法
浏览器与输入法问题定位:frameworks/base/core/java/android/webkit/WebViewClassic.java class WebViewInputConnection extends BaseInputConnectionsendKeyEvent输入法应用调用://提交ic.commitText("Composing ", 1);原创 2013-12-26 18:40:50 · 10611 阅读 · 0 评论 -
Android系统利用uinput设备驱动实现虚拟输入设备
以下是ubuntu下的测试用例:1.testuinput.c#include #include #include #include #include int main(){ struct uinput_user_dev device; memset(&device, 0, sizeof device); int uinputfd = open("/dev/uin原创 2013-10-21 15:02:54 · 6564 阅读 · 0 评论 -
Android Binder机制的Native应用
一、接口类Itestbinder.h#include namespace android{ class Itestbinder : public IInterface{ public: DECLARE_META_INTERFACE(testbinder); virtual int testinterface(int a) = 0; }; c原创 2014-03-07 09:39:27 · 1627 阅读 · 0 评论 -
Android ANR分析
手机中pull处理trace.txt进去 data/anr 再pull 一:什么是ANR ANR:Application Not Responding,即应用无响应二:ANR的类型 ANR一般有三种类型: 1:KeyDispatchTimeout(5 sec转载 2014-02-14 09:40:43 · 1117 阅读 · 0 评论 -
Android编译问题
一、JDK版本问题1.安装JDK5下载:JDK5安装:cp jdk-1_5_0_22-linux-amd64.bin /usr/lib/jvm/cd /usr/lib/jvm/chmod u+x jdk-1_5_0_22-linux-amd64.bin./jdk-1_5_0_22-linux-amd64.binrm jdk-1_5_0_22-linux-amd64.bin原创 2014-03-17 15:00:12 · 978 阅读 · 0 评论 -
Android系统RPC与Binder
RPC与IPC关系:1.相同点:二者都可以用于进程间;2.不同点:RPC强调的是调用、即一个进程直接调用另外一个进程中的方法,而IPC仅仅完成进程间的互通信、没有调用。Android系统中的Binder即为RPC的一种实现方式;类似COM或CORBA。原创 2013-12-18 14:46:12 · 6945 阅读 · 0 评论