HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

悦邻(郑州)招后端研发,看过来看过来!

招聘与外包

悦邻是一家专注于提升生鲜快销流通效率的商业服务公司,我们秉承实效第一、真诚、专注和创新的价值观。我们不仅招募优秀的人才,还愿意提供比市场更高的薪酬,公司提供每年两次的涨薪窗口期,我们重视伙伴的贡献和价值,并致力于为团队成员提供良好的工作环境和发展机会。

薪资福利:10000-15000元/月,年中年底两次发放奖金,平均有3月的薪资,根据个人贡献支付奖金。双休,缴纳六险二金,中午提供豪华午餐(四菜一汤一份水果),晚餐报销,9点30-18点30(中午休息1个半小时)。
岗位职责:
1.本科统招及以上学历,计算机相关专业,2年以上后端开发经验,熟悉Node.js领域常用的开源框架,如Express、NestJS、Koa等
2.熟悉分布式服务和微服务开发框架,熟悉缓存、消息等机制,如Redis、kafka等消息中间件
3.熟练掌握关系型或非关系型数据库,如MySQL,MongoDB,ElasticSearch等,能够熟练编写SQL语句并进行调优
4.优秀的文档编写能力,包括功能描述文档,业务流程图,时序图等
6.具备海量数据、大批量、高并发、高性能分析及处理相关经验者优先
7.具备前端相关工作经验优先,能够使用常见的UI框架进行页面开发,对HTML和CSS有一定了解
8.工作中参与过SaaS软件产品的设计与研发,渴望做产品并且有产品意识
9.对零售,仓储,供应链,直播等业务感兴趣或有相关工作经验者优先

岗位职责
1、分析产品功能需求,理解业务逻辑以及按规范执行开发流程,提高研发效率;
2、严格要求自己养成良好的编程规范,逻辑严谨,注释清晰,提高代码可读性和可维护性;
3、兴趣很重要,要不断的钻研项目中需要用到的开发技术,有良好的学习能力,能够独立负责产品的某个业务线;
4、遵守公司制度和企业文化,提高自身职业素养和业务水平,保质保量的完成各项工作任务;
5、积极参与需求分析、系统设计、软件研发、集成测试、安装部署以及基本的维护工作;
6、对各部门提出的产品的升级和缺陷等迅速反应,提供良好的技术支持服务;
7、按计划完成功能模块的功能设计、代码实现,代码编写和单元测试;

继续阅读 »

悦邻是一家专注于提升生鲜快销流通效率的商业服务公司,我们秉承实效第一、真诚、专注和创新的价值观。我们不仅招募优秀的人才,还愿意提供比市场更高的薪酬,公司提供每年两次的涨薪窗口期,我们重视伙伴的贡献和价值,并致力于为团队成员提供良好的工作环境和发展机会。

薪资福利:10000-15000元/月,年中年底两次发放奖金,平均有3月的薪资,根据个人贡献支付奖金。双休,缴纳六险二金,中午提供豪华午餐(四菜一汤一份水果),晚餐报销,9点30-18点30(中午休息1个半小时)。
岗位职责:
1.本科统招及以上学历,计算机相关专业,2年以上后端开发经验,熟悉Node.js领域常用的开源框架,如Express、NestJS、Koa等
2.熟悉分布式服务和微服务开发框架,熟悉缓存、消息等机制,如Redis、kafka等消息中间件
3.熟练掌握关系型或非关系型数据库,如MySQL,MongoDB,ElasticSearch等,能够熟练编写SQL语句并进行调优
4.优秀的文档编写能力,包括功能描述文档,业务流程图,时序图等
6.具备海量数据、大批量、高并发、高性能分析及处理相关经验者优先
7.具备前端相关工作经验优先,能够使用常见的UI框架进行页面开发,对HTML和CSS有一定了解
8.工作中参与过SaaS软件产品的设计与研发,渴望做产品并且有产品意识
9.对零售,仓储,供应链,直播等业务感兴趣或有相关工作经验者优先

岗位职责
1、分析产品功能需求,理解业务逻辑以及按规范执行开发流程,提高研发效率;
2、严格要求自己养成良好的编程规范,逻辑严谨,注释清晰,提高代码可读性和可维护性;
3、兴趣很重要,要不断的钻研项目中需要用到的开发技术,有良好的学习能力,能够独立负责产品的某个业务线;
4、遵守公司制度和企业文化,提高自身职业素养和业务水平,保质保量的完成各项工作任务;
5、积极参与需求分析、系统设计、软件研发、集成测试、安装部署以及基本的维护工作;
6、对各部门提出的产品的升级和缺陷等迅速反应,提供良好的技术支持服务;
7、按计划完成功能模块的功能设计、代码实现,代码编写和单元测试;

收起阅读 »

App Store开发指南

iOS

