自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 资源 (1)
  • 收藏
  • 关注

原创 android学习总纲

文章目录1. 前言2. android的发展3. 技术探索方向4. 应用篇5. 系统篇1. 前言以后就顺序往下填充内容了,也算是我对android系统的再一次学习与研究。2. android的发展Android操作系统是一个由Google和开放手持设备联盟共同开发发展的移动设备操作系统,其最早的一个版本Android 1.0 beta发布于2007年11月5日,今年2020年应该就是该出a...

2020-03-24 01:48:12 370 2

原创 回顾2023

我仔细回忆了下,今年我做了哪些事情呢,忙忙碌碌一整年,除了搬砖还是搬砖,记录了许多笔记,但知识点都碎了,对自己的提升很有限,随着时间的推移,很多灵感都以及消逝,对我这个记性不好的人来说,尤为致命且严重的,接下来的时间,我会打算在过年前,将零碎的知识花时间归总一下,将知识完善,巩固起来。明年呀,明年的话应该是我技术上的登峰之年,也是当打之年,我很有信心,能再上一层,将今年的不足之处改进,并努力严格完成就好了,提前祝我天天开心,笑口常开,哈哈哈,祝我新年快乐!3.对时钟的架构的了解,算是对自己的知识的储备。

2023-12-29 00:59:08 364

原创 回顾2022

这里提一下对手机相机还是专业相机的选择,我这边说一下选择思路,好多人有跟我咨询的,就顺带提一下。值得肯定的方向呢是对自己未来发展的大胆探索,突破了原有的枷锁桎梏,找到了另一条探索出路,从长远来看,我的这次大胆探索是大有裨益的,对未来相机的技术能更好的,更精准,更稳健的把握住。

2022-12-10 17:20:31 151 1

原创 关于手机相机硬件发展思考

  总而言之,手机相机硬件发展主要经历了几次野蛮式地发展,首先是像素的不断提升,从十几万像素到如今上亿的像素的发展;一个是摄像头的堆叠,单摄,双摄,三摄,四摄,五摄等等;一个是对光学变焦的不断追求;一个是对相机的“底”的不断探索;还有就是对ISP的不断调校,优化,集成ISP到独立ISP的发展过程。。。。。。  就目前情况来说,过高的像素和所谓的过高数字变焦已没有实际的意义,一个是人眼的识别度,屏幕分辨率限制,另一个是由于手机硬件空间局限性导致,过大的变焦会使图像失真。硬件发展速度到如今已逐渐趋于稳定平缓,当

2022-06-15 23:56:58 264

原创 回顾2021

回顾我的2021,如禅定一般,安心修行,稳扎稳打。如上一年初时定下的计划一般,找到自己的“核心卖点”,整理前面学习的知识图谱,形成统一的过程,如今在相机领域终于找到了自己的一席之地,从上到下,再从下到上,再到各个细节,我对最终的学习成果非常的满意,并感到由衷的自豪,接下来的一年里,我可能会拓展自己的业务,多跟行业前辈学习,在性能优化的方向进行进一步的探索,作为我的行业拓展。感谢这一年里大佬们对我的点拨,指导,听君一席话,胜读十年书!谢谢!...

2022-01-02 11:51:32 492

原创 浅谈Android相机演变

Android相机版本更迭主要表现为Camera HAL版本更新(HAL1 -> HAL2 -> HAL3), Camera API版本更新(Camera API1 -> Camera API2)相机应用camera1 一般对应着api1,camera2对应api2,发展过程中由于各家厂家支持力度可能出现下面各种现象1.API1 调用 HAL12.API1 调用 HAL33.API2 调用 HAL14.API2 调用 HAL31是camera刚开始最主流的使用方案,2,3是在兼

2021-11-28 23:41:42 1830

原创 浅谈Camera subsytem

