- 博客(1256)
- 资源 (8)
- 收藏
- 关注
原创 Android AOSP 15 源码Ubuntu编译
摘要:本文介绍了在Ubuntu系统上搭建AOSP 15编译环境的完整流程。主要包括安装必要的编译工具链和依赖库(如gcc、git、python等),配置Git LFS支持,创建编译目录并初始化repo工具。接着通过repo命令下载Android 15.0.0_r1分支源码,设置编译环境变量后,选择x86_64架构目标进行编译。整个流程涵盖了从环境准备到最终编译的完整步骤,为开发者构建自定义Android系统提供了详细指导。
2025-12-11 07:36:56
153
原创 macOS26.2编译Chromium源码iOS平台
摘要:本文记录了iOS平台源码同步及编译过程。首先通过修改.gclient文件实现iOS源码同步,使用gclientsync命令完成同步。随后生成iOS模拟器编译配置,通过gn命令设置目标平台参数。最后使用ninja工具完成编译,成功构建iOS模拟器版本。整个流程包括源码同步、配置生成和编译三个主要步骤。
2025-12-10 11:47:30
177
原创 Ubuntu 25.10 编译Chromium Apk
摘要:本文介绍了Chromium Android版的编译配置过程。通过GN工具在out/Android目录下创建args.gn文件,设置目标系统为Android、CPU架构为arm64,并配置为Release版本。编译时先同步依赖,再生成构建文件并完成编译。最后将生成的APK安装到手机,成功启动Chrome浏览器并验证版本信息。整个过程展示了从源码配置到实际运行的完整流程。
2025-12-09 10:45:40
181
原创 Arduino UNO R3 使用L298N模块控制双路电机
本文介绍了使用Arduino UNO、L298N电机驱动模块和摇杆控制双直流电机的系统设计方案。硬件连接方面详细说明了各模块间的接线方式,包括电源、电机和摇杆的引脚连接。软件部分提供了完整的控制程序(UNO_L298N_JOYSTICK.ino),实现了通过摇杆控制电机前进、后退、左右转向及停止的功能。程序包含摇杆数据处理、电机控制逻辑、差速转向计算等核心功能,并设置了死区防止微小漂移。系统支持最大速度限制(建议不超过200)和紧急停止功能,确保操作安全可靠。调试信息可通过串口监视器查看,便于系统测试和维护
2025-12-08 21:24:53
356
原创 Ubuntu 25.10编译Chromium源码
本文介绍了Chromium源码编译前的准备工作。首先通过脚本更新系统并安装必要的开发工具,包括git、编译工具链和各类依赖库。然后创建工作目录,下载depot_tools工具链,配置环境变量。在获取源码过程中可能遇到网络问题,需设置代理解决。完成源码同步后执行gclient runhooks生成编译配置,最后使用GN工具配置参数并开始编译。整个过程涉及系统环境准备、工具链配置、源码获取和编译等多个步骤,成功编译后即可获得Chromium浏览器。
2025-12-08 15:46:48
486
2
原创 window编译chromium源码
本文介绍了在Windows环境下配置代理获取Chromium源码的完整流程。首先创建chromium目录并克隆depot_tools时遇到连接问题,通过设置git和PowerShell代理(HTTP/HTTPS或SOCKS5)解决。成功克隆后,配置环境变量并设置git属性,使用fetch命令下载约60GB的Chromium源码。同步过程中如遇网络问题可通过gclient命令恢复。最后安装VS2022,配置编译环境,使用autoninja命令进行构建(耗时约15小时),成功生成Chrome浏览器。整个过程涉及
2025-12-07 04:03:05
318
原创 Python批量下载并显示统计进度
这是一个Python多线程下载监控脚本,主要功能包括: 实现多线程下载APK文件,支持50个下载任务和8个并发线程 提供实时监控界面,显示: 总体进度条和完成百分比 成功/失败任务统计 每个线程的状态、当前任务、进度、下载速度和下载量 采用线程安全的数据结构管理下载状态 支持流式下载和进度更新(每0.1秒更新一次) 包含下载统计功能:总用时、平均速度、吞吐量等 脚本使用requests库进行下载,threading实现多线程,Queue管理任务队列,并通过dataclass存储线程状态。监控界面采用终端表格
2025-12-04 15:47:36
117
原创 使用Python脚本扫描网站子域名及漏洞
这是一个Python实现的域名漏洞扫描工具,主要功能包括: 子域名枚举:通过常见子域名列表(如www、mail、ftp等)进行枚举探测 端口扫描:检测21个常见服务端口(如22/SSH、80/HTTP、443/HTTPS等) 漏洞检测: SSL/TLS配置检查(证书过期等) Web安全头缺失检测(XSS保护、HSTS等) 多线程支持:默认50线程并发执行 报告生成:自动生成包含子域名、开放端口和漏洞的扫描报告 使用方式:python scanner.py 域名 [-t 线程数] 扫描完成后会输出摘要信息,包
2025-12-02 09:28:54
223
原创 ubuntu终端一键创建git仓库分支并同步远程与本地
该摘要描述了一组Git分支管理脚本,主要用于同步本地和远程分支操作。主要脚本包括:sync_local_to_remote.sh(设置上游分支)、merge_branch.sh(合并分支)、show_wkfly_branch.sh(显示分支)和del_wkfly_branch.sh(删除分支)等。这些脚本实现了分支创建、合并、显示和删除等常见Git操作,通过参数化设计支持特定分支(如WKFly_Consumption)的处理,并包含本地与远程分支的同步功能。
2025-10-31 10:14:18
90
原创 MacOS平台Keil代替方案
本文介绍了嵌入式开发环境的安装配置过程:首先通过Homebrew安装SDCC编译器并验证;然后从ARM官网下载安装ARM-GNU工具链(14.2版本);最后使用Homebrew安装OpenOCD调试工具并验证。三个步骤完成了开发工具链的搭建,为嵌入式开发做好准备。
2025-10-26 12:19:59
507
原创 普中C51开发板TFT1.8-ST3375S显示中文
本文介绍了中文点阵字库的生成与显示流程:1)通过点阵字库工具选择字体大小并横向取模输入文字;2)将生成的点阵数据添加到Keil4工程的FONT.H文件中进行编译;3)将生成的hex文件烧录至芯片Flash,最终实现汉字显示功能。该过程涉及字模提取、工程编译和固件烧录三个关键步骤。
2025-10-26 11:35:39
268
原创 树莓派Pico 2W micropython开发环境搭建
本文介绍了如何给Raspberry Pi Pico 2W刷入MicroPython固件并实现LED闪烁。步骤包括:1)下载MicroPython固件;2)按住BOOTSEL按钮连接电脑;3)将UF2文件拖入RP2350盘符;4)断开后重新连接,使用Thonny IDE选择Pico设备;5)编写并运行LED控制代码。最终实现板载LED以0.5秒间隔闪烁的效果。该教程适用于MicroPython初学者,展示了基本的硬件控制和编程方法。
2025-10-22 23:01:36
324
原创 Android平台硬件解码设备检测
摘要:该代码实现了H.265视频解码能力的检测功能。通过MediaCodecList查询设备支持的所有编解码器,筛选出HEVC(h.265)解码器后,进一步分析解码器类型(高通VPU、厂商专用VPU、CPU软解等),检测是否支持硬件加速,并评估解码性能(最高支持分辨率、8K/4K能力等)。该检测方法可准确识别设备对H.265视频的硬件解码支持情况。
2025-10-17 15:31:39
245
原创 Apple M3 MacOS arm64 编译QGroundControl5.0.8(base on Qt 6.8.3)
本文摘要主要介绍了针对GStreamer在iOS平台上的CMake配置修改。修改内容包括:1) 将GStreamer版本升级至1.26.5;2) 禁用自动下载pkg,改为手动下载解压;3) 调整iOS平台框架路径配置。同时修改了相关CMake文件,包括FindGStreamer.cmake、CMakeLists.txt和Qt6LinguistToolsMacros.cmake,以确保GStreamer在iOS平台上能正确编译和链接。这些修改主要解决了iOS平台下GStreamer框架的部署问题。
2025-10-09 15:59:15
455
原创 MacOS arm64 编译GStreamer iOS平台库
该配置文件定义了在MacOS(Darwin)系统上交叉编译iOS应用的环境设置,针对arm64架构(iPhone设备)。配置了iOS 26.0 SDK路径、编译器参数(包括arm64架构标志和iOS SDK路径),并指定了Xcode工具链中的clang/clang++作为编译器。关键设置包括:禁用模拟器、指定arm64架构、设置iOS SDK路径,以及定义各种编译链接参数。最后通过meson setup命令使用该配置文件进行交叉编译环境初始化。
2025-09-29 16:59:45
463
原创 windows第三方包管理scoop安装
摘要:在PowerShell中执行两条命令可安装Scoop包管理器:首先设置执行策略Set-ExecutionPolicy RemoteSigned -Scope CurrentUser,然后运行安装脚本irm get.scoop.sh | iex。成功执行后将完成Scoop的安装。(92字)
2025-09-27 15:34:22
243
原创 开源电路仿真工具CircuitJS1 Desktop Mod下载及使用
CircuitJS1电路模拟器1.3.2版本发布,提供多平台安装包下载。项目开源地址为GitHub仓库,包含Windows 32/64位、Linux 32/64位以及macOS ARM64/x64版本安装程序。用户可根据系统需求选择对应版本下载使用。
2025-09-24 14:34:16
480
原创 编译器错误消息: CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\解决
编译错误CS0016提示无法写入临时文件,原因是ASP.NET对C:/windows/temp文件夹没有写入权限。解决方法:右键该文件夹→属性→安全→添加用户组Users→授予写入权限。此操作需管理员权限,修改后需重启IIS或应用程序池使更改生效。
2025-09-23 21:02:59
274
原创 QGroundControl工程Android平台一键编译安装并启动
该文档展示了一系列用于构建、部署和调试Android应用WKFurious的Shell脚本。主要包含停止/卸载应用(stop_apk.sh, uninstall_wkfly.sh)、查找主类(find_qgc_main.sh)、启动应用(start_apk.sh)、构建应用(build_wkfly.sh)、部署Qt组件(deployqt_wkfly.sh)、安装应用(install_wkfly.sh)等脚本,以及一个整合所有步骤的一键运行脚本(onekey_run.sh)。其中build_wkfly.sh详
2025-09-17 10:44:16
89
原创 ubuntu编译qtpdfium模块供QGroundControl工程用
这篇文章包含两个Android编译脚本:1) qtpdfium项目的构建脚本,使用Qt 5.15.2和NDK 25进行编译安装;2) WKFly项目的构建脚本,使用Qt 5.15.2和NDK 21进行编译。两个脚本都针对arm64-v8a架构,启用了调试模式,并采用多线程编译。qtpdfium脚本先克隆仓库后编译安装,而WKFly脚本先清理旧构建目录再重新编译。
2025-09-16 11:55:56
125
原创 macos arm编译FFmpeg最新版本Android平台so库并启用x264和x265支持
本文介绍了一个用于Android平台的FFmpeg自动编译脚本,支持arm64-v8a和armeabi-v7a两种架构。脚本配置了NDK工具链,设置了交叉编译参数,并针对不同CPU架构进行了优化。编译过程启用了H.264/H.265编解码器、AAC/MP3/VP8/VP9/AV1解码器等多媒体功能支持,最终生成统一的头文件目录和分架构的库文件。编译完成后会验证关键编解码器是否可用,并输出完整的目录结构和已启用的编解码器列表。该脚本实现了自动化编译流程,适用于Android多媒体开发场景。
2025-09-11 15:38:29
300
原创 macos arm自动编译x264和x265 Android平台so库
该脚本是一个自动化编译工具,用于在macOS ARM平台上交叉编译x264和x265视频编码库的Android版本。主要功能包括:环境检查(NDK、工具链、源码路径验证)、支持armeabi-v7a和arm64-v8a两种架构、使用CMake和Make进行编译、彩色日志输出显示进度。脚本会先检查编译环境,然后依次为每个目标架构执行编译安装,最终生成库文件到指定目录。编译过程包含详细的错误处理和状态提示,支持自动设置NDK路径,并统计总耗时。输出结果包含x264和x265库的安装路径。
2025-09-11 14:30:13
205
原创 MacOS 15.6 编译SDL3 Android平台多架构so库
该脚本是一个用于在Android平台上编译SDL3库的自动化工具。它支持多种ABI架构(arm64-v8a, armeabi-v7a, x86_64, x86),通过CMake和Ninja构建系统进行跨平台编译。脚本首先设置环境变量和路径,然后清理旧构建目录并创建新的构建目录。对于每个ABI架构,脚本配置相应的CMake参数,包括NDK工具链、平台版本和SDL功能选项。最后调用Ninja进行并行编译。该脚本针对macOS系统进行了路径优化,但注释显示也可通过修改路径适用于其他操作系统。
2025-09-05 09:25:08
165
原创 qt5.15.2增加Android15发布支持
摘要:解决Qt Android部署问题的步骤:1)重新编译androiddeployqt源码,替换Qt安装目录下的原文件;2)升级Gradle至8.4,插件版本至8.2.2;3)手动下载Gradle-8.4-bin.zip并放置指定目录;4)重新编译工程后问题解决。该方案通过更新关键组件版本解决了Qt Android部署的兼容性问题。
2025-09-04 09:03:52
161
原创 SDL3安卓平台Demo编译
本文摘要:项目配置要点包括将SDL文件夹复制到jni目录并仅保留arm64平台支持,升级Gradle插件至8.12.2版本和Gradle至8.13版本,同时将最小运行时API级别调整为28。完成配置后,连接移动设备即可进行编译和运行操作。这些修改确保了项目在指定环境下的兼容性和构建效率。
2025-09-03 12:56:43
306
原创 macos自动安装emsdk4.0.13脚本
这篇文章摘要介绍了Emscripten SDK(emsdk)的相关脚本和配置信息。主要内容包括: emsdk脚本:用于管理Emscripten工具链的shell脚本,支持安装、更新和激活不同版本的SDK工具; emsdk_manifest.json:包含预编译工具和SDK的配置信息,如LLVM、Node.js、Python等工具的下载链接; 自动下载脚本:down_masm.sh用于下载特定版本的wasm二进制文件; 完整安装脚本:emsdk_setup_4.0.13.sh自动化完成emsdk的克隆、依赖下
2025-08-31 22:23:25
314
原创 macos调用chrome后台下载wasm-binaries.tar.xz
该脚本用于下载和移动WASM二进制文件。首先检查Downloads目录是否存在目标文件wasm-binaries.tar.xz,若存在则直接移动到指定目录并重命名;若不存在则通过Chrome浏览器下载,下载完成后同样执行移动和重命名操作。脚本会自动创建带版本号(TAG)的新文件名,并显示详细的下载和移动过程。主要操作包括:文件检查、下载处理、路径切换和文件移动。适用于macOS系统环境下的WASM二进制文件管理。
2025-08-31 16:40:16
212
原创 c++ std::forward使用示例-转发可变参数并输出类型
本文演示了C++中std::forward的使用方法,通过可变参数模板函数log()展示参数转发过程。代码能够输出每个参数的值、数据类型以及剩余参数数量,包括字符串、整数、浮点数等不同类型。关键点在于使用std::forward保持参数原有类型特性,并通过abi::__cxa_demangle函数获取可读的类型名称。该示例清晰地展现了可变参数模板的参数处理机制和完美转发的实现方式。
2025-08-29 13:51:09
99
原创 ubuntu单机实现10000个连接同时在线测试
本文介绍了一个高性能TCP服务器的实现方案。服务器采用epoll边缘触发模式,支持5000个并发连接,包含连接池管理、非阻塞IO和空闲连接清理功能。实现包含三个部分:1) 客户端模拟器c_5k.sh批量创建5000个连接;2) 监控脚本detail.sh实时统计连接数、文件描述符和内存使用;3) 基于C++的服务器核心,使用epoll事件驱动模型,支持连接复用和自动清理空闲连接。服务器默认监听8080端口,通过连接池管理10000个连接槽位,每60秒清理一次空闲连接。编译使用g++ server.cpp -
2025-08-29 10:16:49
91
原创 Linux内核及Busybox编译
摘要:通过执行build_linux_core.sh脚本成功下载并编译Linux内核5.15.12,生成bzImage文件。随后执行build_busybox脚本完成BusyBox 1.37.0的下载和编译,输出显示大量工具链接到busybox主程序,系统提示可能需要设置setuid权限以确保所有功能正常工作。两个编译过程均使用多线程加速(分别使用-j12和-j10参数),并处理了特定编译警告(如use-after-free)。
2025-08-28 08:28:39
652
原创 Linux系统使用ADB同时连接多个Android设备
ADB连接测试成功,分别连接了两个设备:192.168.169.26(端口5555)和192.168.169.65(端口6666)。通过"adb devices"命令可查看已连接的设备列表。摘要说明了ADB工具成功建立了与两台设备的网络连接,验证了连接状态可正常查询。
2025-08-27 09:56:00
332
原创 ubuntu25.04编译最新版本qgroundcontrol
这篇文章介绍了编译GStreamer和QGroundControl的完整过程。首先需要安装Python虚拟环境和相关工具(meson、ninja等),然后克隆GStreamer源码进行静态库编译安装。接着需要下载QtCreator17开发环境,克隆QGroundControl源码并打开工程进行编译运行。整个过程涉及多个依赖项的安装和配置,包括创建Python虚拟环境、安装构建工具、设置环境变量等关键步骤。
2025-08-27 08:25:35
442
原创 ubuntu 20.04安装和编译gstreamer-1.0
本文提供了GStreamer多媒体框架的安装和编译脚本。安装部分包括通过apt安装GStreamer核心工具、开发库和各种插件包(base/good/bad/ugly等),以及验证命令。编译部分设置Python环境别名,安装构建工具ninja-build和meson,配置路径后克隆GStreamer源码仓库,使用meson进行静态库构建和安装。这些命令为在Linux系统上搭建GStreamer开发环境提供了完整指南。
2025-08-25 14:29:20
203
原创 ubuntu使用fstab挂载USB设备(移动硬盘)
本文介绍了磁盘挂载的两种方法:通过修改/etc/fstab文件实现自动挂载,以及使用脚本手动挂载和卸载。fstab配置了三个不同文件系统(NTFS、HFS+、EXT4)的分区挂载参数。手动挂载脚本mount_all_disk.sh会先检查并创建挂载目录,然后执行挂载操作;反挂载脚本umount_all_disk.sh则用于卸载这些分区。两种方法最后都通过ls命令验证挂载/卸载结果。
2025-08-22 22:11:03
114
原创 macos使用FFmpeg与SDL解码并播放H.265视频
摘要:这是一个H.265视频解码器的实现方案,包含环境配置、CMake工程设置和核心解码逻辑。通过FFmpeg和SDL2库实现视频解码与播放功能,支持解析H.265的NAL单元类型和切片类型。主要步骤包括:1)安装FFmpeg、SDL2和x265依赖;2)配置CMake工程链接相关库;3)实现解码流程,包括打开视频流、查找解码器、帧解码和渲染;4)通过SDL2创建播放窗口,实时显示解码后的视频帧。代码还包含Exp-Golomb编码解析和帧类型识别功能,支持I/P/B帧处理。
2025-08-21 20:17:58
3368
原创 视频流AVPacket指针队列处理
摘要:该代码实现了一个基于链表的视频数据包队列(MyVideoQueue),用于管理AVPacket。队列支持入队(EnQueue)、出队(DeQueue)、判空(Empty)、获取大小(Size)和显示队列内容(Show)等操作。入队时会深拷贝AVPacket对象,出队时同样返回深拷贝的数据包并释放原对象。使用时通过EnQueue添加数据包,DeQueue取出数据包进行解码处理。队列内部使用QueueData结构存储AVPacket指针和下一节点指针,通过front和end指针维护队列首尾。
2025-08-18 09:28:59
88
原创 ubuntu 20.04 搭建多用户远程桌面共享及同时在线使用
摘要:本文介绍了在物理机上配置远程桌面访问的完整流程。通过setup_xrdp.sh脚本自动安装xrdp服务,修改配置文件并开放3389端口。同时提供了用户管理脚本:add_rdp_users.sh用于创建带sudo权限的远程用户,del_rdp_users.sh用于删除用户及主目录。还包含批量操作脚本add_rdp_all.sh和del_rdp_all.sh,支持一次性创建/删除多个用户(如dev1-dev5),所有用户密码统一设置为111111。完整方案实现了远程桌面环境的快速部署和用户集中管理。
2025-08-15 14:31:17
370
原创 H265裸流解码及内存指针队列使用示例
本文包含两个独立的代码实现:1) HEVC裸流解码程序,使用FFmpeg库实现H.265视频解码功能,包括打开输入文件、查找视频流、初始化解码器、处理帧数据并转换为RGB格式等完整流程;2) 基于指针实现的泛型队列模板类PointerQueue,提供入队、出队、容量检查等标准队列操作,支持最大容量限制和异常处理,包含拷贝控制成员和调试功能。两段代码均配有相应的CMake构建文件,分别依赖FFmpeg库和C++20标准。
2025-08-13 03:18:55
84
原创 H.265视频结构分析
本文摘要:H.265/HEVC视频编码中的NAL单元(nalu)解析,包括头结构(2字节)、类型划分(Type=(nalu_header&0x7E)>>1)和关键单元类型对应关系。详细说明了VPS(0x40)、SPS(0x42)、PPS(0x44)、IDR(0x26)、SEI(0x4E)等NAL单元类型的十六进制编码与十进制值转换,以及帧类型(I/P/B)的切片类型标识。同时描述了视频流的典型结构顺序(vps-sps-pps-sei-i-p-b)和NAL单元组成(start_code+n
2025-08-12 08:54:19
62
原创 Linux Shell为文件添加BOM并自动转换为unix格式
摘要:本文介绍了两个处理文件格式的实用技巧:1)使用vim命令添加BOM头并验证文件编码,通过hexdump查看文件头信息;2)安装dos2unix工具将Windows格式文件转换为Unix格式。这些方法适用于处理不同操作系统间的文件格式兼容性问题,特别是对Gradle构建脚本等文件的格式转换。
2025-08-07 20:25:17
169
opencv-opencl/arm64-v8a/armeabi-v7a/x86-64/x86
2023-07-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