'''## 准备提交到 App Store

您的大部分时间都花在了编程任务上,但是要为 App Store 开发应用程序,您还需要在应用程序的整个生命周期中,使用 Xcode 和其他工具来执行一些管理任务。App Store 是一个受监管的商店,限制哪些应用程序可以销售。Apple 这么做是为了尽可能地为用户提供最佳体验。例如,在 App Store 上出售的应用程序不得崩溃或出现其他主要错误。

App Store开发流程

Apple 为您提供了所需的工具,来进行开发和测试,以及将应用程序提交到 App Store。要在设备上运行应用程序,设备需要为开发和稍后的测试做好预备工作。还需要提供应用程序的相关信息,以供 App Store 显示给客户,并且还需要上传屏幕快照。然后将应用程序提交给 Apple 审批。应用程序审批通过后,您设定应用程序在 App Store 上架销售的日期。最后,使用 Apple 的工具来监测应用程序的销售、客户评论和崩溃报告。然后再次重复整个流程,来提交应用程序的更新。

加入 iOS Developer Program

要为 App Store 开发应用程序,首先需要加入 iOS Developer Program。加入该计划之后,您可以访问所需的资源和工具,来管理您的帐户,以及在设备上测试应用程序。

为 App Store 创建项目并进行配置

从模板创建 Xcode 项目时,某些 App Store 配置已经完成。Xcode 会提示您输入产品名称和公司标识符。捆绑包 ID 就来自这两项属性。

为开发预备好设备

开发期间,要在设备上运行应用程序,该设备必须连接到 Mac、已启动开发功能,并经过 Apple 识别。

将应用程序分发到 App Store

将应用程序提交到 App Store 需要很多步骤,还会用到几个工具。首先登录到 iTunes Connect,将应用程序记录的状态更改为“Waiting for Upload”或靠后的状态。然后使用 Member Center 创建分发证书和分发预置描述文件。使用 Xcode 创建归档、验证归档,并将其提交到 App Store。

回应用户问题

不能将应用程序提交到 App Store 后就置之不理。您应该在应用程序的整个生命周期中管理应用程序记录,并维护应用程序。

使用appuploader简化流程

为了简化上述流程,可以使用appuploader工具。appuploader提供了一站式的解决方案,帮助开发者更高效地管理应用程序的提交和更新过程。'''

继续阅读 »

'''## 准备提交到 App Store

您的大部分时间都花在了编程任务上,但是要为 App Store 开发应用程序,您还需要在应用程序的整个生命周期中,使用 Xcode 和其他工具来执行一些管理任务。App Store 是一个受监管的商店,限制哪些应用程序可以销售。Apple 这么做是为了尽可能地为用户提供最佳体验。例如,在 App Store 上出售的应用程序不得崩溃或出现其他主要错误。

App Store开发流程

Apple 为您提供了所需的工具,来进行开发和测试,以及将应用程序提交到 App Store。要在设备上运行应用程序,设备需要为开发和稍后的测试做好预备工作。还需要提供应用程序的相关信息,以供 App Store 显示给客户,并且还需要上传屏幕快照。然后将应用程序提交给 Apple 审批。应用程序审批通过后,您设定应用程序在 App Store 上架销售的日期。最后,使用 Apple 的工具来监测应用程序的销售、客户评论和崩溃报告。然后再次重复整个流程,来提交应用程序的更新。

加入 iOS Developer Program

要为 App Store 开发应用程序,首先需要加入 iOS Developer Program。加入该计划之后,您可以访问所需的资源和工具,来管理您的帐户,以及在设备上测试应用程序。

为 App Store 创建项目并进行配置

从模板创建 Xcode 项目时,某些 App Store 配置已经完成。Xcode 会提示您输入产品名称和公司标识符。捆绑包 ID 就来自这两项属性。

为开发预备好设备

开发期间,要在设备上运行应用程序,该设备必须连接到 Mac、已启动开发功能,并经过 Apple 识别。

将应用程序分发到 App Store

将应用程序提交到 App Store 需要很多步骤,还会用到几个工具。首先登录到 iTunes Connect,将应用程序记录的状态更改为“Waiting for Upload”或靠后的状态。然后使用 Member Center 创建分发证书和分发预置描述文件。使用 Xcode 创建归档、验证归档,并将其提交到 App Store。

回应用户问题

不能将应用程序提交到 App Store 后就置之不理。您应该在应用程序的整个生命周期中管理应用程序记录,并维护应用程序。

使用appuploader简化流程

为了简化上述流程,可以使用appuploader工具。appuploader提供了一站式的解决方案,帮助开发者更高效地管理应用程序的提交和更新过程。'''

收起阅读 »

canvasToTempFilePath:fail fail canvas is empty

uniapp uni_app x

关于uniapp x 使用了 uni.canvasToTempFilePath方法后无法得到路径的问题,通过一段时间的踩坑,终于解决了。

