自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(117)
  • 资源 (11)
  • 收藏
  • 关注

原创 容器基础5-Helm 与 K8s 的关系

K8s 是强大的容器编排平台,但部署复杂应用时(如包含 Web 服务、数据库、缓存等多个组件的系统),需要编写大量 YAML 文件,管理成本高。Helm 就是为简化 K8s 应用部署而生的工具,它被称为 “K8s 的包管理器”,类似 Ubuntu 的apt或 Mac 的brew。

2025-07-02 19:35:05 1152

原创 容器基础4-YAML 文件

在 Kubernetes 中,YAML 文件是定义和部署资源的核心方式,不同的kind字段代表不同类型的资源。以下是常见的 YAML 类型及其作用

2025-07-02 19:04:26 1058

原创 容器基础知识3-kubectl、kubeadm 和 kubelet,kube-proxy

在 Kubernetes(K8s)的世界里,kubectl、kubeadm 和 kubelet 就像三个分工明确的 “管理员”,各自负责不同的关键任务。

2025-07-02 09:07:07 991

原创 容器基础知识2-K8s 和 Docker 的关系与管理逻辑详解

Docker(容器工具):好比「集装箱工厂」,负责把应用和依赖打包成标准化容器(类似集装箱),让应用能在任何环境中运行(一次打包,到处运行)。K8s(Kubernetes,容器编排工具):好比「集装箱码头调度系统」,当有大量集装箱(容器)需要管理时,K8s 负责调度、分配资源、保证容器正常运行,解决单个 Docker 无法处理的「大规模集群管理」问题。

2025-07-01 17:03:38 1289

原创 容器基础概念1-Namespace、Cgroups、UnionFS

NameSpaces:隔离进程,让进程只能访问到本命名空间里的挂载目录、PID、NetWork 等资源Cgroups: 限制进程能使用的计算机系统各项资源的上限,包括 CPU、内存、磁盘、网络带宽等等联合文件系统UnionFS : 保存一个操作系统的所有文件和目录,在它基础之上添加应用运行依赖的文件。创建容器进程的时候给进程指定Mount Namespace 把镜像文件挂载到容器里,用 chroot 把进程的 Root目录切换到挂载的目录里,从而让容器进程各自拥有独立的操作系统目录

2025-07-01 16:00:16 1008

原创 Android检测当前进程或者应用是否被调试

ptrace 是 Linux 提供的一个强大的系统调用,用于进程跟踪和调试。它允许一个进程(跟踪者)观察和控制另一个进程(被跟踪者)的执行

2025-06-24 11:36:36 505

原创 网络中桥接设备br0, tap0, 以及nat是什么意思

首先,桥接设备br0。我记得桥接设备是用来连接不同网络接口的,比如把物理网卡和虚拟网卡连接在一起,让它们好像在同一个网络中。br0应该是一个Linux下的桥接接口,用于连接多个网络接口,使它们处于同一个二层网络中,也就是数据链路层。这样,连接到这个桥的设备可以直接通信,就像连接在同一个交换机上一样。

2025-03-24 12:59:39 1399 6

原创 git lfs操作记录

Git Large File Storage(Git LFS)是一个开源扩展工具,用于管理大型文件(如音频、视频、图像、二进制文件等),这些文件通常不适合直接存储在标准的 Git 仓库中。Git LFS 通过将大文件的指针存储在 Git 仓库中,而将文件的实际内容存储在专用的存储服务器上,从而解决了 Git 仓库因存储大文件而导致的性能问题。

2025-02-25 09:48:59 1224

原创 Android13中Android.mk和Android.bp预编译多种架构文件

需求:1, 当前有多个架构的config文件,但是需要不同架构使用不同config文件2, 必须将config文件拷贝到out/host目录下

2024-09-24 17:17:07 1262

原创 Android Studio报错: Could not find pub.devrel:easypermissions:0.3.0, 改用linux编译

Android Studio报错: Could not find pub.devrel:easypermissions:0.3.0, 改用linux编译