文章目录目录相机演变相机架构相机详解相机性能相机调试相机领域相机模组思维拓展    时隔差不多一年时间没写博客了,这边打算将自己的camera学习经验分享一下,内容可能比较多,会分很多节来讲,希望自己能够给点力,把这个系列写完,写好,加油加油!目录这边将会以下面八大要点进行说明,工欲善其事必先利其器,这边先把学习环境搭一下好吧,由于现在最新的系统版本已经更新到12了,我这边随便先搞一下最新的源码下载吧。浅谈Android12系统源码下载相机演变下周或者下下

2021-11-20 23:36:26 3054

原创 浅谈Android12系统源码下载

文章目录a.安装vm-toolsb.解决问题c.准备环境阶段d.下载源码阶段e.搞定之前有写过相关的文章,但是呢发现有点不好使了,还是将最新的方式写一下。虚拟机软件:VMware® Workstation 16 Pro桌面版本:ubuntu-20.04.3-desktop-amd64.iso(我选择了原先的16版本时坑有点多,最后选择了最新版本)a.安装vm-tools方便Windows 和Linux之间拷贝数据sudo apt-get install open-vm-tools-desktop

2021-11-20 23:31:45 3790 5

原创 回顾2020

  总的来讲,今年基本也是按照自己老早规划的路走的,一步一步的完成对Android系统整体架构的进一步认识,与以往更侧重学习不同,现在更多的是思考,探索自己未来前行方向(凡事预则立不预则废)。直到最近才基本确定下自己的技术方向(还好没拖到明年,哈哈),也可以说是自己未来的行业发展方向,领悟到需要真正的立足之本,需要它成为自己的利剑,披荆斩棘,一往无前,成为一位真正的剑客。  2021年剑客归来,敬请期待!...

2020-12-15 00:04:05 181

原创 Android 更新系统api接口时注意事项

修改了framework/base下的api之后首先需要执行下面命令:make update-api 以达到更新下面文件的目的:frameworks/base/api/current.txt如果我们更新了系统源码API,如果只提交代码修改部分,后面的同学编译就会报错,所以需要注意的是同步将修改部分代码以及更新之后的frameworks/base/api/current.txt文件一并提交,以免影响协同开发工作,虽然只是一个小点,但也不容忽视!...

2020-11-28 20:37:38 943

原创 android android.R.string.和com.android.internal.R.string.的区别

  某个时间刚好有这个疑问,一开始我以为只有后者源码是在framework/base/core/res/res下的strings.xml,前面那个我还以为资源是在其他的系统源码目录中。解答疑问前需要知道Android 系统资源相关的几个路径:在 AOSP 的路径是:./frameworks/base/core/res/在手机flash的位置是:/system/framework/framework-res.apk在AS的 SDK 中的路径是:./android-sdk/platforms/

2020-11-26 23:08:22 1335

原创 20201108-年末的未来学习计划

这里描述一下自己接下来至年末的学习目标,主要包含下面几个方向:1.依托学习平台,补充上层应用知识,这个也是重中之重的学习目标2.完善framework的认知,主要是查缺补漏3.再一步尝试驱动开发研究,这个是探索式学习,拥抱内核...

2020-11-08 15:24:22 94

原创 回顾系统优化

  这是很早时候的记录,现在看来还是有点用,现在看来确实还很不完善,但基本够用了,方向有了,但对我们来更重要的是实现方法!

2020-11-08 15:00:19 112

原创 sourceinsight tab键替换成四个空格键

  默认情况下sourceinsight的回车键是tab键,tab键作用就不多说了,主要是为了代码对齐,增强代码的可读性。但是在实际系统开发中如果使用tab键,会有可能使代码错位,所有很有必要将tab键替换成四个空格键,具体操作如下:1.选择菜单栏的Options2.然后按照下图以此标注顺序选择对应按钮3.最后几步在第4步选择生效的语言。第5步勾选替换,第六步那设置tab宽度,一般都是四个空格长度,最后再close就完事儿了。...

2020-11-08 14:27:34 6330 1

原创 Android使用Linux shell方法