首先我们使用uniapp x的时候,大概率是使用uni.createCanvasContextAsync 方法,然后画完之后,就需要导出图片,这时候如果按照 uni.canvasToTempFilePath 方法去导出,我遇到了 “canvasToTempFilePath:fail fail canvas is empty” 报错,可我明明是使用了官方的方法去传入变量啊。下列就是代码实现过程:

    uni.createSelectorQuery().select('#lastCanvas').fields({  
        node:true  
    },(res)=>{  
        console.log(res);  
    }).exec((ret)=>{  
        console.log(ret);  
        uni.canvasToTempFilePath({  
            canvasId:"lastCanvas",  
            canvas:ret[0].node,  
            success:function(res){  
                console.log(res)  
            },  
            fail:function(err){  
                console.log(err)  
            }  
        },this);  
    });

我们先去找到元素的node,然后把它塞进去canvas, 就能拿到我们的导出图片了。
真的是又又又踩坑了。

继续阅读 »

关于uniapp x 使用了 uni.canvasToTempFilePath方法后无法得到路径的问题,通过一段时间的踩坑,终于解决了。

首先我们使用uniapp x的时候,大概率是使用uni.createCanvasContextAsync 方法,然后画完之后,就需要导出图片,这时候如果按照 uni.canvasToTempFilePath 方法去导出,我遇到了 “canvasToTempFilePath:fail fail canvas is empty” 报错,可我明明是使用了官方的方法去传入变量啊。下列就是代码实现过程:

    uni.createSelectorQuery().select('#lastCanvas').fields({  
        node:true  
    },(res)=>{  
        console.log(res);  
    }).exec((ret)=>{  
        console.log(ret);  
        uni.canvasToTempFilePath({  
            canvasId:"lastCanvas",  
            canvas:ret[0].node,  
            success:function(res){  
                console.log(res)  
            },  
            fail:function(err){  
                console.log(err)  
            }  
        },this);  
    });

我们先去找到元素的node,然后把它塞进去canvas, 就能拿到我们的导出图片了。
真的是又又又踩坑了。

收起阅读 »

悦邻(郑州)招前端工程师,薪资福利棒棒的!

招聘与外包

悦邻是一家专注于提升生鲜快销流通效率的商业服务公司,我们秉承实效第一、真诚、专注和创新的价值观。我们不仅招募优秀的人才,还愿意提供比市场更高的薪酬,公司提供每年两次的涨薪窗口期,我们重视伙伴的贡献和价值,并致力于为团队成员提供良好的工作环境和发展机会。

奖金绩效:薪资福利:8000-13000元/月,年中年底两次发放奖金,平均有3月的薪资,根据个人贡献支付奖金。双休,缴纳六险二金,中午提供豪华午餐(四菜一汤一份水果),晚餐报销,9点30-18点30(中午休息1个半小时)。

技能要求
1.本科统招及以上学历,熟练掌握主流的前端开发框架,React,Vue,Angular等一种或多种,在商业项目中使用过Ant Design React版本和uniapp等混合应用开发,要求掌握React和Vue
2.有扎实的HTML,CSS,JavaScript,TypeScript编程功底,熟悉服务端语言和框架,如nest.js,Egg.js等,对数据库有一定了解,如MySQL,MongoDB,Redis等,参与过服务端开发的优先
3.有过微前端开发经验,项目中使用过qiankun微前端框架的优先
4.优秀的编码习惯,代码结构清晰、可读性强、可维护性高,熟悉常见的编码规范标准,如命名规范、缩进风格、注释规范等,并能够在团队中推动代码规范的执行
5.具备良好的沟通和表达能力,根据项目需求编写对应的文档,包括设计文档、API文档等,能够将业务逻辑和解决方案以文档的方式传达给团队成员
6.工作中参与过SaaS软件产品的设计与研发,渴望做产品并且有产品意识
7.对新零售,仓储,供应链、直播等业务感兴趣,有从0-1完整参与并成功上线产生价值项目经验的优先。

岗位职责
1、分析产品功能需求,理解业务逻辑以及按规范执行开发流程,提高研发效率;
2、严格要求自己养成良好的编程规范,逻辑严谨,注释清晰,提高代码可读性和可维护性;
3、兴趣很重要,要不断的钻研项目中需要用到的开发技术,有良好的学习能力,能够独立负责产品的某个业务线;
4、遵守公司制度和企业文化,提高自身职业素养和业务水平,保质保量的完成各项工作任务;
5、对各部门提出的产品的升级和缺陷等迅速反应,提供良好的技术支持服务;
6、按计划完成功能模块的功能设计、代码实现,代码编写和单元测试;

继续阅读 »

