新闻详情

新闻详情

首页 / 资讯中心 / 详情

十分钟装好第一个第三方插件:Flipper Zero Unleashed 固件 FAP 体系完整入门

发布时间:2026/9/30 8:11:26来源:尧图网络
十分钟装好第一个第三方插件:Flipper Zero Unleashed 固件 FAP 体系完整入门
十分钟装好第一个第三方插件Flipper Zero Unleashed 固件 FAP 体系完整入门【免费下载链接】unleashed-firmwareFlipper Zero Unleashed Firmware项目地址: https://gitcode.com/GitHub_Trending/un/unleashed-firmware熟悉设备基本操作之后大约五分钟就能把一个下载好的第三方插件放进 Flipper Zero Unleashed 固件对应的 FAP 包会出现在主菜单里点开即用。本文先讲清 FAP 格式在系统中的加载原理再按新手、开发者、WiFi 模块用户三类路径走通安装流程最后给出一套能真正编译并推送到设备验证的最小自研应用。 FAP 到底是什么以及为什么不用重刷固件FAPFlipper App Package本质上是一个 ELF 可执行文件把应用的代码、资源与元数据捆绑在一起。内置应用是随固件一起编译、固化在 Flash 里的FAP 则独立存放在 SD 卡上由系统内置的App Loader从卡中读出校验完整性与兼容性后拷入 RAM、修正地址再启动。这意味着增删一个插件不需要重新编译或刷写固件单个 FAP 出问题时也不会波及系统其余部分装完即生效随时可撤。有一个容易忽略的细节值得提前知道FAP 运行在 RAM 中应用可用的堆空间会比同一段代码以内置方式运行在 Flash 里时略小。自己开发吃内存的应用时要把这点余量算进去。确认 API 版本是否匹配、apps 目录是否就位安装前检查两件事。一是 API 版本。在设备的「设置 系统 关于」里查看 API 版本每个 FAP 的清单里记录了fap_versionApp Loader 会比较主版本号一致才允许加载。拿到别人编译的 FAP 时先核对双方版本号不要直接硬试。二是目录结构。在 SD 卡上建一个名为apps的顶层文件夹FAP 文件放进去即可也可以按用途再分子目录存放子目录同样会被扫描。文件后缀必须是.fap。一次完整的 FAP 安装从下载点到启动以新手路径为例完整操作就是三个动作从可信来源下载 FAP确认文件名以.fap结尾把 SD 卡插到读卡器将文件拷入 apps 文件夹安全弹出卡插回 Flipper Zero重启设备新应用出现在主菜单的应用分类中点击即可启动。整个过程通常在十分钟以内。新手路径SD 卡复制上面就是新手路径的全部。适合第一次接触外部应用、手头没有开发环境的人也是排障时最好回退的基线操作。开发者路径fbt 编译并推送手上有源码时可以跳过读卡步骤。把应用源码放在applications_user目录下在仓库根目录执行./fbt launch APPSRCapplications_user/你的应用文件夹fbt 会解析应用清单、编译出 FAP 并通过 USB 推到设备运行。默认的 VS Code 构建配置把这条命令预置成了构建按钮开发期改一行代码、再按一次组合键就能看效果。WiFi 模块路径应用商店直接安装扩展坞上接了可用的 WiFi 模块时整条链路可以完全离开电脑。在设备上进入「应用 应用商店」浏览分类、点击安装系统自行完成下载与放置。对已经联网的设备来说这是摩擦最少的一条路。 四步做出一个最小 FAP 应用动手部分做一个只会在屏幕上画一行文字的hello_world应用走一遍「目录 → 清单 → 代码 → 编译」的完整链路。1. 创建应用目录mkdir -p applications_user/hello_worldfbt 构建体系会把applications_user下的目录识别为外部应用目录结构与仓库内置应用一致。2. 编写应用清单 application.famApp( appidhello_world, apptypeFlipperAppType.EXTERNAL, nameHello World, entry_pointhello_world_app, sources[hello_world.c], fap_version1.0, stack_size1024, )apptype必须写FlipperAppType.EXTERNAL构建产物才会按 FAP 处理entry_point指向 C 代码里的入口函数名fap_version决定兼容性声明字段全集见后文学习资源中的清单规范。3. 编写 C 代码#include furi.h #include gui/gui.h static void draw(Canvas* canvas, void* ctx) { UNUSED(ctx); canvas_draw_str(canvas, 10, 30, Hello FAP); } void hello_world_app(void* p) { UNUSED(p); Gui* gui furi_record_open(RECORD_GUI); ViewPort* vp view_port_alloc(); view_port_draw_callback_set(vp, draw, NULL); gui_add_view_port(gui, vp, GuiLayerFullscreen); while (true) furi_delay_ms(50); }最小样本只负责开一个 ViewPort 并持续绘制退出与清理逻辑可以等跑通后再补。4. 编译并推送到设备./fbt fap_hello_world ./fbt launch APPSRCapplications_user/hello_world第一条只编译产物.fap落在构建目录的.extapps下例如build/f7-firmware-D/.extapps可以手动拷进 SD 卡的 apps 文件夹第二条编译后经 USB 直接推送到设备运行。排障三个常见现象与对应动作应用列表里看不到新装的 FAP现象重启后列表里没有新应用的踪影。原因文件不在 apps 及其子目录内、后缀不是.fap或文件名含异常字符。动作先核对路径层级与文件名再重启设备刷新列表。应用启动即崩溃或提示内存不足现象点开应用立刻退出或系统报内存错误。原因FAP 运行在 RAM可用堆本来就比内置应用小stack_size配得过大、或持有大块缓冲时更容易触发。动作关闭不需要的后台应用回查清单里的栈尺寸设置再检查代码里的分配是否可以收缩改完重新编译。启动时报 API 版本不匹配现象启动时给出明确的版本错误提示。原因FAP 的fap_version与固件的主 API 版本不一致App Loader 拒绝加载。动作在「关于」页确认固件当前 API 版本把清单里的fap_version对齐到同一主版本后重新编译若应用引用了新版本已移除的符号按符号表提示逐项调整代码。 延伸图标、资源打包与 JS 开发路线应用想有自己的图标就在应用文件夹里放一个图片子目录在清单的fap_icon_assets字段指定它构建时会连同源码一起预处理图片源码里#include生成的{APPID}_icons.h之后引用方式和主固件的图标完全一样。应用需要随包附带数据或配置文件时用resources字段指定一个文件夹名内容会随应用打包进 FAP。更习惯 JavaScript 的话可以直接走 JS SDK 路线用npx flipperdevices/create-fz-applatest生成项目模板之后每次npm start就把脚本推送上机运行编辑器里还有 Flipper 接口的代码补全不必为每个调用翻文档。不自己开发的话社区积累较多的方向有五类红外遥控码库扩展、NFC 卡片工具、SubGHz 遥控、移植小游戏、设备诊断工具。挑一个方向先装上比通读文档更快建立手感。 学习资源FAP 与 SD 卡应用指南加载原理、API 版本机制与调试方法应用清单规范application.fam 全部字段含义JS SDK 开发指南模板创建与推送流程fbt 构建工具手册构建目标与命令列表结语插件体系没有想象中复杂把 FAP 放到正确的位置或者自己用一条命令编译出来。挑一个想先用的方向从可信来源拿一个来验证剩下的交给设备自己。【免费下载链接】unleashed-firmwareFlipper Zero Unleashed Firmware项目地址: https://gitcode.com/GitHub_Trending/un/unleashed-firmware创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

