自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

红旺永福

我的架构师之路!!!

原创 Opengl ES系列学习--变换

本节我们继续学习变换一章的内容,原作者在本章内容单面讲解了大量的矩阵变换的内容,非常清晰,大家如果有兴趣研究的话,可以自己计算一下,我们就不细看了。 先来看一下我们最终实现的效果: 本小节要实现的效果相对比较简单,我们就是在上一节的基础上,加了一个变换矩阵,让我们的纹理转起来。GlMatrixRender类的完整源码如下:package com.opengl.learn.aric;import android.content.Context;import a...

2020-08-02 17:11:57 31

原创 Opengl ES系列学习--纹理

有时间了,就学学Opengl,很久之前就发现了一篇非常赞的Opengl教程:LearnOpengl CN,不知道为什么,之前还是可以打开的,现在电脑上却访问不了了,只能在手机上看,真是资源浪费啊!! 活到老,学到老!技术积累到一定程度后,我们必须在某个方向不断的深挖,目的就是行业顶尖的水平,大家想想,我们自己的技术能力,哪个方面能达到行业顶尖??估计没有一个人敢自信的回答,所以,还是要不断的学习。 也是基于这样的思考,自己才想着不断的学习Opengl,把这个方面的能力掌握的...

2020-08-02 15:57:14 61

原创 Opengl ES系列学习--glBlendFunc API使用
原力计划

本节我们来看一下glActiveTexture API的使用,对应的代码是OpenGL\learn\src\main\java\com\opengl\learn\GlBlendFuncRender.java文件。 所有实例均有提供源码,下载地址:Opengl ES Source Code。 API中文说明:GLES2.0中文API-glBlendFunc。 ...

2020-03-20 00:35:17 125

原创 Opengl ES系列学习--glActiveTexture API使用

本节我们来看一下glDrawElementsAPI的使用,对应的代码是OpenGL\learn\src\main\java\com\opengl\learn\GlActiveTextureRender.java文件。 所有实例均有提供源码,下载地址:Opengl ES Source Code。 API中文说明:GLES2.0中文API-glActiveTextu...

2020-03-16 00:25:32 133

原创 Opengl ES系列学习--glDrawElements API使用

本节我们来看一下glDrawElementsAPI的使用,对应的代码是OpenGL\learn\src\main\java\com\opengl\learn\GlDrawElementsRender.java文件。所有实例均有提供源码,下载地址:Opengl ES Source Code。API中文说明:GLES2.0中文API-glDrawElements...

2020-03-11 23:47:01 141

原创 Opengl ES系列学习--glDrawArrays API使用

本节我们来看一下glDrawArrays API的使用,我们就讲一些常量的知识,生僻少用的就不看了。 所有实例均有提供源码,下载地址:Opengl ES Source Code。 API中文说明:GLES2.0中文API-glDrawArrays。 Opengl提供的两类绘制API就是glDrawArrays、glDrawElements,绘制三角形序...

2020-03-10 00:16:37 153

原创 Opengl ES系列学习--glViewport API使用

去年有分析了一些Opengl ES的实例,但是后面在实际的工作中,发现根基不牢,工作中使用的一些复杂场景还是理解的不够透彻,所以回过心来,必须把基础把扎实。从这节开始,我们后面对一些非常基础普通的Opengl ES API进行实际使用介绍,万丈高楼平地起,必须把基础搞扎实,我们才能一步步向上。 所有实例均有提供源码,下载地址:Opengl ES Source Code。...

2020-03-08 20:50:11 155

原创 启示(信息绝对真实,无意者请勿骚扰!!!)

大家好,我们公司是专门从事Android手机研发生产的,行业龙头,因公司业务扩大,一直在要人,首选Camera方向,包括Camera APP、Qualcomm Camera HAL、MTK Camera HAL均可,其他方向也有大量需求,薪资根据能力而定,绝对优于行业水平,微=!@#=信(1==&==5!!&!!3;&;1【&】0{&}7/&amp...

2019-11-17 10:55:30 360 3

原创 Android 8.0替换framework.jar和services.jar

Android一直在不断的演进,系统层实现的逻辑也不断的在变化,所以我们还是要不断的学习、跟进,否则一些技术知识就会过时。之前搞系统开发时,要验证framework中的逻辑,直接替换framework.jar,自己的博客也记录了修改方法:编译framework.jar,并验证自己的修改。 现在针对Android 8.0还使用之前的验证方式,发现不生效,原来framework编...

2019-09-09 23:33:46 2378

原创 Android 8.0系统源码分析--Camera processCaptureResult结果回传源码分析

相机,从上到下概览一下,真是太大了,上面的APP->Framework->CameraServer->CameraHAL,HAL进程中Pipeline、接各种算法的Node、再往下的ISP、3A、Driver,真是太大了,想把它搞懂真不是个简单的事情。不过我们奔着要把它搞懂的目标,一点点的啃,弄懂一点少一点,我们的功力也在不断的前进中一步步的增强。 本节,我...

