Kingtous' Blog

Keep Hungry, Keep Foolish.

面向对象设计模式分类与6大设计原则

单一职责...

设计模式的分类 参考:菜鸟教程:设计模式 创建型 单例模式 工厂方法模式 需要时new一个 抽象工厂模式 建造者模式 对外隐藏类的构造方法,通过Builder类提供的方法进行构造 ...

Github Action的使用

Qt、CMake Project

此处记录使用Github Action编译Qt C++、CMake项目。 基本用法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 name: 任务名称 on : [触发event1、触发event2...] # event下还有很多配置参数如`paths-ignore`可以忽略相关文件如README jobs: #job名称 build: name: 任务...

从给Android APP集成FFMPEG谈JNI的使用

Android JNI Usage

编译FFMPEG为.so动态链接库 见上期 给Android项目添加CMake支持 在build.gradle的 defaultconfig下添加 1 2 3 4 externalNativeBuild { abiFilters "arm64-v8a" } } ...

安卓下编译及修剪FFMPEG插件

按照特定需求修剪

Android下编译及修剪FFMPEG插件 FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec。 FFmpeg是在 Linux 下开发出来的,但它可以在包括 Windows 在内的大多数操作系统中编译。这个项目是由 Fabrice Bellard 发起的,现在由 Michael Niedermay...

安卓Binder机制

跨进程通信

文章写的挺好: Binder机制

解决Flutter下iOS deployment target的问题

minimum deploy target error.

Xcode 12.1,iOS 14.1 1. build时出现target error的问题 plugin xxx target is 11.0, but minimum target is 9.0… 不知道是Flutter没考虑到,还是说插件本身可能强制使用了某些target 解决办法:在Podfile尾部加入: 1 2 3 4 5 6 7 8 9 10 11 &...

制作一个简单的Magisk模块

magisk面具

Magisk 20.3+模块模板地址:Pinkdoge/magisk-module-template 制作一个简单的Magisk模块 目录结构 一个完整的模板例子架构如下: 其中: META-INF中包含刷机脚本 其中默认含有通用代码,可以按照自己的需求定制(不过大部分都在这边增加ui_print在刷入时显示作者信息) ...

Android编译心得

Android

最近闲下来了一会,除了休息了一会,另外还学习了下如何编译一个完整的AOSP(Android 10)项目,并添加人脸解锁功能~耗时一周,网上几乎没啥资料,自己摸索后总结一下呜呜呜… 以Mokee (MK100)为例,Dipper(小米8)为开发机进行说明 下载源代码 1.下载repo可执行文件 安卓使用repo工具组织项目,并提供并行fetch、checkout功能。 此处引...

从汇编上理解C中main函数argc argv参数

C++

一直没探究一下argc和argv的原理,这次记录一下 使用macOS 10.15 SDK GCC 64位测试 来一段简单的C++程序 为了尽可能的调用argc、argv,设计下列代码 1 2 3 4 5 6 7 8 9 int main(int argc, char const *argv[]) { int total_params = argc + 1; for (in...

使用LLVM库编译出现错误的一些解决办法

LLVM

1.编译成功,提示Option注册了多次 效果图: 提示Option xxx registerd more than once! LLVM ERROR: inconsistency in registerd CommandLine options 原因分析: 如果使用的是CMake进行查找依赖的话,如llvm_map_components_to_libnames,可能是因...