自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android7.x 通过Recovery保留特定文件实现恢复出厂设置后保留系统语言设置

最近有一个需求,要求在恢复出厂设置之后不还原语言设置,由于我们知道语言设置可以在Properties System中保存,所以首先想到的就是能不能将某个property保存下来。

2022-09-14 01:59:37 1038 1

原创 Android8 Launcher3 桌面应用行列数修改

Launcher3控制桌面(WorkSpace)应用图标的行列数其实核心来自于InvariantDeviceProfile类,这个类初始化了Launcher3的许多参数。根据它的成员可以看到它至少控制了Launcher3的如下参数/** * Number of icons per row and column in the workspace. 在WorkSpace中行列图标数量 */public int numRows;public int numColumns;/** * Number of

2021-11-07 14:45:19 2362

原创 Captura 安装配置与使用简介

Captura 安装配置与使用简介0x00 安装与简介Captura 是一款开源的录屏软件,它的UI易用,且没有任何植入水印,完全免费,软件简洁,非常适合用于普通用途的录屏。录制编码器有很多个,为了方便和稳定,我们一概采用FFmpeg作为编码器,在我提供的包中,已经将FFmpeg一同打包。直接解压即可用。百度云盘链接:https://pan.baidu.com/s/1U6In-8eSEnsA0Wot_jBOVw提取码:gcat首先我们将界面设置为中文:进入UI设置在Langu

2021-06-09 00:23:41 5624 9

原创 Android Linux驱动初见

前言要更好的掌握Android系统,必然绕不过去的就是 Kernel 层的驱动程序。所谓驱动程序,就是一个与硬件交互的程序,他既可以支撑硬件之间的交互,也可以支撑硬件与软件之间的交互。Linux Kernel驱动程序大体上分为三类:字符设备块设备网络设备简单来说,字符设备可以像文件一样操作,正常情况下无法随机寻址。而块设备可以当做是比较特殊的字符设备,不同的是块设备传输单位是块,比如硬盘操作就是以块为单位进行操作。而网络设备则是使用套接字通信。由于内核和驱动程序运行在内核态,所以驱动程序

2021-02-05 23:56:01 444

原创 Launcher3增加Allapps与移除搜索栏

RK3399 7.1的SDK中的Launcher3,默认是没有allapps按钮以及有搜索栏,非常碍事,下面要将他去掉。这两个基本改的位置基本相同,一起说,需要修改两个地方:从Layer中移除掉 mQsbContainer 移除掉搜索框的 View--- a/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java+++ b/packages/apps/Launcher3/src/com/android/launcher3/L

2021-02-04 21:46:28 1635 1

原创 利用ftp来实现宿主机访问Ubuntu虚拟机中的目录

前言对于宿主机共享目录到虚拟机已有很方便的方法,只需要通过虚拟机设置,添加共享文件夹即可。如下图:只要正确安装了 vm-open-tools 扩展插件,即可在Ubuntu中 /mnt/hgfs 挂载了该共享目录。若没有安装 vm-opentools 则只需要直接执行 sudo apt-get install vm-open-tools vm-open-tools-desktop 即可但反之,有两种方式,一种是在虚拟机关机下在VMware中映射出虚拟机的分区:[外链图片转存失败,源站可能有防盗链机

2021-02-01 15:37:23 1065

原创 从0开始编译Android 7.1

从0开始编译Android 7.1Android源码需要在Linux环境下编译,由于平时使用windows,所以使用VMware虚拟机来安装一个Ubuntu专门用于编译Android。安装的是 Ubuntu 18.04 版本,也有很多人说用16,但实际上18也能用,所以就用18了。0x00 在虚拟机中安装Ubuntu这一步非常简单,去官网下载一个18.04的镜像 18.04.5 Desktop 64.iso ,然后在虚拟机用加载光盘即可。随后新建一个虚拟机,注意编译Android源码需要巨大的

2021-02-01 15:02:04 1047 1

原创 QT实现拖拽打开文件

文章目录0x01 QT中的拖拽支持0x02 放置(Drop)支持dragEnterEventdropEvent0x03 实现拖拽打开文件0x01 QT中的拖拽支持​ QT为我们提供了一整套的框架实现拖拽支持,可以为用户提供直观的跨应用或同应用内实现**“信息转移”。主要有将其拆分成了拖拽(Drag)与放置(Drop)**这两部分。拖拽本质上是将信息转为MIME在Widget间转移由于本文主要实现的是拖拽文件进入程序打开文件,因此主要关注后面的部分,其关键的方法有:dragEnterEvent

2021-01-12 00:26:30 2280

原创 反编译定制安卓默认使用24H格式显示时间

文章目录反编译定制安卓默认使用24H格式显示时间警告AOSP分析流程:1. 首先,分析状态栏时间是如何显示的,格式是如何设置的,是由谁负责初始化的2. 反编译Settings验证AOSP梳理出来的过程3. 反编译SettingProvider完成此前分析应该添加的修改4. 回编译SettingProvider结语反编译定制安卓默认使用24H格式显示时间​ 该文编写的目的一是作为个人的学习笔记,二是希望对各位技术同事有所启发,整个过程也可加深对部分系统流程的理解。以前个人笔记都是比较简单的,第一次写成这

2020-05-10 19:35:55 582 4

原创 在ubuntu上解包RK3288固件

文章目录前言工具准备解包固件解包update.img挂载稀疏镜像回包稀疏镜像回包系统镜像前言在Windows瑞芯微有官方解包工具FwFactoryTool可用,修改固件比较方便,但为了更好的了解固件的组成,手动来操作一次这个过程还是很有必要的。下面试试先在ubuntu上尝试该过程,windows下也应该是可以的。工具准备要完成该过程需要这些工具:afptool, img_unpack, ...

2020-04-12 23:11:09 2669

翻译 ffprobe文档 4-5

文章目录[4 Writers 输出器](https://ffmpeg.org/ffprobe-all.html#toc-Writers)[4.1 default](https://ffmpeg.org/ffprobe-all.html#toc-default)[4.2 compact, csv](https://ffmpeg.org/ffprobe-all.html#toc-compact_002...

2020-02-18 20:41:32 499

翻译 ffprobe文档 1-3

文章目录FFprobe文档[1 Synopsis 概要](https://ffmpeg.org/ffprobe-all.html#toc-Synopsis)[2 Description 描述](https://ffmpeg.org/ffprobe-all.html#toc-Description)[3 Options 选项](https://ffmpeg.org/ffprobe-all.html#...

2020-02-03 16:43:01 676

原创 安卓应用修改-反编译基础

文章目录导言基础知识准备工作使用 apktool 反编译一个app导言​ 由于编译好的软件是无法直接修改的,因此需要反编译,所谓反编译(Decomplied),即将已经编译好的软件反向编译,还原成可读代码,在此基础上,可以更进一步的了解软件的逻辑及对软件进行修改,在安卓上,更多用于修改系统设置等。​ 本系列文章主要讲解如何实现安卓应用的反编译,因此要求读者 具备Java语言基础 ,并在一...

2019-12-24 02:06:13 674

原创 利用FreeImage对图像转格式遇到的问题一则

前言​ FreeImage 是一个很知名的免费图形库,其支持格式非常多样,常见的如: bmp, gif, ico, jpeg, png, tiff, webp, psd 等文档均可读取。近日需编写一个小工具用于在Windows下读取大量不同格式的图片转换为jpeg,就使用了FreeImage库,但在实际使用中碰到一个问题,非常诡异,此文做简单记录。0x01 问题​ 在读取带透明通道的图...

2019-10-09 01:24:05 1578 3

原创 解题报告 [codevs]1385 挤牛奶

USACO时间限制: 1 s空间限制: 128000 KB题目等级 : 青铜 Bronze题目链接题目描述 Description三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶。第一个农民在300时刻(从5点开始计时,秒为单位)给他的牛挤奶,一直到1000时刻。第二个农民在700时刻开始,在 1200时刻结束。第三个农民在1500时刻开始2100时刻结束。期间最长的至少有一个农民在...

2019-07-25 01:19:09 354

原创 解题报告 [codevs]1336 广播操的烦恼

解题报告 1336 广播操的烦恼时间限制: 1 s空间限制: 128000 KB题目等级 : 青铜 Bronze题目链接题目描述 Description刚进我们的新学校~首先感受到了校园的样子与小学完全不同~来到了我们的机房,我也看到了几个同学~有的认识,有的不认识!(MHZ:废话! LCZ:现在流行说废话凑字数。 JHT:汗~)现在,为了让大家更熟悉,更容易交流,于是老师决定排座...

2019-07-23 16:18:05 215

原创 软件工程 模块独立性概述

概述在软件系统的开发中,经常会使用抽象的手段来逐步厘清整个系统,从上往下逐步细分,顶层抽象用概括的手段描述问题的处理方式,而其内的底层抽象则是将问题逐步细化分解。而模块化开发即将一个软件分解为若干个小的部分,称为模块。每个模块都可以被独立的开发、测试,在最后才组装成完整的程序。使得整个程序的结构清晰、容易理解、测试和修改。但若模块之间关系纠缠不清则反而会增加开发的难度。因此,提倡模块遵循高内...

2019-05-10 00:51:26 4327

原创 软件工程 软件质量模型(ISO/IEC 9126)

概述软件质量指的是软件系统或软件产品满足规定或需求的能力的特征与特性。在了解软件质量管理前需要知道软件特性包含哪些方面,对于软件质量的特性目前有多个不同的模型描述,下面介绍比较常见的一个。ISO/IEC 9126软件质量模型这个模型由3层组成,第一层是质量特性,第二层是质量子特性,第三层为度量指标,它对应国家标准(GB/T 16260.1)。其模型包含的特性如下,其中"——"后的内容为度量...

2019-05-09 04:48:30 8993

原创 软件工程 系统测试概述

文章目录概述测试过程软件测试策略单元测试测试内容测试方法集成测试确认测试α测试与β测试系统测试概述系统测试是为了发现错误而执行程序的过程,成功的测试是发现了至今尚未发现的错误。测试的目的就是希望能以最少的人力和时间发现潜在的各种错误和缺陷。系统测试应包含软件测试、硬件测试和网络测试,但后面更多的是软件测试。系统测试是保证系统质量和可靠性的关键,是对系统开发过程中的系统分析、设计、实施的最后复...

2019-05-07 22:45:29 8557 1

原创 软件工程 软件过程模型概述

文章目录概述瀑布模型(Waterfall Model)增量模型(Incremental Model)演化模型(Evolutionary Model)原型模型(Prototype Model)螺旋模型(Spiral Model)喷泉模型(Water Fountain Model)基于构件的开发模型(Component-based Development Model)形式化方法模型(Formal Me...

2019-05-06 22:09:50 3078

原创 软件工程 软件过程管理

文章目录概述软件过程管理模型概述在开发产品或构建系统时,遵循一系列的步骤是非常重要,有计划的实施更有助于及时交付高质量的产品。软件开发中所遵循的路线图称为 软件过程 。过程是活动的集合,活动是任务的集合。自从软件工程这一概念被提出后,出现了许多开发、维护的模型、方法论、工具和环境,它们对提高软件的开发、维护效率和质量都起到了很大的作用。但仍然无法赶上软件所涉及的问题不同导致的复杂程度剧烈增长...

2019-05-06 01:17:58 1816

原创 软件工程 软件生存周期

与任何事物一样,软件也有一个孕育、诞生、成长、成熟、衰亡的过程,这个过程称为软件生存周期(软件生命周期)。详细的划分如下图:它们的主要任务如下:制定规划(可行性分析)确定要开发软件系统的总目标,给出它的功能、性能、可靠性以及接口等方面的要求。由系统分析员和用户合作,研究该项任务的可行性,探讨解决问题的可能方案。并对可利用资源(硬件、软件、人力等)、成本、效益、开发进度等作出估计,制定开...

2019-05-05 23:30:29 549

原创 操作系统 文件管理概述

文章目录概述文件的结构文件的逻辑结构文件的物理结构文件目录存储空间管理文件的保护概述文件(File),诞生的目的是为了专门负责管理外存储器上的信息,使用户可以按文件名高效快速的存取信息而不用关心底层实现。**文件是具有符号名的、在逻辑上具有完整意义的一组相关信息项的集合。**信息项是构成文件的基本单位,里面可以是字符,也可以是记录。一个文件包含文件体和文件说明。文件体是文件的真实内容。文件说...

2019-05-05 18:54:40 798

原创 操作系统 存储管理概述

文章目录概述基本概念分区存储管理分区保护分页存储管理地址组成页面映射表快表两级页表分段存储管理地址组成段映射表段页式存储管理虚拟存储管理实现方式请求分页管理页面置换算法概述在操作系统的概念中,存储管理的对象主要是主存存储器(内存),主存是计算机系统中的关键性资源,是存放信息、程序的主要场所。操作系统中存储管理的主要功能是负责主存空间分配和回收、提高主存利用率、扩充主存及对主存信息提供保护。...

2019-05-03 23:37:43 2015

原创 操作系统 进程死锁概述

文章目录概述死锁产生的原因及4个必要条件死锁的处理死锁预防死锁避免死锁检测与解除概述在计算机系统中有许多互斥的资源,若两个进程同时使用则会出现不可预知的问题。所谓 **死锁(Dead lock) **即两个以上的进程都要使用对方已经占有的资源导致无法继续运行的现象,造成死锁的可能有很多种。在了解死锁前要对信号量及互斥有一定了解,如果不了解可以先查看此文:操作系统 进程下面简单看几个例子:...

2019-05-03 01:36:49 423

原创 操作系统 进程调度方式概述

文章目录概述三级调度调度算法进程优先级确定概述进程调度方式主要是指具有不同优先级的进程到来时如何分配CPU,调度方式主要有 可剥夺 与 不可剥夺 两种。可剥夺是当具有更高优先级的进程到来时,会强行的将正在运行进程的CPU资源分配给更高优先级的进程;不可剥夺则是必须等待正在运行的进程自动释放占用的CPU,才会将CPU再次分配。三级调度通常在操作系统中,一个作业从提交到完成需要经历三级调度。...

2019-05-02 18:12:04 1976 1

原创 操作系统 管程

在前面 进程 中提到,有信号量与互斥量之后,似乎进程间通信就很容易了。但事实上并不然,PV操作不慎是很容易导致两个进程都被阻塞的,这种情况就叫做死锁(Dead Lock)。为了更容易编写出正确的程序,1973和1974年Hansen与Hoare提出了另一种高级同步原语,称为管程(Monitor)。但他们提出的方式略微有些差别,不过核心都是资源集中管理,将系统中资源通过抽象的形式描述。管程是一...

2019-05-02 17:13:15 399

原创 操作系统 进程

文章目录概述程序与进程顺序/并发执行的特征顺序执行并发执行进程的组成进程状态及状态间转换三态/五态模型进程的控制进程间通信(IPC, Inter Process Communication)进程间同步(Synchronization)进程间互斥(Mutual Exclusion)临界区(CS, Critical Section)信号量(Semaphore)机制整型信号量PV操作利用PV操作实现进程...

2019-05-02 04:33:07 577

原创 操作系统 基本概念

文章目录概述定义及作用基本概念主要功能基本特征系统分类概述曾经计算机硬件是由人直接控制的,但随着计算机越发复杂,人已经无法直接控制计算机了,因此需要软件(操作系统)来帮助人管理和控制计算机。而计算机软件主要分为系统软件及应用软件两类,前者是计算机系统的一部分,用于支持应用软件的运行。应用软件大部分人接触都比较多,比较特殊的是系统软件里面包括操作系统、语言处理程序、链接程序、诊断程序、数据库...

2019-05-01 20:43:49 2538

原创 数据结构 平衡二叉树(AVL)

文章目录概述性质及定义AVL树的最大高度AVL树的存储结构AVL树的插入AVL树的旋转单旋(LL/RR Rotate)双旋(LR/RL Rotate)C语言实现概述二叉搜索树查找的最高效率类似于折半查找,但却十分依赖于树建立的顺序,如果一颗二叉搜索树的倾斜的,那么它的效率和顺序查找无二区别。只有左右平衡的二叉搜索树才能达到O(log⁡n)O(\log n)O(logn)的查找效率。二叉搜索树...

2019-05-01 03:03:09 1028

原创 数据结构 二叉搜索树的删除

文章目录概述待删除的结点没有子树待删除的结点仅有一颗子树待删除的结点有两颗子树C代码实现概述这是一篇短文,专门考究一下二叉搜索树的删除。二叉搜索树的建立非常简单,如果不熟悉的见此文 树与二叉树。而删除则有数种情况:待删除的结点没有子树。待删除的结点仅有一颗子树。待删除的结点有两颗子树。下面逐一分析。待删除的结点没有子树如需删除下图中结点9:这是最简单的一种情况,它没有子...

2019-04-30 17:44:10 4240 2

原创 数据结构 树与二叉树

文章目录概述术语树(Tree)的定义二叉树(Binary Tree)特殊形态完全二叉树(Complete Binary Tree)的性质满二叉树(Full Binary Tree)的性质二叉树的性质二叉树的存储结构顺序存储链式存储C实现二叉树的遍历C实现概述树是非常重要的非线性结构,在该结构中,一个数据元素可以有两个或以上的直接后继元素,树广泛用于描述客观世界中大量存在的层次结构关系。其中,...

2019-04-25 02:50:53 377

原创 数据结构 广义表基础

文章目录概述定义一些例子广义表的特点存储结构概述广义表(Generalized List),又简称作表(Lists),注意与普通列表不同,是复数的List。广义表是线性表的推广,与线性表最大的不同在于,线性表规定其中的元素是原子项,而广义表允许其中的元素自身含有结构。定义广义表是由n(n≥0)n(n \geq 0)n(n≥0)个元素a0,a1,…,an−1a_0, a_1, \dots, ...

2019-04-23 18:11:41 515

原创 数据结构 矩阵基础

文章目录概述特殊矩阵稀疏矩阵概述矩阵是很多工程领域都需要的数学对象,在数据结构中主要讨论的是如何高效的存储矩阵的元(即矩阵中的元素)。比如在矩阵的实际应用中,经常出现很多高阶矩阵存在很多相同元素或是0,为了节省空间就可以对其进行压缩,即多元素共享一个存储单元、不对0分配存储单元等。假如值相同的元素或者零元素在矩阵中分布有一定规律,则称此类矩阵为特殊矩阵;反之则成为稀疏矩阵。下面分别看一下它...

2019-04-23 16:34:04 732

原创 数据结构 串(字符串)与KMP

文章目录概述、定义抽象数据类型(ADT, Abstract Data Type)模式匹配KMP算法MP算法KMP算法对MP算法的改进C 实现概述、定义串(字符串,String)是由零个或多个字符组成的序列,也是一种特殊线性表,一般记为S=′a1a2…an′(n≥0)S = 'a_1 a_2 \dots a_n' (n \geq 0)S=′a1​a2​…...

2019-04-22 23:26:23 368

原创 数据结构 栈与队列

文章目录概述栈(Stack)定义基本运算存储结构C实现队列(Queue)定义基本运算存储结构C实现概述栈和队列都是非常常用的结构,它们与线性表逻辑相同,但特点在于运算存在限制。队列按照 先进先出(FIFO, First In First Out) 的原则,即最先放入队列的元素最先退出;栈按照 后进先出(LIFO, Last In First Out) 的原则,即最后放入队列的元素最先退出;...

2019-04-21 21:19:31 405

原创 数据结构 线性表

文章目录概述定义线性表的顺序存储线性表的链式存储C语言实现顺序存储链式存储概述线性表是最常用、最简单的数据结构,其主要的特点就是元素间呈现线性关系,即“一个接一个的排列”。一般采用顺序或链式存储。定义一个线性表是n(n≥0)n(n \geq 0)n(n≥0)个元素的有限序列,通常表示为a1,a2,…,ana_1, a_2, \dots, a_na1​,a2​,…,an​,其定义如下:存...

2019-04-20 20:17:54 749

原创 编译原理_词法分析基础

文章目录概述正规表达式(RE, Regular Expression)一些例子有限自动机(Finite Automata)确定有限自动机(DFA, Deterministic Finite Automata)状态转换图、状态转换矩阵一些例子不确定有限自动机(NFA, Nondeterministic Finite Automata)NFA转换为DFA一个例子确定有限自动机(DFA)的化简一个例子正...

2019-04-19 03:37:14 1126

原创 编译原理_文法基础

文章目录概述形式描述文法与语言的形式定义文法的分类句子和语言的产生推导与直接推导归约与直接规约句型、句子语言文法应用的一些例子概述1956年,语言学家Chomsky提出了形式语言理论,极大的促进了程序语言的发展,也促进了编译理论的发展。编译原理的主要内容就是应用形式语言理论,它贯穿于词法分析和语法分析两个阶段。为了更系统的理解编译过程中的分析阶段,我们需要掌握一定的语言理论,而描述一个语言的...

2019-04-15 00:41:44 1348

原创 编译原理_编译过程概述

文章目录概述词法分析语法分析语义分析中间代码生成代码优化目标代码生成符号表管理(表格管理)出错处理概述编译程序即是将高级语言书写的源程序翻译成与之等价的目标程序(汇编语言或机器语言)。其工作可分为六个阶段,见下图:对于编译的各个阶段,逻辑上可以划分为前端和后端两部分。前端包括词法分析到中间代码生成中各个阶段的工作,后端则是优化及目标代码生成的阶段。以中间代码为分水岭的原因是把编译过程分解...

2019-04-11 01:26:12 4496

NCRE二级公共基础知识

自己整理出来的二级公共基础考试,方便突击复习使用。不过实话说,NCRE2级里面很少触及这些内容太多。

2019-04-22

空空如也

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

TA关注的人

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