2024-09-12 17:41:43 2396

原创 实战中学习:CMA和DMA_CMA导致安装大游戏失败的问题

在实际遇到的问题中,遇到Android虚机中安装超过1.8G以上的大游戏APK文件时,就会出现安装失败的现象,通过分析,发现在/data/目录下进行大文件拷贝时,就会出现数据不一致,发现时内核打开了CMA和DMA_CMA.

2024-09-11 15:35:21 1010

原创 github中action作用和讲解

GitHub Actions 通过定义在 .github/workflows 目录中的 YAML 文件来配置。这些工作流可以触发于各种事件,如推送、拉取请求、定时任务等。你可以使用 GitHub 提供的预设操作(actions),也可以创建自己的自定义操作

2024-09-04 10:29:19 3431 2

原创 Android ROM和Linux内核源码在线阅读网站

推荐几个Android 系统和linux内核在线源码阅读的网站

2024-09-02 14:50:53 1159

原创 编译Android9报错,原来是python版本问题

编译代码的时候,代码没有变动,都正常编译,今天编译突然报错,以为是代码仓库切的分支不对,后面才记起来,为了编译第三方库,将python从2.7换成了3.6,结果就出现这个问题,原来android9必须要求python2

2024-08-29 15:59:38 357

原创 Android settings命令讲解和实战

在Android系统中,settings命令用于管理设备设置。这些命令可以与`Settings`提供者(`Settings provider`)交互,后者是一个用于存储和检索系统设置的系统服务。Settings provider在Android系统中可以被看作是一个特殊的数据库,它用于存储和检索系统设置。这个数据库是为系统和应用程序提供的键值对存储服务,用于保存用户的偏好设置、系统配置和其他各种参数。Settings provider 的设计允许它高效地处理大量的设置项,并且能够确保设置的一致性和安全性。此

2024-08-26 10:31:44 1808

原创 C++代码利用zlib检测Android apk应用加固类型

基本原理: 通过读取apk文件(实际就是zip)中的特征文件,来判断应用是否加固。

2024-08-20 17:49:18 1172

原创 Linux加载动态库路径的先后顺序

在Linux系统中,动态链接器(ld.so)用于加载动态库。当一个程序需要加载一个动态库时,链接器会按照一定的顺序搜索库文件。以下是你提到的几个加载路径配置的优先级

2024-08-15 21:04:06 945 1

原创 应用兼容性-娜迦加固应用启动卡在首屏

针对云手机常见加固应用导致异常的问题进行分析和总结

2024-08-15 14:12:25 1508

原创 应用兼容性问题-abi动态库错误分析和解决

分析和解决云手机上常见的应用兼容性问题

2024-08-14 14:21:24 1210

原创 鲲鹏920服务器Ubuntu18.04 ARM制作离线软件源

最理想是用两台机器继续验证,一台可以联网,一台无法联网,不过我只有一台机器,所以使用docker来验证。联网的机器下载deb包和制

2024-07-26 19:58:13 1050

原创 Centos7 编写开机监测gdm服务退出的脚本

编写一个脚本,如何通过systemctl status gdm来判断gdm服务已经停止,如果停止后,需要systemctl start gdm启动gdm服务,以下是一个简单的脚本示例,它会检查gdm服务的状态,如果服务已经停止,它会启动gdm服务。

2024-04-25 18:08:56 684

原创 CentOS上如何自定义开机启动服务

在CentOS7之后自定义开机启动服务,可以通过创建一个systemd服务单元文件来实现。以下是创建自定义服务并设置其开机启动的步骤

2024-04-25 16:50:30 737

原创 OpenEuler/Centos制作离线软件源

一般线上服务器都是不能连接外网,服务器安装好系统之后就需要部署相关软件,此时因为无法联网导致无法下载软件,所以都会做一个本地的离线软件源,本文简单介绍如何快速利用已经下载好的rpm包,制作一个软件源。

2024-04-01 20:33:27 1334