2025年Windows驱动开发:WDF框架KMDF与UMDF选型及实战指南 2026/9/30 15:00:22

2025年Windows驱动开发:WDF框架KMDF与UMDF选型及实战指南

简介:这份资源是《Developing Drivers with the Windows Driver Foundation》的PDF电子书,面向希望系统掌握Windows驱动开发的程序员与系统工程师,尤其适合具备一定C语言与操作系统基础、想深入内核态或用户态驱动编写的中高级开发者。全书由…

阅读更多 →
2026年9月长宁区临期产品销毁:5种方法优缺点推荐 2026/9/30 14:59:49

2026年9月长宁区临期产品销毁:5种方法优缺点推荐

临期产品销毁后真的只能"拉黑"? 很多人, 都以为, 长宁区超市货架上, 那些到了佳食用期以后的饼干、还有牛奶, 给集中销毁了就等于完了, 其实, 合规的销毁流程, 远远不只是把东西烧掉或者埋掉, 那么简单, 在这个流程的背后头, 藏着的一条, 资源再生的完整链…

阅读更多 →
【信息科学与工程学】【测试技术】第十五篇 软硬件测试方法03 2026/9/30 14:59:42

【信息科学与工程学】【测试技术】第十五篇 软硬件测试方法03

。 S-67 软件回归测试 编号 测试类型 测试内容(领域归类) 被测试对象的详细分析 测试方法 测试内容列表和步骤和每个步骤的测试内容和策略和方法和路径 关联知识和标准 S-67 软件回归测试 软件/测试管理 被测试对象的详细分析 回归测试验证软件在代码变更(新功能…

阅读更多 →
双向链表从原理到实战:结构设计、核心操作与经典应用场景 2026/9/30 14:59:35

双向链表从原理到实战:结构设计、核心操作与经典应用场景

1. 为什么单链表不够用,需要双向链表 很多同学学到链表这一章,第一个接触的往往是单链表:一个结点里存一个数据域,再加一个 next 指针,指到下一个结点。这东西上手确实快,但用着用着就会碰到一个让人抓狂的…

阅读更多 →
金九银十|2026Java 后端八股汇总,面试高频题 + 详细解答 2026/9/30 14:59:35

金九银十|2026Java 后端八股汇总,面试高频题 + 详细解答

或许这份面试题还不足以囊括所有 Java 问题,但有了它,我相信你一定不会“败”的很惨,因为有了它,足以应对目前市面上绝大部分的 Java 面试了,因为这篇文章不论是从深度还是广度上来讲,都已经囊括了非常多的…

阅读更多 →
Spring Boot+Vue二手交易系统毕设实战:从数据库到答辩全攻略 2026/9/30 14:59:35

Spring Boot+Vue二手交易系统毕设实战:从数据库到答辩全攻略

又到了毕业设计的季节。如果你在网上反复搜过“springboot vue 二手物品交易 boot 代码”,大概率是选题选到了这个方向,或者正被导师一句“做一个系统吧”架上了梁山。二手交易平台确实是被选得最多的毕设方向之一,原因很现实:业务…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