这个也是系统开发常用到的,系统兼容性较好,我这边以函数形式表现:public void executeShellcmd(String cmd){ Runtime runtime = Runtime.getRuntime(); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append(cmd); runtime.exec(stringBuilder.toString());}通常我们还可以通

2020-10-13 21:47:00 393

原创 分析系统业务逻辑手段

通常找函数跳转逻辑可以通过以下方式快速定位,在事件触发函数处加上下面代码即可:if(true){throw new NumberFormatException();}这个方法比较方便且实用,在这里以记录。

2020-10-13 21:39:15 334

原创 Android 9.0的一些变化

文章目录1.前言2.编译3.init进程4.系统服务5.其他1.前言这边是基于4.4到9.0上的变化对比,由于时间原因,先立个标题,晚上我再写完整,主要包含以下几点。2.编译3.init进程4.系统服务5.其他

2020-09-30 23:55:04 2095

原创 面试经历简述

博主基于对未来的展望,以及对目前大环境的观察,我最终还是选择了坚定系统开发的道路,最终还是选择了科大讯飞。这边说一下之前面试的简单说明(前面四个是应用岗,最后一个是系统岗,只能感叹一下有做系统需求的公司真的不多):浏览器面试的话感觉其他倒是问题不大,就是对于应用栈不太熟悉,吃了点亏,以及Application和Activity context的区别不是很清楚,其他倒是没啥问题。企鹅银杏的话印象也不是很深,对于个人而言感觉问的问题比较常见,这边略过。英雄互娱的话被单例设计模式坑了一下,两种单例的优缺点

2020-08-01 01:11:30 253

原创 面试尾声

这一个月里,我接连面了腾讯浏览器,企鹅杏仁,英雄互娱,优学派,科大讯飞等比较奈斯的企业,接下来还可能考虑参加字节跳动,阿里的面试,可能时间不够了,月初就打算选择面试通过的一家入职了,希望能赶上吧。说一下我这边的情况,由于博主目前主要从事系统framework开发,个人发展原因从上一家公司离职,离职之后其实有先内推腾讯企业微信的,很遗憾,即使是腾讯总监内推,也没能进去,说是技能不匹配,也是很尴尬,错失机会,因为自己简历上更多的是系统层上的开发,也是自己写简历的时候没有注重技能是否匹配职位,实际上都懂的,也因

2020-07-30 13:10:09 202

原创 知识体系简单绘图20200624

这边简单记录下自己知识体系,如下:由于面试需要,还是巩固一下稳妥。

2020-06-24 21:28:10 197

原创 面试20200621

这边说说最近几天面试的经验,自己目前是做Android系统的,但系统开发就那么几家,有考虑往应用开发发展,算是两手准备。感觉针对系统开发和应用开发基础的话,看一下之前博客上的文章就差不多,即android学习总纲这篇文章。除了对基础的巩固,还有就是对自己之前所做项目的回顾,我这边主要就是系统定制,编译,优化以及系统中间件的构建。对于个人而言,还是比较倾心于底层的研究,感觉这里面的东西学起来很有趣,探索起来都有成就感,接下来就希望能面试顺利了,这一次要慎重些了。对啦,还有就是需要提醒自己永远保持一颗学徒

2020-06-21 15:50:04 205

原创 20200524小结

就单做android系统研发算起来有两年了,这期间先后接触了qualcomm,hisi,amlogic,mstar,rk芯片,做了很多事,但也感觉自己也没做什么成绩出来,思考再三,系统文档的撰写计划也就开始提上日程,以此实现个人的技术沉淀。各家芯片的特性以及之间的差异确实有必要静下心来思考和记录,以方便后面回顾查看,也是记录自己成长的一个很好的方式。这个月感觉都没有做什么实事,本人正在渡劫,加油吧,希望后面能顺利~...

2020-05-24 22:37:33 176

原创 android系统通用框架