原创 Android13 编译ninja failed with: exit status 137

Android13 编译ninja failed with: exit status 137

2024-02-21 20:38:50 4730

原创 Ubuntu 20.04 Server配置网络

ubuntu 20.04 server 配置网络

2023-09-01 13:34:13 2793

原创 Ubuntu 软件依赖出错处理

Ubuntu 安装软件时,出现依赖包出错问题, 可以通过一定方法解决

2023-08-15 17:44:16 1645

原创 DKMS的使用详解

在 DKMS 中,每个内核模块都被视为一个源代码包,并通过一个称为 dkms.conf 的配置文件进行管理。该配置文件指定了源代码的位置、编译和安装模块所需的命令,以及其他必要的信息。当内核更新时,DKMS 会自动重建和安装内核模块,以确保它们与新内核版本兼容。

2023-07-05 14:31:11 17752 1

原创 ARM Ubuntu内核更新记录

sudo apt build-dep linux #需要第一步。拷贝/boot/config-xxx ,到当前内核源码中。

2023-06-30 11:36:09 1987

原创 Android系统10 RK3399 init进程启动(四十九) init第二阶段分析

selinux初始化: 第一阶段的selinux初始化,完成策略二进制文件的加载,并设置默认selinux模式。之前的课程已经详细讲解过,此处就不过多讲解,可以参考第五章节:SeAndroid权限控制。第二阶段: 重点完成属性初始化,启动rc脚本的解析和执行,建立epoll机制监控各种事项。

2023-03-01 22:22:48 1104 2

原创 Android系统10 RK3399 init进程启动(四十八) init第一阶段分析

第一阶段整理框架: 执行在boot.img(ramdisk)中,主要创建必须的文件夹,挂载虚拟文件系统,挂载system,vendor分区。

2023-03-01 22:12:07 1207

原创 Android系统10 RK3399 init进程启动(四十七) Android init 进程整体代码逻辑简述

1, 第一阶段: 执行在 ramdisk 中, 主要创建必须的文件夹, 挂载虚拟文件系统, 挂载 system,vendor 分区。2, selinux 初始化: 第一阶段的 selinux 初始化, 完成策略二进制文件的加载, 并设置默认 selinux 模式。3, 第二阶段: 重点完成属性初始化, 启动 rc 脚本的解析和执行, 建立 epoll 机制监控各种事项。、

2023-02-28 22:58:40 644

原创 Android系统10 RK3399 init进程启动(四十六) init.rc实战之控制自定义开机脚本的启动

默认自定义的脚本,可以在rc文件中指定class core, 或者class main,来让系统开机就自动执行,当然也可以根据自己的需求,让脚本或者可执行程序服务在指定的时候进行启动。

2022-12-11 21:59:57 1788 2

原创 Android系统10 RK3399 init进程启动(四十五) 实战Init.rc脚本中之日志永久化保存

init.rc除了可以做开机启动的事情,还可以做行为控制,主要是可以通过action中的属性作为触发事件,这个功能非常有用,可以让我们做一些异步事件的逻辑控制。

2022-12-11 21:45:10 1916

原创 Android系统10 RK3399 init进程启动(四十四) 实战Android开机自启动脚本

init.rc中的命令实际是有限的, 如果需要执行常见shell的脚本, init.rc是没法满足需求的, 所以在实际开发中经常需要开机启动shell脚本的事情。上个章节介绍了如何开机启动可执行程序(代码类),本章节重点介绍如何开机启动一个shell脚本

2022-12-11 21:27:55 2031 1

原创 Android系统10 RK3399 init进程启动(四十三) ROM定制开机自启动服务(C++程序)

Android init启动的rc脚本中包含了很多后台服务(service),这些服务负责不同功能, 比如netd负责网络管理, rild负责无线通信, installd负责app的安装等。在实际的系统ROM定制开发中, 我们需要定制化自己服务,本章节重点介绍如何编写一个Native服务,并完成开机自启动。