2019-06-16 21:20:38 2516 7

原创 Android 8.0系统源码分析--Camera RequestThread预览循环源码分析

本节我们来看一下Camera预览是如何循环的。我自己使用的Android8.0的系统源码是通过百度云盘分享的,大家可从Android 8.0系统源码分析--开篇中下载,百度云盘的下载链接和密码都有。 大家使用API2开发相机APP时都清楚,我们起预览时调用CameraCaptureSession类的setRepeatingRequest方法,该方法的实现是由CameraCap...

2019-06-16 15:36:19 2303 7

原创 Android手机对手机adb环境搭建

公司项目需求,要用Nexus 5X手机作为测试工具,连接Linux设备,然后在手机上执行ps、find、grep、cat等Linux系统命令查询Linux设备上的进程、日志等操作,通过这两句话,不知道大家有没有理解清楚需求,一开始让我搞,直接蒙了,从来执行adb命令都是在电脑上,因为电脑可以安装SDK自带的adb.exe,用它才能连接手机,还从来没搞过在手机上执行adb,但是要实现这样的...

2019-05-14 16:44:28 1858

原创 Opengl ES系列学习--顶点着色器

本节我们继续来看一下《OPENGL ES 3.0编程指南 原书第2版(中文版)》书中第8章的内容,PDF下载地址:OPENGL ES 3.0编程指南 原书第2版(中文版),代码下载地址:Opengl ES Source Code。该书中好像没有对Demo的代码进行讲解,全书的重点全部都集中在Opengl ES本身,而实现出来的实例代码讲解的很少,作为初学者,理解起来确实比较费劲,这也是我...

2019-05-07 14:57:15 359

原创 Opengl ES系列学习--顶点属性、顶点数组和缓冲区对象

本节我们继续来看一下《OPENGL ES 3.0编程指南 原书第2版(中文版)》书中第6章的内容,PDF下载地址:OPENGL ES 3.0编程指南 原书第2版(中文版),代码下载地址:Opengl ES Source Code。本书中第3、4、5章讲解的是Opengl ES着色器语言的语法知识,没有实例,不过这些语法也是我们掌握Opengl ES的硬功底,万丈高楼平地起,只有基础扎实,...

2019-05-06 15:09:50 376

原创 Opengl ES系列学习--你好,三角形

看完了Opengl ES 2.0,我们再来看一下3.0的内容,PDF下载地址:OPENGL ES 3.0编程指南 原书第2版(中文版),3.0原书中的作者应该是搞C++开发的,所有的实现都是基于C++,当然也有Java语言的,原书所有代码下载地址:OpenGL ES 3.0中文版所有示例代码,我自己只是将Java语言整理了一下。我们还是对着书,一节一节的分析所有的内容。本节要看的就是该书...

2019-05-05 11:45:29 150

原创 Opengl ES系列学习--创建动态壁纸

本节我们在上一节的基础上继续完成动态壁纸功能,我们要分析的目标就是《OpenGL ES应用开发实践指南 Android卷》书中第14章实现的最终的结果,代码下载请点击:Opengl ES Source Code,该Git库中的livewallpaperModule就是我们本节要分析的目标,先看下本节最终实现的结果。 最终的效果,就是把我们上一节实现的结果作为...

2019-04-30 10:59:57 297 2

原创 Opengl ES系列学习--点亮世界

本节我们在上一节的基础上继续添加光照,我们要分析的目标就是《OpenGL ES应用开发实践指南 Android卷》书中第13章实现的最终的结果,代码下载请点击:Opengl ES Source Code,该Git库中的lightingModule就是我们本节要分析的目标,先看下本节最终实现的结果。 在上一节的基础上,把天空盒换成了一个夜晚的天空盒,同时增加了光照,三个粒...

2019-04-29 18:17:13 169

原创 启示(帮朋友发布的,信息绝对真实,无意者请勿骚扰!!!)

大家好,我朋友是一个准上市公司HR,公司在东莞松山湖,公司1300人,技术研发人员500多人,软件工程师150人左右,年产值12亿左右,产品涉及汽车电子,运动科技,宠物科技。业务量稳定,每年增长60%以上,现在招BSP工程师、MCU工程师,安卓工程师(APP、中间件)、安卓组长、安卓经理,架构师,五天弹性工作制,五险一金足额购买,所有职位食宿高质量解决(单人单间花园小区,自助餐),每年发...

2019-04-28 16:56:43 482

原创 Opengl ES系列学习--增加地形