悦邻是一家专注于提升生鲜快销流通效率的商业服务公司,我们秉承实效第一、真诚、专注和创新的价值观。我们不仅招募优秀的人才,还愿意提供比市场更高的薪酬,公司提供每年两次的涨薪窗口期,我们重视伙伴的贡献和价值,并致力于为团队成员提供良好的工作环境和发展机会。

奖金绩效:薪资福利:8000-13000元/月,年中年底两次发放奖金,平均有3月的薪资,根据个人贡献支付奖金。双休,缴纳六险二金,中午提供豪华午餐(四菜一汤一份水果),晚餐报销,9点30-18点30(中午休息1个半小时)。

技能要求
1.本科统招及以上学历,熟练掌握主流的前端开发框架,React,Vue,Angular等一种或多种,在商业项目中使用过Ant Design React版本和uniapp等混合应用开发,要求掌握React和Vue
2.有扎实的HTML,CSS,JavaScript,TypeScript编程功底,熟悉服务端语言和框架,如nest.js,Egg.js等,对数据库有一定了解,如MySQL,MongoDB,Redis等,参与过服务端开发的优先
3.有过微前端开发经验,项目中使用过qiankun微前端框架的优先
4.优秀的编码习惯,代码结构清晰、可读性强、可维护性高,熟悉常见的编码规范标准,如命名规范、缩进风格、注释规范等,并能够在团队中推动代码规范的执行
5.具备良好的沟通和表达能力,根据项目需求编写对应的文档,包括设计文档、API文档等,能够将业务逻辑和解决方案以文档的方式传达给团队成员
6.工作中参与过SaaS软件产品的设计与研发,渴望做产品并且有产品意识
7.对新零售,仓储,供应链、直播等业务感兴趣,有从0-1完整参与并成功上线产生价值项目经验的优先。

岗位职责
1、分析产品功能需求,理解业务逻辑以及按规范执行开发流程,提高研发效率;
2、严格要求自己养成良好的编程规范,逻辑严谨,注释清晰,提高代码可读性和可维护性;
3、兴趣很重要,要不断的钻研项目中需要用到的开发技术,有良好的学习能力,能够独立负责产品的某个业务线;
4、遵守公司制度和企业文化,提高自身职业素养和业务水平,保质保量的完成各项工作任务;
5、对各部门提出的产品的升级和缺陷等迅速反应,提供良好的技术支持服务;
6、按计划完成功能模块的功能设计、代码实现,代码编写和单元测试;

收起阅读 »

同样的代码打包 这两天突然就提示 App超限打包余额不足

云端打包 App打包 云打包

同样的代码,突然就打不了包了