2022-10-30 23:07:42 1986 4

原创 Android系统10 RK3399 init进程启动(四十二) init.rc文件解析逻辑

Android init启动的时候会解析init.rc, 当然还有很多其他rc文件, 在init进程代码中有对应的解析器, 本章节重点介绍init.rc中所有的内容是如何被解析的,理解这个解析逻辑, 有利于你对rc文件中action和service实际的执行逻辑,方便后期根据需求做一些深度定制化。

2022-10-16 22:14:21 1315 5

原创 Android系统10 RK3399 init进程启动(四十一) 最新最详细的init.rc语法讲解

Init.rc 中的语法都是Android自定义的, system/core/init/README.md有具体语法说明 ,整个init.rc 其实有以下几个部分组成

2022-10-09 22:53:03 4640 4

原创 Android系统10 RK3399 init进程启动(四十) 开机自启动脚本init.rc执行逻辑框架

这个章节我们开始学习新的知识点, init.rc相关概念, 也就是Android开机自启动的脚本, 这个脚本能启动shell脚本, 也能启动C/C++写的守护进程, 这些脚本都是init祖先进程启动的, 各种系统中都有类似这个东西,比如各种linux系统中有/etc/rc.d/中rc脚本,而Android的脚本是做了定制化的, 我们需要单独来学习它

2022-09-18 13:03:52 2271 6

原创 Android系统10 RK3399 init进程启动(三十九) property属性系统初始化代码分析

除了了解属性的基本概念,还要知道如何利用属性开发和编程, 更要理解属性背后的涉及原理, 也就源码也要去研究一下, 本章节重点介绍属性系统初始化。

2022-09-17 14:44:35 1632

原创 Android系统10 RK3399 init进程启动(三十八) 属性Selinux实战编程

一般在pemissive模式下, 修改属性时, 权限问题不是很突出, 但是一旦在enfocing模式,权限配置就非常重要, 甚至有些时候非常麻烦, 所以希望大家通过这几次实战selinux编程, 对selinux的规则有深刻理解。

2022-09-07 20:59:41 2267 2

Qt Creator快速入门第3版pdf 源码+标签

Qt Creator快速入门(第三版).pdf 源码 qt creator快速入门第3版是基于QtCreator集成开发环境的入门书籍。Qt是一个跨平台应用程序和UI开发框架。使用Qt只须一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。

2018-11-13

安信可ESP32_AT.bin 可以直接烧录ESP32-WROOM-32 固件

乐鑫ESP32-WROOM芯片,安信可模块上使用的at的二进制文件,方便调试

2019-07-12

camera的v4l2测试代码

在android的camera中间件,需要确认驱动,此时可以用测试代码去测试

2013-04-01

Linux 串口和USB转串口操作代码,能用于at指令测试

Linux 串口和USB转串口操作代码,能用于at指令测试, 可以测试ESP32和ESP8266

2019-07-12

ARDC(B1669).rar

安卓投屏助手,可以线投,也可无限投屏

2021-06-10

Termux Android 终端64位版本

兼容x86, ARM, 以及32位和64位, 方便在Android系统中进行终端操作

2021-08-23

WAV格式音频文件,主要是小,方便测试

WAV格式音频文件,主要是小,方便测试, STM32上可以用来测试音频

2019-07-12

Android 搜狗输入法小米版本 64位

兼容32位和64位的搜狗输入法,小米版本, 安装后桌面无图标

2021-08-23

\\192.168.1.233\george_home\fpga\kbuild_test\kbuild_app.tgz

kbuild一般编译内核,当前这个工程用于控制编译应用程序,非常不错的例子

2019-09-06

E:\STM32_Project\ZhengDian\Wifi_Player_v3-能够开机初始化bt进入到server模式并被连接.zip

乐鑫ESP32 WIFI BT 原子STM32F407代码,可以配置wifi,BT, 通过at指令进行操作,只要有串口即可,完整工程

2019-09-03

空空如也

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

TA关注的人

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