本节我们在上一节的基础上继续添加地形图功能,我们要分析的目标就是《OpenGL ES应用开发实践指南 Android卷》书中第12章实现的最终的结果,代码下载请点击:Opengl ES Source Code,该Git库中的heightmapModule就是我们本节要分析的目标,先看下本节最终实现的结果。 可以看到,地形图中有高有低,是用绿色来表示的,最接近底部的颜...

2019-04-25 18:12:47 181

原创 Opengl ES系列学习--增加天空盒

本节我们在上一节的基础上来分析一下天空盒的实现。我们要分析的目标就是《OpenGL ES应用开发实践指南 Android卷》书中第11章实现的最终的结果,代码下载请点击:Opengl ES Source Code,该Git库中的skyboxModule就是我们本节要分析的目标,先看下本节最终实现的结果,CSDN对GIF动画文件的大小有限制,所以只能录制三个文件来看效果。...

2019-04-22 18:15:50 237

原创 Opengl ES系列学习--用粒子增添趣味

我们本节开始分析《OpenGL ES应用开发实践指南 Android卷》书中第10章中的粒子系统的实现原理,搞清楚其中的代码逻辑,代码下载请点击:Opengl ES Source Code,该Git库中的particlesModule就是我们本节要分析的目标,先看下本节最终实现的结果。 最终运行在真机上的效果非常炫,三个红绿蓝粒子系统不断的发射新的粒子,所有粒子由于重力...

2019-04-19 20:20:06 183

原创 Opengl ES系列学习--序

之前一直都想好好学习一下Opengl ES,因为自己想往图形界面处理方向集中发展,这样的目标对Opengl ES的要求也是不能少的,推荐两本书:《OpenGL ES应用开发实践指南 Android卷》和《OPENGL ES 3.0编程指南中文原书第2版》,CSDN上也有其他朋友分享的,但是都要四五十个积分,有点抠门了,另外自己把两本书的代码全部整理了下,Github下载链接:Opengl...

2019-04-19 11:25:58 238 3

原创 Gradle编译问题整理(持续更新)

1、Could not find lint-gradle-api.jar (com.android.tools.lint:lint-gradle-api:26.1.2).maven {url 'https://maven.aliyun.com/reposity/google' }maven {url 'https://maven.aliyun.com/reposity/jcenter' }...

2019-01-03 10:26:32 707

原创 Unity3D填坑整理(持续更新)

1、U3D蛮牛网教程地址:http://www.unitymanual.com/topic/download/index.html ,视频被加密了,输入9900 即可解密2、Unity虚拟现实开发圣典pdf电子书下载:猛戳这里3、Unity 3D游戏开发Windows和Mac所有源码下载,因为源码太大,通过百度云盘分享:猛戳这里4、游戏蛮牛Unity用户手册5、错误提示:Err...

2018-11-28 15:22:15 505

原创 Android 7.0修改PMS逻辑添加权限白名单

     今天有任务安排需要实现给任何一个应用在不动态申请权限的情况下,实现权限赋予,大体知道应用权限的赋予逻辑是在PMS中,于是大概研究了下,最终的手段就是在install安装时,就把应用程序AndroidManifest中请求的权限赋予它,但是时间有限,跟踪了下应用安装的逻辑,往上走还是非常复杂,就暂且放下了。     解决方案:  在PMS的grantPermissionsLPw方法...

2018-09-29 19:40:54 1667

原创 Android 7.0系统源码下添加共享库

     今天的任务从早上搞到现在,才算完成,本来以为比较简单,就是出一个Demo,将实际业务的逻辑封装成so库,放在系统层,对上层不暴露任何东西,中间就一层JNI调用,原本以为很简单,但是由于自己的一个坏习惯,折腾了一天。将处理过程详细记录下来,同时吸取教训,也希望能给大家带来帮助。     JNI的封装很简单,代码就不上了,在Android7.0源码目录下添加共享库的过程,也有其他网友提到...

2018-09-20 22:41:03 1584

