Kobo 现在可以运行应用程序
您的 Kobo 现在可以运行应用程序。Cobalt 是一个开源应用程序平台,用于 Kobo 电子书阅读器:一个启动器、一个签名应用商店、一个 Rust SDK 和一个运行时,它将每个应用保存在自己的非特权进程中。通过 USB 安装一次。此后,每个应用都可以通过 Wi-Fi 在阅读器本身上安装、更新和删除。重启后返回到原始的 Kobo 阅读器界面。Kobo Clara BW 上的启动器。与 Rakuten Kobo 无关 在设备上以 3 倍速录制。观看视频。运行在 Kobo 上的应用程序。每个应用都是一个静态的 ARM 二进制文件,作为其自己的非特权进程在原始硬件上运行。应用商店通过 Wi-Fi 安装、更新和删除应用,所有启动前都经过签名验证。arXiv 论文和编码代理,在面板上。这些是设备的照片,而不是模拟器捕获。arXiv 应用读取 arXiv 自 2023 年 12 月以来每篇论文发布的 HTML 渲染:摘要、部分、数学和结果表格,为面板分页。 应用程序 应用程序。下面的每个截图都是从 Kobo Clara BW 捕获的。商店应用程序独立于平台版本;其他应用与平台安装一起发布。 启动器 打开已经安装的应用,并始终保持返回到 Kobo 阅读器的路线。 应用商店 通过 Wi-Fi 安装、更新、删除和重新安装签名的应用。 arXiv 浏览一个主题的最新预印本,并在面板上阅读完整文本。 数独 仅限商店:安装它证明应用的交付是 USB 包中从未包含的。 摩尔斯 通过前面的灯发送一个字符的摩尔斯代码信息,整个面板上只有一个字母。 Gutenbird 阅读任何 OPDS 库:古腾堡计划、标准电子书、开放图书馆或您的库。 Hacker News 顶部、最新、提问和展示故事,带完整的评论线程。 Feeds 发现网站的供稿,并以没有网站布局的方式呈现其文章。 日常简报 在您使用另一种应用时,收集当天的故事。 Sidekick 批准或拒绝编码代理的请求,远离键盘。 终端 一个本地面板 shell,键可以立即发送输入。 组件 UI 工具包的控件、布局、排版和状态,在面板上。 设置 连接性、硬件和平台更新,与应用商店分开。 待办事项 一个持久列表,带有触摸输入和完成项目状态。 井字棋 两个玩家,单个单元的部分刷新。 磁铁 定位在保护框后面的霍尔传感器,并报告其变化。 SDK 一个应用是一个 Rust 文件。实现 KoboApp,声明性地描述屏幕,运行时处理布局、电子墨水刷新规划、后退导航和生命周期。应用程序不能打开设备资源;它们会请求。网络、存储、音频、前灯和 Wi-Fi 都是能力限制的,拒绝将返回应用可以处理的值。 电子墨水 UI 文本、图块、对话框、键盘、分页、部分刷新规划 模拟器 带有布局诊断的浏览器和运行时模拟器 异步工作 HTTPS、分段下载、可取消任务、计划唤醒 状态 每个应用的原子键存储 发货 签名的静态 ARMv7 二进制文件,在应用 PR 合并时发布。kobo new my-app cd my-app kobo dev 阅读 SDK 文档 使用 kobo_sdk::{ ActionId, Context, KoboApp, ScreenBuilder, }; #[derive(Default)] struct Hello { taps: u32 } impl KoboApp for Hello { fn on_start(& mut self , ctx: & mut Context) { self .show(ctx); } fn on_action( & mut self , ctx: & mut Context, a: ActionId, ) { if a == kobo_sdk::action_id( "tap" ) { self .taps += 1; } self .show(ctx); } } impl Hello { fn show(& self , ctx: & mut Context) { let screen = ScreenBuilder::new( "hello" ) .top_bar( "你好" ) .heading(format!( "{} 次点击" , self .taps)) .button( "tap" , "点击我" ) .build(); ctx.set_screen(screen); } } fn main() { let app = Hello::default(); let _ = kobo_sdk::run( "hello" , app); } 应用商店 签名的包,在启动前经过验证。商店从固定的 GitHub 版本中读取签名目录。每个包包含一个 ARM 可执行文件和一个签名的规范清单。运行时在应用运行之前验证目录、包、已安装的清单和二进制文件。 应用版本独立于平台版本:合并一个应用 PR 会为 ARM 构建它,进行签名并更新目录。没有 Cobalt 版本提升,亦无需重新安装。应用程序会直接出现在商店中。Cobalt 平台本身也会通过 Wi-Fi 更新,位于设置中,频道与应用目录分开。 USB 线只需在第一次时用到。安装和目录事务是恢复安全的;中断的更新会使阅读器保留它拥有的版本。 发布您自己的应用 → 数独通过 Wi-Fi 到达。 安装 从源代码安装。给 Kobo Clara BW (N365) 充电,并通过 USB 连接。拒绝其他型号,不进行猜测。运行设置:git clone https://github.com/BandarLabs/Cobalt.git cd Cobalt rustup target add armv7-unknown-linux-musleabihf cargo run -p kobo-cli -- setup 重启阅读器,并从 Kobo 菜单中打开 Cobalt。打开商店。从这里开始的所有内容都通过 Wi-Fi 到达。完整的操作指南,包括...
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