按照自己理解,通用的系统框架如下图:ps:1.上面的除了hardware部分,其他每个部分对应着系统目录。2.可以说android就是架在Linux内核上的一个超级应用。3.其中kernel到hardware通常中间还包含一层chip层,芯片适配层,作用是兼容kernel和hardware,也是兼容x86和arm处理器的指令集。...

2020-04-27 22:19:27 397

原创 android系统启动简述

下面我将用最简单的话来描述这个过程:1.bootloader主要是在系统加载前,初始化硬件设备,建立内存空间的映像图,为最终调用系统内核准备好环境,常见的引导程序就是uboot,uboot的第一条指令从cpu/arm920t/start.S文件开始,它最终跳转到内核。(若用户在启动刚開始按了指定的recovery组合键,系统会直接进入Recovery模式, 若启动过程中用户没有按下不论什么组合键...

2020-04-13 22:21:26 135

原创 查看 Kernel 的版本

目前有两种查询方式:1.在rootfs 里使用命令cat /proc/version查看:test@ubuntu:~$ cat /proc/versionLinux version 4.4.0-18362-Microsoft ([email protected]) (gcc version 5.4.0 (GCC) ) #476-Microsoft Fri Nov 01 16:5...

2020-04-08 23:26:33 4222

原创 2020第一季度学习总结

简单回顾一下:今年第一个季度主要还是加深对系统结构的梳理工作上来,不断的查缺补漏。回忆起来,这个过程已经持续了两年了,自上而下的学习,现在已打通了android系统的整体框架,因此现在也有了一定的底气说我知道什么是android了。当然,现在也越来越清楚地认识到自己的不足之处,也是恐怖自己的无知。就比如目前还存在许多的系统细节还是没有弄清楚,下个季度的核心就是把这些弄清楚吧,还有就是把之前的博客内...

2020-04-06 00:46:13 430

原创 系统测试用例归总

本人非专业测试,这里的测试用例仅仅是个人经验之谈,包含以下内容1.应用相关应用启动速度测试应用功能测试应用操作响应速度测试应用内存测试应用安全测试2.系统相关系统极度繁忙测试系统启动速度测试连接测试(wifi,蓝牙,移动数据等)系统按键测试待机测试(时长)挂起和唤醒测试系统时间测试安全测试网络测试(信号强度,传输测试)...

2020-04-04 11:36:02 418

原创 系统精简归总

文章目录1. 前言2. apk的裁剪3. 服务的裁剪4. 运行库的裁剪5. 硬件抽象层的裁剪1. 前言先来看一下android的系统架构:图上虚线所划定的范畴内对Android系统进行裁剪,具体可分为以下几个方面:应用程序层:在这一层的工作是针对系统原生的应用程序进行裁剪,通过对不必要的应用程序进行裁剪,可以加速包扫描的过程,从而使得系统启动速度加快:并且因为减少了驻留在内存中的应用...

2020-04-04 11:13:18 244

原创 android生态之系统篇

文章目录1. 前言2. 系统目录归总3. 系统优化归总4. 系统精简归总5. 系统测试用例归总1. 前言学习是一个不断探索,向前的过程,博客持续更新中~2. 系统目录归总android生态之系统篇3. 系统优化归总android系统优化建议4. 系统精简归总编辑中。。。5. 系统测试用例归总编辑中。。。...

2020-04-04 10:49:21 652

原创 Android 系统遥控器匹配kl文件

不同芯片对底层驱动的实现可能不同,但适配遥控器的时候,必定有一个步骤就是通过找到kl文件来匹配键值,如果kl文件有多个,如何找到自己所对应的那个呢,我的方法主要是以下两个步骤就可以确定:1.使用cat/proc/bus/input/devices命令查看所有的设备信息(root@test:/ # cat proc/bus/input/devices ...

2020-04-04 10:39:44 1888

原创 系统编译中LOCAL_CFLAGS的用法

LOCAL_CFLAGS += -DXXX ,相当于在所有源文件中增加一个宏定义#define XXXeg:在Android.mk中增加ifeq ($(PRODUCT_MODEL),XXX_A)LOCAL_CFLAGS += -DBUILD_MODELendif即能在所编译的Cpp文件中使用:#ifdef BUILD_MODEL....#endif...

2020-04-03 00:44:47 6339

原创 进入Recover后升级失败,提示unknown volume for path错误探索

为了实现u盘升级功能,但每次进入recovery升级都提示的是升级失败,最终我通过找到位于cache/recovery下的升级日志进行分析,摘取关键日志如下:I:no boot messages I:Got arguments from /cache/recovery/commandlocale is [zh_CN]can't open /dev/tty0: No such file or...

2020-03-29 13:44:04 2368

原创 常见网络故障排查方法

1. 无法获取ip查看系统中实际是否有ip地址使用系统查询命令:busybox ifconfig下图是从网上找的,只是里面在比较重要的地方已标记:如果存在有地址,则不是底层问题,可往上层软件分析2. 服务端异常最常见的方式有如下几个:a.抓包,分析报文b.直接ping,tracert地址,看服务器是否返回,前提是服务器防火墙没有限制icmp报文c.系统命令busybox wge...

2020-03-29 10:40:57 2685

原创 系统预制版本

系统通常会有预制版本号需求,简单记录一下,以mk文件添加版本号为例:VERSION_NUMBER=$(productname)_$(modulename)_1.1.1$(shell date +%Y%m%d%H%M)PRODUCT_PROPERTY_OVERRIDES += \ persist.sys.version=$(VERSION_NUMBER)...

2020-03-28 01:56:22 154

原创 系统处理重复点击

处理短按重复可参考下面伪代码:private Button btn;private long lastClick = 0;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activ...

2020-03-27 22:23:12 125

原创 系统优化归总

文章目录1. 前言2. 启动加速3. 稳定性4. 省电5. 安全加固1. 前言这篇文章是我对android生态之系统篇性能优化这一小节的补充,出发点是从系统优化角度出发的,但是对android应用性能优化也有一定的参考意义。这里所指的性能优化是抛弃硬件本身影响,从软件层面进行相关的性能优化。整个过程如下图所示:2. 启动加速如果想要android系统开机过程尽快的完成,并展现用户操...

2020-03-24 01:17:50 167

原创 新apk加入源码整编

第一步:编写Android.mk LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := $(call all-java-files-under, src) LOCAL_PACKAGE_NAME := Bluetooth LOCAL_...

2020-03-23 21:13:18 278

原创 usb调试与adb调试

之前没有太注意二者的区别,这里简单记录一下。usb调试,android应用开发或许经常会用到,之前我也是用这个方式来调试程序的,android设备如果是手机的话就很方便,设备打开usb调试,并用数据线连接电脑与android手机,你的android studio就能看到控制台有手机的日志输出了。如果android设备不是手机的话,就像android手表的话,或许就不支持usb这种方式了,这就需要...

2020-03-22 17:18:50 6514

原创 android系统打开adb调试

一般情况下android系统用户的adb是被被关了的,打开的话会有安全隐患,但是对于开发者来说,还是很有必要的,方便调试程序,发现并解决问题用的,这是写这篇文章的背景。打开adb肯定要将adb这个服务进程打开,adb服务是写在init.rc里面的,默认disable,,init.rc里面会有一定的判断条件决定是否启动,其实就是由一条属性的值控制的,我们将这个属性打开就行了。即使你发现系统重启之...

2020-03-18 22:29:42 5994

原创 修改开机launcher

修改位置:frameworks/base/services/java/com/android/server/am/ActivityManagerService.java Intent getHomeIntent() { if(mFirstStart) { //需定制Intent代码处 } Intent intent = new Intent(mT...

2020-03-10 23:23:29 663

反编译相关工具完整版带使用说明

反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进开发者学习,借鉴好的代码,提升自我开发水平。相关的说明文档链接如下: https://blog.csdn.net/angelsmiling/article/details/103804171

2020-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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