原创 CMake编译so库出现“undefined reference to `__android_log_print’”的解决方法

     今天自己新建了个C++工程,想生成so库,新建的工程中使用android日志打印,编译就一直报错,网上查找了下相同的问题,非常多的网友的解决方法都有点些误导,浪费时间。所以在这里说一下问题原因和解决方法。也非常简单。     我们新建一个包含C++的工程时,AS自动给我们生成了cpp文件和CMakeList配置文件,具体如下:     这里就需要大家理解CMake的一些语法了,第一红圈a...

2018-05-23 20:52:41 8965 4

原创 Android 8.0系统源码分析--openCamera(HAL)启动过程源码分析

     前面我们详细分析了从应用层调用CameraManager的openCamera的方法来打开相机的逻辑,上次的分析我们来到了CameraServer进程当中,但是还没有真正看到open操作设备节点来实现真正打开的逻辑,遗留的问题也就是从frameworks\av\services\camera\libcameraservice\device3\Camera3Device.cpp文件中的st...

2018-05-13 09:59:40 5138 3

原创 Android 8.0系统源码分析--相机createCaptureSession创建过程源码分析

     上一次我们详细分析了openCamera启动过程的源码,从CameraServer进程创建了很多对象,比如CameraDeviceClient、Camera3Device、FrameProcessorBase,而真正打开相机还是在驱动层中上电后才完成的,有时候真想把公司的系统组件和芯片组件的源码拷回来,这样就能看到完整的过程了,但是还是不敢,哈哈哈!华为手机是仿照高通,和CameraSe...

2018-02-25 20:53:01 9529 8

原创 Android 8.0系统源码分析--Activity的窗口Window对象添加过程源码分析

这节我们来看一下Activity的窗口Window对象的创建过程,Activity作为Android提供的四大组件之首,我们之所以能非常简单的使用它,就是因为它的创建过程中,framework为我们作了大量的初始化工作,包括它的窗口Window、显存Surface、事件分发的InputChannel等等非常多的工作,都在framework中为我们准备好了,所以我们这节来看一下Window对象的创建

2018-01-31 23:57:08 1531

原创 Android 8.0系统源码分析--openCamera启动过程源码分析

今年一进公司就开始搞相机开发,一直是在搞相机应用层,不过自己的学习心一直没停,闲暇之余就研究一下相机的framework、HAL层的东西,平时工作中碰到的和自己接触到的,相机中最复杂的就是预览了,有了一些体会也不想放下,所以决定写一系列关于Android相机的博客,把自己学习到的东西记录下来。     说起Android相机的东西,从应用层的角度来看,基本就是四个重要的节点了:openCame

2018-01-28 17:55:05 10360 6

原创 Android 8.0系统源码分析--startService启动过程源码分析

作过android应用开发的同事都非常清楚,android提供了四个组件Activity、Service、BroastcastReceiver、ContentProvider,分别都有不同的作用,这也给我们的应用开发提供了非常大的帮助,因为这四大组件本身就已经处理了很多的工作,我们只需要使用它就能达到成我们的目的。今天就来看一下Service这个组件,其他三个我们就不详细分析了,基本上都是相同的道

2018-01-27 22:53:33 1516

原创 Android 8.0系统源码分析--Zygote启动过程分析

上一节我们详细的看了下Android应用进程的启动过程分析,知道了应用进程是由Zygote进程调用Linux的系统函数fork复制出来的,那么Zygote进程是怎么启动起来的?这节我们就来看一下Zygote进程的启动过程。     当我们的Android手机开机时,Linux的init进程会去加载init.rc配置文件,老罗博客上讲的是Android 2.3的系统,当前应该还没有64位的虚拟机

2018-01-06 21:27:19 6875

原创 Android 8.0系统源码分析--应用进程启动过程分析

Android 8.0源码分析

2017-12-24 13:05:00 1414 1

原创 Android 8.0系统源码分析--Message发送、处理过程源码分析

android 8.0源码分析--Looper、MessageQueue的消息循环

2017-12-23 16:41:40 631

原创 Android 8.0系统源码分析--Looper、MessageQueue创建过程分析

android 8.0源码分析

2017-12-17 21:17:37 518

原创 Android 8.0系统源码分析--Binder进程间通信(三)

android 8.0系统源码分析

2017-12-09 18:08:41 1460

原创 Android 8.0系统源码分析--Binder进程间通信(二)

Android 8.0系统源码分析--Binder进程间通信(二),按照老罗书的结构,结合8.0最新源码来分析android移动操作系统。

2017-12-03 12:15:34 1640

原创 Android 8.0系统源码分析--Binder进程间通信(一)

开始我们的沉淀之路,老罗的书中第二章讲的是Android HAL层的知识,而且直接自己实现了一个虚拟的freg驱动程序,后面的几节是分别从native、java层如何访问这个虚拟的驱动程序接口,我这里没有这样的环境,所以就不分析这节了,第三章的智能指针我对比8.0系统源码和老罗的书,基本修改很小,大家如果要学习的话,就直接看老罗的书吧,这也反映出一个问题,就是我们学到的知识肯定是有用的,老罗在自己

2017-11-24 20:44:48 6234

原创 Android 8.0系统源码分析--开篇

     好久没写博客了,在这里上班基本都加班,而且公司上不了外网,手机都不能带进办公室,所以就间断了。昨天中午没事翻老罗的CSDN博客,忽然发现老罗的《Android系统源代码情景分析 [罗升阳著]》一书的PDF电子版出来了,真是惊喜啊!!搞开发这么久,一直对老罗的博客情有独钟,确实写的非常好,讲的非常细致!最好的学习方法是什么?Read The Fuck Source Code!!赶紧下载下来...

2017-11-12 21:50:09 17537 10

提示
确定要删除当前文章?
取消 删除