摘要: 概览 Virtual AB系统 (1)无缝升级:virtual AB和AB系统一样,支持无缝升级 (2)回滚:Virtual AB支持系统回滚。当系统升级失败的时候,设备会自动回滚到旧的系统版本。 (3)省空间:在Virtual AB中,super分区采用dm-snapshot技术来进行升级,不需要 阅读全文
posted @ 2021-04-20 22:02 pyjetson 阅读(6961) 评论(0) 推荐(1) 编辑
摘要: 源码位置:android/hardware/aw/usb rc文件位置: android/system/core/rootdir/init.usb.configfs.rc android/system/core/rootdir/init.usb.rc android/device/softwinne 阅读全文
posted @ 2021-04-20 21:53 pyjetson 阅读(2130) 评论(0) 推荐(0) 编辑
摘要: 背景 ​ 由于AB升级的回滚机制只支持到early_boot阶段,如果OTA升级的过程中,data分区被修改了,并且OTA升级失败了,则data分区是无法回滚到之前的状态的。UDC功能是为了解决OTA升级失败后,当data分区被修改后,不支持回滚data分区的问题。UDC同时支持绑定key版本以及防 阅读全文
posted @ 2021-04-20 21:48 pyjetson 阅读(2181) 评论(0) 推荐(0) 编辑
摘要: 锁屏界面 1. 显示用户切换 1. updateVisibilities // android/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java 阅读全文
posted @ 2021-04-20 19:13 pyjetson 阅读(483) 评论(0) 推荐(0) 编辑
摘要: windows环境 1. 下载源码 1. 打开https://mirror.tuna.tsinghua.edu.cn/ 2. 搜索kernel,点进去下载2.6.24版本和5.4版本的内核 2. 导入源码 1. 解压压缩包 2. vscode打开文件夹 3. ctags解析 1. vscode安装c 阅读全文
posted @ 2021-04-18 16:16 pyjetson 阅读(1774) 评论(0) 推荐(0) 编辑
摘要: 5.简单的2D纹理绘制 概述 2D纹理是一个图像数据的二维数组,一个纹理的单独数据元素称作纹理像素(texture pixels)。 总体流程 纹理的使用流程 1. 准备工作 // 设置数据传输模式 // void glPixelStorei (GLenum pname, GLint param); 阅读全文
posted @ 2021-04-17 00:08 pyjetson 阅读(841) 评论(0) 推荐(0) 编辑
摘要: 编译LAME 在windows中ndk-build来进行编译 1. 将libmp3lame和include中的文件拷贝到jni目录下 2. 将所有的.c文件,添加到Android.mk中的LOCAL_SRC_FILES中 注意要保存好头文件 + lib文件 LOCAL_PATH := $(call 阅读全文
posted @ 2021-04-14 22:46 pyjetson 阅读(435) 评论(0) 推荐(0) 编辑
摘要: LAME-encoder 源码解析 #include "mp3_encoder.h" #include <stdio.h> #include <android/log.h> #include <errno.h> #include <string.h> #define LOGI(...) __andr 阅读全文
posted @ 2021-04-14 22:44 pyjetson 阅读(535) 评论(0) 推荐(1) 编辑
摘要: 使用ffmpeg实现MP3toPCM 流程解析 1. 注册协议、格式与编码器 // 打开pcm文件 FILE * pcmFile = fopen(pcmPath, "wb+"); // 注册解码器 avcodec_register_all(); av_register_all(); 2. 打开媒体源 阅读全文
posted @ 2021-04-14 22:28 pyjetson 阅读(1110) 评论(0) 推荐(0) 编辑
摘要: AudioTrackTest-opensles OpenSL使用流程分析 OpenSL ES的API都是基于对象和接口的方式来提供的。 (1)先create Engine的ObjectItf,然后Realize Engine的ObjectItf,然后Engine的ObjectItf通过GetInte 阅读全文
posted @ 2021-04-14 22:23 pyjetson 阅读(555) 评论(0) 推荐(0) 编辑