Android
ch3rry
每天早上醒来,看见你和阳光都在,这就是我想要的未来。
展开
-
Wifi系统框架
一:Android Wifi框架图二:Android Wifi源码结构1 Wifi Settings层原生机目录:packages/apps/Settings/src/com/android/settings/wi...原创 2020-03-22 15:51:18 · 725 阅读 · 0 评论 -
为何 Wi-Fi 6 会成为您的竞争优势?
来源:RF技术社区 (https://rf.eefocus.com)Q:随着 Wi-Fi 6 普及,人们需要知道些什么?市场正在呈现哪些趋势?A:Wi-Fi 6 也被称为 802.11ax,是下一代 Wi-Fi 技术标准。Wi-Fi 6 的亮点在于,它在 802.11ac 或 Wi-Fi 5 标准的基础上进行了扩展,提高了数据容量、每个节点连接的用户设备数量,并提高了整个 RF 范围...原创 2020-03-20 22:28:56 · 439 阅读 · 0 评论 -
MTK6797 双摄帧同步问题确认(软同步)
涉及模块: Hwsync,相关代码:1.vendor\mediatek\proprietary\hardware\mtkcam\drv\src\sensor\common\v1\ hwsync_drv.cpp2.W:\kernel-4.9\drivers\misc\mediatek\imgsensor\src\common\v1* 相关驱动代码原理: hwsync 会从n3d 那边获取帧...原创 2020-03-19 21:59:57 · 1814 阅读 · 0 评论 -
Camera光学、成像和 3A 算法
成像与光学。计算机视觉,图像处理,数字成像。自动驾驶与视觉。镜头设计;人成像(相机),机器视觉 计算机视觉-- 光学与 camera,书籍《应用光学》,《几何光学》Camera(摄像头)算法的书,FPGA或DSP实现的。如ISP功能实现、3A、3D降噪、边缘增强、色彩还原、图像增强、防抖、去雾、隐私遮挡等的,张芙蓉,《基于DM642的H.264编码器研究》李方慧,王飞,何佩...转载 2020-03-18 20:55:35 · 3980 阅读 · 0 评论 -
Android HAL 层框架分析(三)
前面分析了android HAL层是如何搜索硬件模块的动态共享库的,其实就是在"system/lib/hw/"或者"/vendor/lib/hw/"这两个路径下找到共享库modueid.variant.so后,通过调用load函数加载库。下面我们进入load函数,看看具体是如何实现加载共享库的。以下为load函数定义,同样在/hardware/libhardware/hardware.c中...原创 2020-03-16 21:35:32 · 510 阅读 · 0 评论 -
Android HAL 层框架分析(二)
上一篇我们分析了android HAL层的主要的两个结构体hw_module_t(硬件模块)和hw_device_t(硬件设备)的成员,下面我们来具体看看上层app到底是怎么实现操作硬件的?我们知道,一些硬件厂商不愿意将自己的一些核心代码开放出去,所以将这些代码放到HAL层,但是怎么保证它不开放呢?HAL层代码不是也让大家知道下载吗?其实硬件厂商的HAL核心代码是以共享库的形式出现的,每次在需...原创 2020-03-16 21:31:58 · 770 阅读 · 0 评论 -
Android HAL 层框架分析(一)
作为一个搞android驱动或者说搞底层的人,我觉得对于hal那是必须要掌握的,而且必须达到一定深度,于是我总结了一下,将整个自己的分析思路写下来。主要是看android源代码,根据源代码得到的思路。(看源代码比看什么著作书籍都管用)android HAL是什么?为什么有它?硬件抽象层是介于android内核kernel和上层之间的抽象出来的一层结构。他是对linux驱动的一个封装,对...原创 2020-03-16 21:30:19 · 1399 阅读 · 0 评论 -
Android中的sp和wp指针
经常会在android的framework代码中发现sp<xxx>和wp<xxx>这样的指针,平时看的时候都把他当成一个普通的指针封装过掉了相关的代码:frameworks/base/include/utils/RefBase.hframeworks/base/libs/utils/RefBase.cppsp和wp都是一个模板类,看一下sp类的定义:...转载 2019-06-27 22:22:08 · 172 阅读 · 0 评论 -
Android关于cpu/cpuset/schedtune的应用
Android中关于cpu/cpuset/schedtune的应用都是基于进程优先级的,根据不同优先级划分进程类型。AMS(ActivityManagerService)和PMS(PackageManagerService)等通过class Process设置进程优先级、调度策略等;android/osProcess JNI通过调用libcutils.so/libutils.so执行getprio...转载 2019-06-24 12:25:41 · 2040 阅读 · 0 评论 -
Android基于CGroup的memory子系统HAL层分析-lmkd
Android在内存管理上于Linux有些小的区别,其中一个就是引入了lowmemorykiller。从lowmemorykiller.c位于drivers/staging/android也可知道,属于Android专有,没有进入Linux kernel的mainline。lmkd,即Low Memory Killer Daemon,基于memory子系统和Kernel lowmemoryki...转载 2019-06-24 11:50:58 · 1078 阅读 · 0 评论 -
自己动手编译Android源码
本文使用最新的Ubuntu 16.04,请首先确保自己已经安装了Git.没安装的同学可以通过以下命令进行安装: sudo apt-get install git git config –global user.email “test@test.com” git config –global user.name “test” 其中test@test....转载 2019-06-01 17:27:14 · 185 阅读 · 0 评论 -
红茶一杯话Binder(初始篇)
1 什么是Binder? 简单地说,Binder是Android平台上的一种跨进程交互技术。该技术最早并不是由Google公司提出的,它的前身是Be Inc公司开发的OpenBinder,而且在Palm中也有应用。后来OpenBinder的作者Dianne Hackborn加入了Google公司,并负责Android平台的开发工作,所以把这项技术也带进了Android。转载 2017-11-13 17:16:40 · 558 阅读 · 0 评论 -
Android进程间通信(IPC)机制Binder简要介绍和学习计划
在Android系统中,每一个应用程序都是由一些Activity和Service组成的,这些Activity和Service有可能运行在同一个进程中,也有可能运行在不同的进程中。那么,不在同一个进程的Activity或者Service是如何通信的呢?这就是本文中要介绍的Binder进程间通信机制了。《Android系统源代码情景分析》一书正在进击的程序员网(http://0xcc0xcd.co转载 2017-11-13 17:15:07 · 208 阅读 · 0 评论 -
Android系统介绍与框架
一、Andriod是什么?Android系统是Google开发的一款开源移动OS,Android中文名被国内用户俗称“安卓”。Android操作系统基于Linux内核设计,使用了Google公司自己开发的Dalvik Java虚拟机。Android操作系统已经成为全球最大的智能手机操作系统。1)、开放性Android完全开源,且该平台从底层操作系统到上层的用户界面和应用程序都不存在原创 2015-08-24 19:06:03 · 410 阅读 · 0 评论 -
Android系统特有的驱动
整理一下android在linux系统基础上加入的驱动,有几个比较重要的使用的代码版本:android 2.2.2Ashmem:匿名共享内存驱动 Logger:轻量级的log驱动 Binder驱动( Binder Driver):基于OpenBinder驱动,为Android平台提供IPC的支持能源管理( Android Power Management):原创 2015-10-12 18:30:48 · 824 阅读 · 0 评论 -
Android开发之旅:环境搭建及HelloWorld
——工欲善其事必先利其器引言本系列适合0基础的人员,因为我就是从0开始的,此系列记录我步入Android开发的一些经验分享,望与君共勉!作为Android队伍中的一个新人的我,如果有什么不对的地方,还望不吝赐教。在开始Android开发之旅启动之前,首先要搭建环境,然后创建一个简单的HelloWorld。本文的主题如下:1、环境搭建1.1、JDK安装1.2、Eclips转载 2015-10-26 16:08:03 · 290 阅读 · 0 评论 -
Android开发之旅:应用程序基础及组件
目录(?)[+]引言应用程序基础应用程序组件1活动ActivitiesActivitysetContentView 方法2 服务Services3广播接收者Broadcast receivers4内容提供者Content providers ——成功属于耐得住寂寞的人,接下来几篇将讲述Android应用程序的原理及术语,可能会比较枯燥。如果能够静下心来看,相转载 2015-10-26 16:12:49 · 445 阅读 · 0 评论 -
Android开发之旅:android架构
目录(?)[+]引言架构图直观架构详解1Linux Kernel2Android Runtime3Libraries4Application Framework5Applications总结 引言通过前面两篇:Android 开发之旅:环境搭建及HelloWorldAndroid 开发之旅:HelloWorld项目的目录结构我们对转载 2015-10-26 16:11:31 · 312 阅读 · 0 评论 -
Android开发之旅:活动与任务
目录(?)[+]引言活动与任务概述亲和度和新任务Affinities and new tasks启动模式Launch modes清除栈Clearing the stack启动任务Starting tasks ——坚持就是胜利!关键是你能坚持吗?不能的话,你注定是个失败者。引言关于Android应用程序原理及术语,前面两篇:Android开发之旅:应用程序转载 2015-10-26 16:15:03 · 378 阅读 · 0 评论 -
Android开发之旅:HelloWorld项目的目录结构
目录(?)[+]引言HelloWorld项目的目录结构1src文件夹2gen文件夹3Android 21文件夹4assets5res文件夹6AndroidManifestxml7defaultproperties 引言前面Android开发之旅:环境搭建及HelloWorld,我们介绍了如何搭建Android开发环境及简单地建立一个HelloWorld项目,本篇将通转载 2015-10-26 16:09:56 · 392 阅读 · 0 评论 -
Android cannot allocate memory
之前git上切分支编译android代码时,虚拟机总是出现cannot allocate memory问题,后来整理了下解决方法:1.创建swapfile文件下面的代码是创建一个1G的swapfile,如果想要512M,将bs将为1024sudo dd if=/dev/zero of=/swapfile bs=2048 count=524288ls -lh /swapfile //查...原创 2017-03-31 17:54:44 · 2131 阅读 · 0 评论 -
国内技术社区活跃的 Android 大神汇总
本人 Android 菜鸟一名,在 Android 技术圈里混,看过很多大神的技术博客、视频教程或学习故事,收获很多东西,让自己能坚持下来并不断成长。大神很多,故收集成一张表格,方便自己以及各位伙伴在 Android 学习之路上不断成长。1、排名不分先后(正在改成按ID字母顺序排序); 2、信息均来源互联网,如有侵犯个人隐私,请联系我; 3、收集偏向于Anroid应用层开发转载 2016-06-10 17:31:39 · 6418 阅读 · 2 评论 -
Android工作两年之后的第一个App--天真无谐
一、前言好长时间没写blog了,主要还是工作上的事有点多,周末又得在家开发自己的app,所以时间真的不够用了,当然今天这篇文章主要就要说一下,工作两年的我如何从产品角度去做一个app,以及app的发布流程等。二、支持我在开始讲解这个项目之前,希望能够先去各大市场下载一个apk看看,首先是为了支持我一下,其次呢就是我在后面会介绍一些功能和技术实现,所以先使用一下,这样会找到对应的转载 2017-11-17 17:08:04 · 842 阅读 · 0 评论 -
Android SDK体系简析
本章介绍了Android SDK的相关内容,包括其文档解读,示例讲解,以及相关API的介绍,通过本章的学习,可以比较清晰地把握Android SDK的全貌,熟悉其提供的相关示例,以及附带的工具使用。另外,按照课件中推荐的文档阅读顺序,可以更快速、全面的了解整个Android SDK的知识。 ★ 了解Android组成和用途★ 熟悉文档包含的内容★ 熟悉一些常用和重要的工具(To原创 2015-08-28 10:15:50 · 679 阅读 · 0 评论