提示: App超限打包余额不足,当前可打包大小为 40 M,请清除项目下无用文件再重试;或登录开发者中心(https://dev.dcloud.net.cn),选择“App云打包增值服务”- “App大小超限充值”进行自助充值后,再提交打包。

请问一下 是怎么回事,怎么处理?

继续阅读 »

同样的代码,突然就打不了包了

提示: App超限打包余额不足,当前可打包大小为 40 M,请清除项目下无用文件再重试;或登录开发者中心(https://dev.dcloud.net.cn),选择“App云打包增值服务”- “App大小超限充值”进行自助充值后,再提交打包。

请问一下 是怎么回事,怎么处理?

收起阅读 »

window 交叉编译 ffmpeg

window Android

https://github.com/helloword202507/android-ffmpeg-compiler

联系作者

helloword202507@163.com

🎬 FFmpeg Android 编译配置

一个用于简化FFmpeg Android库编译的图形化配置工具,支持命令行和Web界面两种使用模式。

✨ 特性

  • 🖥️ 双模式支持: 命令行模式和Web图形界面
  • 📱 多架构支持: arm64-v8a, armeabi-v7a, x86, x86_64
  • 🎯 预设配置: 提供6种预设配置,满足不同使用场景
  • ⚙️ 灵活配置: 支持自定义编解码器、格式、协议等
  • 🚀 一键编译: 自动化编译流程,简化操作
  • 🧹 清理工具: 内置清理工具,管理编译产物
  • 📊 实时状态: Web界面实时显示编译进度

📦 预设配置

预设 描述 适用场景
最小版 仅包含基本H.264解码功能 简单播放器
基础版 常用编解码器和格式支持 基本视频播放应用
标准版 包含常用编解码器,适合大多数应用 通用移动应用
流媒体版 专为流媒体播放优化 在线视频播放
直播版 支持实时编码和推流协议 直播应用
完整版 包含所有功能的完整版本 专业视频处理

🚀 快速开始

环境要求

  • Python 3.7+
  • Android NDK
  • MSYS2 (Windows)
  • FFmpeg 源码

安装依赖

pip install -r requirements.txt

使用方式

1. Web界面模式 (推荐)

# 启动Web界面  
python main.py --web  

# 或使用快速启动脚本  
python start_web.py

然后在浏览器中访问 http://localhost:5000

2. 命令行模式

# 使用预设配置  
python main.py --preset standard  

# 使用自定义配置文件  
python main.py --config my_config.json  

# 交互式选择  
python main.py

3. 清理工具

# 清理所有文件  
python main.py --clean  

# 或使用专用清理脚本  
python clean.py --all

📁 项目结构

ffmpeg-android-builder/  
├── main.py                 # 主入口文件  
├── start_web.py           # Web界面快速启动  
├── clean.py               # 清理工具  
├── config_presets.json    # 预设配置文件  
├── src/                   # 源码目录  
│   ├── cli/              # 命令行界面模块  
│   ├── web/              # Web界面模块  
│   ├── core/             # 核心功能模块  
│   └── utils/            # 工具模块  
├── static/               # Web界面静态资源  
├── build/                # 编译输出目录  
├── logs/                 # 日志文件  
├── android-ndk/          # Android NDK  
├── ffmpeg/               # FFmpeg源码  
└── msys64/               # MSYS2环境

⚙️ 配置说明

基本配置

  • Android API: 目标Android API级别 (最低16)
  • 输出类型: shared (动态库) 或 static (静态库)
  • 目标架构: 支持的CPU架构

编解码器配置

  • 解码器: 支持的视频/音频解码器
  • 编码器: 支持的视频/音频编码器
  • 复用器: 支持的容器格式输出
  • 解复用器: 支持的容器格式输入

网络协议

支持配置各种网络协议,如HTTP、HTTPS、RTMP、HLS等

优化选项

  • 禁用汇编: 禁用汇编优化以提高兼容性
  • 启用PIC: 启用位置无关代码
  • 禁用调试: 移除调试信息减小体积
  • 启用小体积: 优化编译以减小最终库大小

🛠️ 开发说明

核心模块

  • ConfigManager: 配置管理,支持预设和自定义配置
  • EnvironmentManager: 环境检查和设置
  • BuildManager: 编译流程管理
  • CompilerManager: 编译器调用和参数生成

Web界面

基于Flask构建的Web界面,提供:

  • 图形化配置界面
  • 预设配置选择
  • 实时编译状态
  • 日志查看功能

命令行界面

提供完整的命令行操作支持:

  • 交互式配置
  • 批处理模式
  • 配置文件支持

📝 使用示例

Web界面配置

  1. 启动Web界面: python main.py --web
  2. 在浏览器中打开配置页面
  3. 选择预设配置或自定义配置
  4. 点击"开始编译"按钮
  5. 查看实时编译进度和日志

命令行配置

# 使用标准预设  
python main.py --preset standard  

# 使用自定义配置  
python main.py --config custom_config.json  

# 清理编译产物  
python main.py --clean

🧹 清理工具

# 清理所有文件  
python clean.py --all  

# 仅清理编译输出  
python clean.py --build  

# 仅清理临时文件  
python clean.py --temp  

# 仅清理构建缓存  
python clean.py --cache

MSYS2 中运行

web 生成脚本后 build_ffmpeg.sh 在msys2中运行

📋 常见问题

Q: 编译失败怎么办?

A: 检查环境配置,确保Android NDK和MSYS2正确安装,查看logs目录下的日志文件。

Q: 如何添加自定义编解码器?

A: 在Web界面的自定义配置中添加,或修改配置JSON文件。

Q: 支持哪些Android版本?

A: 支持Android API 16+,推荐使用API 21+。

Q: 如何减小编译后的库大小?

A: 使用"最小版"预设,或启用"小体积优化"选项。

🤝 贡献

欢迎提交Issue和Pull Request来改进这个项目。

📄 许可证

本项目采用MIT许可证,详见LICENSE文件。

🔗 相关链接


注意: 首次使用前请确保已正确安装和配置所有依赖环境。

继续阅读 »

https://github.com/helloword202507/android-ffmpeg-compiler

联系作者

helloword202507@163.com

🎬 FFmpeg Android 编译配置

一个用于简化FFmpeg Android库编译的图形化配置工具,支持命令行和Web界面两种使用模式。

✨ 特性

  • 🖥️ 双模式支持: 命令行模式和Web图形界面
  • 📱 多架构支持: arm64-v8a, armeabi-v7a, x86, x86_64
  • 🎯 预设配置: 提供6种预设配置,满足不同使用场景
  • ⚙️ 灵活配置: 支持自定义编解码器、格式、协议等
  • 🚀 一键编译: 自动化编译流程,简化操作
  • 🧹 清理工具: 内置清理工具,管理编译产物
  • 📊 实时状态: Web界面实时显示编译进度

📦 预设配置

预设 描述 适用场景
最小版 仅包含基本H.264解码功能 简单播放器
基础版 常用编解码器和格式支持 基本视频播放应用
标准版 包含常用编解码器,适合大多数应用 通用移动应用
流媒体版 专为流媒体播放优化 在线视频播放
直播版 支持实时编码和推流协议 直播应用
完整版 包含所有功能的完整版本 专业视频处理

🚀 快速开始

环境要求

  • Python 3.7+
  • Android NDK
  • MSYS2 (Windows)
  • FFmpeg 源码

安装依赖

pip install -r requirements.txt

使用方式

1. Web界面模式 (推荐)

# 启动Web界面  
python main.py --web  

# 或使用快速启动脚本  
python start_web.py

然后在浏览器中访问 http://localhost:5000

2. 命令行模式

# 使用预设配置  
python main.py --preset standard  

# 使用自定义配置文件  
python main.py --config my_config.json  

# 交互式选择  
python main.py

3. 清理工具

# 清理所有文件  
python main.py --clean  

# 或使用专用清理脚本  
python clean.py --all

📁 项目结构

ffmpeg-android-builder/  
├── main.py                 # 主入口文件  
├── start_web.py           # Web界面快速启动  
├── clean.py               # 清理工具  
├── config_presets.json    # 预设配置文件  
├── src/                   # 源码目录  
│   ├── cli/              # 命令行界面模块  
│   ├── web/              # Web界面模块  
│   ├── core/             # 核心功能模块  
│   └── utils/            # 工具模块  
├── static/               # Web界面静态资源  
├── build/                # 编译输出目录  
├── logs/                 # 日志文件  
├── android-ndk/          # Android NDK  
├── ffmpeg/               # FFmpeg源码  
└── msys64/               # MSYS2环境

⚙️ 配置说明

基本配置

  • Android API: 目标Android API级别 (最低16)
  • 输出类型: shared (动态库) 或 static (静态库)
  • 目标架构: 支持的CPU架构

编解码器配置

  • 解码器: 支持的视频/音频解码器
  • 编码器: 支持的视频/音频编码器
  • 复用器: 支持的容器格式输出
  • 解复用器: 支持的容器格式输入

网络协议

支持配置各种网络协议,如HTTP、HTTPS、RTMP、HLS等

优化选项

  • 禁用汇编: 禁用汇编优化以提高兼容性
  • 启用PIC: 启用位置无关代码
  • 禁用调试: 移除调试信息减小体积
  • 启用小体积: 优化编译以减小最终库大小

🛠️ 开发说明

核心模块

  • ConfigManager: 配置管理,支持预设和自定义配置
  • EnvironmentManager: 环境检查和设置
  • BuildManager: 编译流程管理
  • CompilerManager: 编译器调用和参数生成

Web界面

基于Flask构建的Web界面,提供:

  • 图形化配置界面
  • 预设配置选择
  • 实时编译状态
  • 日志查看功能

命令行界面

提供完整的命令行操作支持:

  • 交互式配置
  • 批处理模式
  • 配置文件支持

📝 使用示例

Web界面配置

  1. 启动Web界面: python main.py --web
  2. 在浏览器中打开配置页面
  3. 选择预设配置或自定义配置
  4. 点击"开始编译"按钮
  5. 查看实时编译进度和日志

命令行配置

# 使用标准预设  
python main.py --preset standard  

# 使用自定义配置  
python main.py --config custom_config.json  

# 清理编译产物  
python main.py --clean

🧹 清理工具

# 清理所有文件  
python clean.py --all  

# 仅清理编译输出  
python clean.py --build  

# 仅清理临时文件  
python clean.py --temp  

# 仅清理构建缓存  
python clean.py --cache

MSYS2 中运行

web 生成脚本后 build_ffmpeg.sh 在msys2中运行

📋 常见问题

Q: 编译失败怎么办?

A: 检查环境配置,确保Android NDK和MSYS2正确安装,查看logs目录下的日志文件。

Q: 如何添加自定义编解码器?

A: 在Web界面的自定义配置中添加,或修改配置JSON文件。

Q: 支持哪些Android版本?

A: 支持Android API 16+,推荐使用API 21+。

Q: 如何减小编译后的库大小?

A: 使用"最小版"预设,或启用"小体积优化"选项。

🤝 贡献

欢迎提交Issue和Pull Request来改进这个项目。

📄 许可证

本项目采用MIT许可证,详见LICENSE文件。

🔗 相关链接


注意: 首次使用前请确保已正确安装和配置所有依赖环境。

收起阅读 »

uniID.loginByWeixin 一直提示not found collection

uni-cloud

检查发现引入uni-id后 本地 uniCloud / database下没有自动带出来uni-id相关的schema文件,
但是控制台相关的表都是有的

解决方案:

右键database,下载所有DB schema 同步到本地,重新运行就可以了

检查发现引入uni-id后 本地 uniCloud / database下没有自动带出来uni-id相关的schema文件,
但是控制台相关的表都是有的

解决方案:

右键database,下载所有DB schema 同步到本地,重新运行就可以了

郑州盈和招前端、后端、数据开发岗,长期稳定,工作经验2年以上,底薪8-13k,双休,六险二金,感兴趣的小伙伴看过来!

外包接单 外包 招聘与外包

盈和是一家专注于提升生鲜快销流通效率的商业服务公司,我们秉承实效第一、真诚、专注和创新的价值观。我们不仅招募优秀的人才,还愿意提供比市场更高的薪酬,公司提供每年两次的涨薪窗口期,我们重视伙伴的贡献和价值,并致力于为团队成员提供良好的工作环境和发展机会。
奖金绩效:薪资福利:10000-15000元/月,年中年底两次发放奖金,平均有3月的薪资,根据个人贡献支付奖金。双休,缴纳六险二金,中午提供豪华午餐(四菜一汤一份水果),晚餐报销,9点30-18点30(中午休息1个半小时)。
硬性要求:本科统招及以上学历,2年以上工作经验,不支持线上面试哈,公司是做自研系统的。
有意可联系hr张女士:18625502329。

继续阅读 »

盈和是一家专注于提升生鲜快销流通效率的商业服务公司,我们秉承实效第一、真诚、专注和创新的价值观。我们不仅招募优秀的人才,还愿意提供比市场更高的薪酬,公司提供每年两次的涨薪窗口期,我们重视伙伴的贡献和价值,并致力于为团队成员提供良好的工作环境和发展机会。
奖金绩效:薪资福利:10000-15000元/月,年中年底两次发放奖金,平均有3月的薪资,根据个人贡献支付奖金。双休,缴纳六险二金,中午提供豪华午餐(四菜一汤一份水果),晚餐报销,9点30-18点30(中午休息1个半小时)。
硬性要求:本科统招及以上学历,2年以上工作经验,不支持线上面试哈,公司是做自研系统的。
有意可联系hr张女士:18625502329。

收起阅读 »

大家的HBuilderX有这样的问题吗?——官方的Markdown语法帮助文档的文档结构图显示不完整

markdown

今天准备复习一下Markdown语法。
在Mac上打开HBuilderX的Markdown语法帮助文档,在打开文档结构图时,发现文档结构图显示的标题目录并不完整,好像从某个地方开始就不再显示了。
不知道各位的HBuilderX有没有这样的问题,还是个人电脑的问题。
无论如何,不弄清原因,今晚都是睡不香的,于是就从那个出现问题的地方开始排查,果真船到桥头自然直,一下子找到了原因。
原来是文档中,有个地方在插入单行代码时同行使用三对反引号,导致文档结构图显示不完整。

然后就去请教了一下温柔的桃子姐姐,回到文档折腾一番,找到了几个解决的方法,如下图所示,供有同样问题的bug友参考。
方法一、在三对反引号前加个序号

方法二、把三对反引号改成二对反引号

方法三、把三对反引号改成一对反引号

最后,结合查询资料和个人实践,总结一下,如下图所示。

  1. 插入单行代码时,应该使用一对反引号;
  2. 插入多行代码时,应该不同行使用三对反引号;

以上只是个人的一点看法,时间有限,不太周全,如有错漏,请不要批评但要指正~~~

继续阅读 »

今天准备复习一下Markdown语法。
在Mac上打开HBuilderX的Markdown语法帮助文档,在打开文档结构图时,发现文档结构图显示的标题目录并不完整,好像从某个地方开始就不再显示了。
不知道各位的HBuilderX有没有这样的问题,还是个人电脑的问题。
无论如何,不弄清原因,今晚都是睡不香的,于是就从那个出现问题的地方开始排查,果真船到桥头自然直,一下子找到了原因。
原来是文档中,有个地方在插入单行代码时同行使用三对反引号,导致文档结构图显示不完整。

然后就去请教了一下温柔的桃子姐姐,回到文档折腾一番,找到了几个解决的方法,如下图所示,供有同样问题的bug友参考。
方法一、在三对反引号前加个序号

方法二、把三对反引号改成二对反引号

方法三、把三对反引号改成一对反引号

最后,结合查询资料和个人实践,总结一下,如下图所示。

  1. 插入单行代码时,应该使用一对反引号;
  2. 插入多行代码时,应该不同行使用三对反引号;

以上只是个人的一点看法,时间有限,不太周全,如有错漏,请不要批评但要指正~~~

收起阅读 »

【安卓读取相册、视频、音频】需要添加新的权限:READ_MEDIA_IMAGES、READ_MEDIA_VIDEO、READ_MEDIA_AUDIO

权限 上架被拒 应用上架 安卓

相册权限需要android.permission.WRITE_EXTERNAL_STORAGE

安卓13开始都需要加,原先的android.permission.READ_EXTERNAL_STORAGE继续保留,兼容低版本

读取相册权限:android.permission.READ_MEDIA_IMAGES

读取视频权限:android.permission.READ_MEDIA_VIDEO

读取音频权限:android.permission.READ_MEDIA_AUDIO

继续阅读 »

相册权限需要android.permission.WRITE_EXTERNAL_STORAGE

安卓13开始都需要加,原先的android.permission.READ_EXTERNAL_STORAGE继续保留,兼容低版本

读取相册权限:android.permission.READ_MEDIA_IMAGES

读取视频权限:android.permission.READ_MEDIA_VIDEO

读取音频权限:android.permission.READ_MEDIA_AUDIO

收起阅读 »

基于flutter3.27客户端仿微信聊天Exe模板

flutter

flutter3-winchat:最新研发flutter3.27+dart3.6+getx+bitsdojo_window+media_kit+system_tray电脑端仿微信聊天Exe实例。包含聊天、联系人、收藏、朋友圈、小视频、我的等模块。

实现技术

  • 技术框架:Flutter3.27.1+Dart3.6.0
  • 窗口管理:bitsdojo_window: ^0.1.6
  • 托盘图标:system_tray: ^2.0.3
  • 路由/状态管理:get: ^4.7.2
  • 本地存储:get_storage: ^2.1.1
  • 图片预览:photo_view: ^0.15.0
  • 网址预览:url_launcher: ^6.3.1
  • 视频组件:media_kit: ^1.2.0
  • 文件选择器:file_picker: ^10.2.0

项目结构目录

flutter3-winchat桌面端聊天项目已经发布到我的原创作品集。

Flutter3.27+bitsdojo_window仿微信客户端聊天Exe

想要了解项目具体的实现情况,可以去看看下面的这篇分享文章。
最新研发flutter3.27+bitsdojo_window+getx客户端仿微信聊天Exe应用

热文推荐

最新版Flutter3.32+Dart3.8跨平台仿微信app聊天界面|朋友圈
最新版uniapp+vue3+uv-ui跨三端短视频+直播+聊天【H5+小程序+App端】
原创uniapp+vue3+deepseek+uv-ui跨端实战仿deepseek/豆包流式ai聊天对话助手。
vue3-webseek网页版AI问答|Vite6+DeepSeek+Arco流式ai聊天打字效果
Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板
uniapp+vue3聊天室|uni-app+vite4+uv-ui跨端仿微信app聊天语音/朋友圈
uniapp+vue3酒店预订|vite5+uniapp预约订房系统模板(h5+小程序+App端)
Electron32-Vue3OS桌面版os系统|vue3+electron+arco客户端OS管理模板
tauri2.0-admin桌面端后台系统|Tauri2+Vite5+ElementPlus管理后台EXE程序
Tauri2.0+Vite5聊天室|vue3+tauri2+element-plus仿微信|tauri聊天应用

继续阅读 »

flutter3-winchat:最新研发flutter3.27+dart3.6+getx+bitsdojo_window+media_kit+system_tray电脑端仿微信聊天Exe实例。包含聊天、联系人、收藏、朋友圈、小视频、我的等模块。

实现技术

  • 技术框架:Flutter3.27.1+Dart3.6.0
  • 窗口管理:bitsdojo_window: ^0.1.6
  • 托盘图标:system_tray: ^2.0.3
  • 路由/状态管理:get: ^4.7.2
  • 本地存储:get_storage: ^2.1.1
  • 图片预览:photo_view: ^0.15.0
  • 网址预览:url_launcher: ^6.3.1
  • 视频组件:media_kit: ^1.2.0
  • 文件选择器:file_picker: ^10.2.0

项目结构目录

flutter3-winchat桌面端聊天项目已经发布到我的原创作品集。

Flutter3.27+bitsdojo_window仿微信客户端聊天Exe

想要了解项目具体的实现情况,可以去看看下面的这篇分享文章。
最新研发flutter3.27+bitsdojo_window+getx客户端仿微信聊天Exe应用

热文推荐

最新版Flutter3.32+Dart3.8跨平台仿微信app聊天界面|朋友圈
最新版uniapp+vue3+uv-ui跨三端短视频+直播+聊天【H5+小程序+App端】
原创uniapp+vue3+deepseek+uv-ui跨端实战仿deepseek/豆包流式ai聊天对话助手。
vue3-webseek网页版AI问答|Vite6+DeepSeek+Arco流式ai聊天打字效果
Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板
uniapp+vue3聊天室|uni-app+vite4+uv-ui跨端仿微信app聊天语音/朋友圈
uniapp+vue3酒店预订|vite5+uniapp预约订房系统模板(h5+小程序+App端)
Electron32-Vue3OS桌面版os系统|vue3+electron+arco客户端OS管理模板
tauri2.0-admin桌面端后台系统|Tauri2+Vite5+ElementPlus管理后台EXE程序
Tauri2.0+Vite5聊天室|vue3+tauri2+element-plus仿微信|tauri聊天应用

收起阅读 »