一.开篇 写博客还得写开篇介绍,可惜,这个不是我所擅长的.就按我自己的想法写吧. 话说camera模块,从上层到底层一共包含着这么几个部分: 1.apk------java语言 2.camera的java接口----java语言 3.camera的java接口的具体实现,即所谓的JNI-----(java—>C++) 4.camera客户端-----C++语言 5.camera服务器----C++语言 6.camera硬件抽象层,即所谓的HAL------C++语言 7.camera驱动 如上也…
一.开篇 写博客还得写开篇介绍,可惜,这个不是我所擅长的.就按我自己的想法写吧. 话说camera模块,从上层到底层一共包含着这么几个部分: 1.apk------java语言 2.camera的java接口----java语言 3.camera的java接口的具体实现,即所谓的JNI-----(java—>C++) 4.camera客户端-----C++语言 5.camera服务器----C++语言 6.camera硬件抽象层,即所谓的HAL------C++语言 7.camera驱动 如上也…
一.开篇 写博客还得写开篇介绍,可惜,这个不是我所擅长的.就按我自己的想法写吧. 话说camera模块,从上层到底层一共包含着这么几个部分: 1.apk------java语言 2.camera的java接口----java语言 3.camera的java接口的具体实现,即所谓的JNI-----(java—>C++) 4.camera客户端-----C++语言 5.camera服务器----C++语言 6.camera硬件抽象层,即所谓的HAL------C++语言 7.camera驱动 如上也…
本文是camera系列博客,上一篇是: android从应用到驱动之-camera(1)---程序调用流程 本来想用这一篇博客把cameraHAL的实现和流程都给写完的.搞了半天,东西实在是太多了.这篇先写cameraHAL的基本实现框架,下一篇在具体写camerahal的流程吧. cameraHAL的实现: 对于初学者来说,最大的疑问是系统是如何调用hardware的.这里就以camera来举例说明.调用hardware的程序是cameraservice,我们就去它里面看看它是如何找到hard…
本来想用这一篇博客把cameraHAL的实现和流程都给写完的.搞了半天,东西实在是太多了.这篇先写cameraHAL的基本实现框架,下一篇在具体写camerahal的流程吧. cameraHAL的实现: 对于初学者来说,最大的疑问是系统是如何调用hardware的.这里就以camera来举例说明.调用hardware的程序是cameraservice,我们就去它里面看看它是如何找到hardware的 先把源码贴上来: /* ** ** Copyright (C) 2008, The Androi…
必读: Android 12(S) 图像显示系统 - 开篇 接口定义 源码位置:/hardware/interfaces/graphics/composer/ 在源码目录下可以看到4个版本的HIDL Interface定义,最新版本是2.4,也是目前我的测试平台在用的,不同版本使用带有版本号的包名来区分,例如 :package android.hardware.graphics.composer@2.4各版本中均有相同的接口,并且具有继承关系,新版本继承旧版接口并扩展了新方法. /framewo…
转自:http://blog.csdn.net/jmq_0000/article/details/7372783 版权声明:本文为博主原创文章,未经博主允许不得转载. 驱动概述 说到 Android 驱动是离不开 Linux 驱动的.Android 内核采用的是 Linux2.6 内核 (最近Linux 3.3 已经包含了一些 Android 代码).但 Android 并没有完全照搬 Linux 系统内核,除了对Linux 进行部分修正,还增加了不少内容.android 驱动 主要分两种类型:…
本书第一章首先简单概要地介绍了关于Android系统移植和驱动开发的相关内容. 所谓“移植”是指为特定的自己的设备,如手机定制Android的过程.自己开发一些程序(移植)装载在设备上,使得Android系统可以识别设备中的蓝牙,WiFi等,这样就可以使用这些功能了.这些程序大多是支持各种硬件设备的Linux驱动程序. 这一章中介绍了许多在进行Android系统移植和驱动开发前要了解的概念以及要做的准备.接下来主要说的是在Android系统移植过程中的主要工作. Android移植分为两部分:应…
Android Camera 相机程序编写 要自己写一个相机应用直接使用相机硬件,首先应用需要一个权限设置,在AndroidManifest.xml中加上使用设备相机的权限: <uses-permission android:name="android.permission.CAMERA" /> 为你的应用创建自定义的相机,一般步骤如下: 1.检测相机硬件并获取访问 2.建立一个Preview类:需要一个相机预览的类,继承 SurfaceView 类,并实现SurfaceH…
基于展讯sc7731 - Android 5.1 代码分析浏览.将屏蔽细节,把握整体,并且不涉及其他设备和LCD的交互. 以下对sc7731 lcd大体流程进行简要说明. 第一,lcd 的两个阶段 1. 在uboot引导系统阶段,大约1~5秒左右,需要打印一个厂商log.这里对驱动要求非常简单,只要能打印log即可. (下面皆以lcd_ili9486e_mipi.c为例)  驱动文件放置路径: u-boot64/drivers/video/sprdfb/lcd/ 添加新屏时需要修改的文件分别为:…
驱动概述 说到 android 驱动是离不开 Linux 驱动的.Android 内核采用的是 Linux2.6 内核 (最近Linux 3.3 已经包含了一些 Android 代码).但 Android 并没有完全照搬 Linux 系统内核,除了对Linux 进行部分修正,还增加了不少内容.android 驱动 主要分两种类型:Android 专用驱动 和 Android 使用的设备驱动(linux). Android 专有驱动程序: 1)Android Ashmem 匿名共享内存: 为用户空…
如何调用本地图片,并调用系统拍摄的图像上一博文解释(http://blog.csdn.net/a123demi/article/details/40003695)的功能. 而本博文将通过实例实现自己定义Camera的功效.详细功能例如以下: 1.实现自己定义Camera拍照: 2.实现前后置摄像头的切换. 3.实现Camera拍照后图片缩小显示以及正常预览: 4.实现Camera拍照后图片保存: 在详细实现代码之前,我们先来了解一下Android api对实现自己定义Camera的介绍. 依据a…
第一章 Android系统移植与驱动开发 Android源代码定制完全属于自己的嵌入式系统,但是支持的设备不多,所以要移植,而在移植的过程中使用的不得不提的是驱动开发. Android系统构架主要包括四个层次:Linux内核,C/C++代码库,Android SDK API,应用程序.在第一层Linux中主要包括驱动程序,内存管理,进程管理,电源管理等程序,但是不同版本的系统则驱动也不相同,切记不可通用.在第二层C/C++代码库中有.so文件和虚拟机的Runtime,第三层的java语言是基于l…
修改Android 4.2.2的原生Camera应用,做一些定制,将Camera的包名从之前的 package com.android.* 修改成了com.zhao3546.*. 调整后,应用可以正常运行,但是Camera自带的特效编辑等功能,无法正常使用.一点图片编辑的图标,就出现了下面的异常: 09-12 18:52:48.131: E/AndroidRuntime(6071): java.lang.UnsatisfiedLinkError: Native method not found:…
Android Camera开发系列(上)--Camera的基本调用与实现拍照功能以及获取拍照图片加载大图片 最近也是在搞个破相机,兼容性那叫一个不忍直视啊,于是自己翻阅了一些基本的资料,自己实现了一个相机,虽然相机这东西,兼容性不敢恭维,但是用到的地方确实很多,所以今天,我们就一起来学习一下吧 参照Google API:http://developer.android.com/guide/topics/media/camera.html 一.Camera的启动方式 1.调用系统方式 2.自定义…
21世纪,Android发展非常迅速,在市场上占有很大的比例,遥遥领先与iOS,很大程度上是因为任何人都可以利用Android的源代码定制完全属于自己的嵌入式开发系统,而不需要向Google交一分钱. 随着通信 .电子行业的迅速发展,全世界每天都会有大量的新芯片被产生,大量的新电路板被设计,因此,也会有大量的设备驱动需要开发,这些设备驱动,或运行在简单的单任务环境中,或运行在VxWorks.Linux.Windows等多任务操作环境中,发挥着不可替代的作用. 针对特定硬件平台从零构建Androi…
本文转载自:http://blog.csdn.net/lkqboy2599/article/details/8350100 向android的内核添加驱动,其实就是向linux内核添加驱动.主要在两个文件里添加点信息,一个是Kconfig文件,一个是Makefile文件.比如你添加的驱动你代码放到drivers目录下面的XXX目录,那么修在该目录下的Kconfig文件和Makefile文件. 具体的修改方法: 比如我现在修改drivers/staging/android/下的Kconfig文件.…
前言 从之前的几篇文件,可以基本弄清楚 Camera从APK,经过framework的衔接,与HAL层进行交互,最终通过驱动完成Camera的一些动作. Camera层次分析 APP层 Framework层 库层 大致的框架图如下 从图中可以看到几个关键的地方: 1. APP从JAVA层过渡到CPP层中间通过JNI层的android_hardware_Camera.cpp文件实现,文件中主要涉及从java方法到cpp函数的映射关系,方便作出对应的处理: 2. Camera交互对象,从开始连接过程…
android上instant app介绍 类似于微信小程序instant app 是谷歌推出的类似于微信小程序(或者说小程序类似于instant app)的一项技术,用户无须安装应用,用完就走,同时兼备h5的便捷和原生应用的优质体验. 当用户点击链接时,通过applink去打开相应的instant app,如果之前没有打开过,则会从play store去下载并打开,整个过程一气呵成,跟浏览器打开网页,如果有缓存先读缓存,没有就去服务器loading一样 应用场景:通过直接点击链接进入(从社交网…
APPRTC-Demo调用流程 1.CallActivity#onCreate 执行startCall开始连接或创建房间 2.WebSocketClient#connectToRoom 请求一次服务器 3.回调到CallActivity#onConnectToRoom 开始创建对等连接,同时将视频采集对象,本地和远程的VideoSink,相关参数传入 localProxyVideoSink代理本地视频渲染器 remoteSinks是代理远程视频的渲染器,这里是一个集合 videoCapture是…
2014-01-06 17:05:11 将百度空间里的东西移过来. 本文适合ROM定制做Phonebook的童鞋看,其他人飘过即可- Phonebook添加/编辑联系人UI加载及保存联系人流程,是一系列研究Phonebook联系人保存机制的文章,做联系人好长时间了,一直想写一些东西,但总是找不到合适的时间,最近总算有点空了,写写吧! Android Phonebook编写联系人UI加载及联系人保存流程(二) http://www.cnblogs.com/wlrhnh/p/3508253.html…
原文网址:http://blog.csdn.net/conowen/article/details/7521340 ******************************************************************************************** * author:conowen@大钟                                                                                …
网上的demo一搜一大堆,但是,基本上都是一知半解(包括我).为什么呢?我在尝试分别在两个平台加密的时候,竟然发现Android DES 加密和java DES加密的程序不能互通.就是加密的结果不一样,更不要说Android平台的加密输入作为java DES的解密输出了.这样的话,客户端和服务器端就不能进行通信了.我网上之前也发帖子问了不少人,但是回答都不满意. 今天公司部门的另外一个同事跟我说了一下,才解决了这个不能互通的问题. 调用DES加密算法包最精要的就是下面两句话: Cipher ci…
Linux Kernel(Android) 加密算法总结(三)-应用程序调用内核加密算法接口 讲到了怎样调用内核中的接口的方法. 本节主要是介绍怎样Android C/C++应用程序调用Openssl的AES加密算法. crypt_ssl.c #include <stdio.h> #include <string.h> #include <unistd.h> #include <fcntl.h> #include <aes.h> #include…
于Linux Kernel(Android) 加密算法总结(cipher.compress.digest)文章中.介绍了怎样在内核中增加三种不同类型的内核加密算法, 并给出了在内核模块中怎样调用他们的实例. 本文将主要介绍,怎样在应用程序空间中(user space) 调用内核空间(kernel space)加密模块提供的加密算法API. 方法一:通过调用crypto: af_alg - User-space interface for Crypto API, Herbert Xu <herbe…
wemall doraemon中Android app商城系统工具集合类,包含各种程序中用到的静态方法,可用于其他商城或者系统的编程参考 package cn.zzu.edu.wemall.utils; import java.io.File; import java.security.MessageDigest; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.HashMap; impor…
Android开发艺术探索--新的征程,程序人生路漫漫! 偶尔写点东西分享,但是我还是比较喜欢写笔记,看书,群英传看完了,是学到了点东西,开始看这本更加深入Android的书籍了,不知道适不适合自己,先看吧,不过计划也不会这么快,先写篇博客记录一下,因为到真正看书的时间段中间,还会写点Git和重新学一遍JAVA的博客,可能有些人需要,也有些人不需要,但是我还是挺需要的,断片的毛病得改改,老是记不住东西,这书我会看的很细腻,分析的很详细,所以各位看官,可以小小的期待一下! 第1章 Activity…
目录 驱动调试(四)oops确定调用树 内核开启调用树 栈指针分析 原理 寄存器别名 基础解释 例子分析 找到PC地址的位置 栈分析 附录:原文的excel title: 驱动调试(四)oops确定调用树 date: 2019/1/14 19:30:32 toc: true --- 驱动调试(四)oops确定调用树 内核开启调用树 如果内核开启调用信息的打印 # 这个需要配置内核 #│ Symbol: FRAME_POINTER [=y] │ #│ Prompt: Compile the ker…
2017年開始上班的第一天.老不想工作了,假期感觉还没開始就已经结束了,唉,时间就是这样,新的一年開始了,尽管非常不想干正事,没办法,必须干起来.由于后边的路还非常长,距离六十岁还非常远. 刚上班也没什么事,复习一下之前的东西,看了一下Aidl相关的知识.细致瞅了瞅Aidl的调用流程,这里写篇文章整理一下.帮助大家的同一时候.自己也加深一下印象.对Aidl不太了解的童鞋能够先看一下我之前的一篇文章, 链接例如以下:http://blog.csdn.net/liuyonglei1314/artic…
/*********************************************************************************** * * 字符设备驱动基本操作及调用流程 * * 声明: * 1. 本系列文档是在vim下编辑,请尽量是用vim来阅读,在其它编辑器下可能会 * 不对齐,从而影响阅读. * 2. 以下所有的shell命令都是在root权限下运行的; * * 2015-3-7 阴 深圳 尚观 Sbin 曾剑锋 *******************…