ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Obtainium 如何从 URL 列表批量导入应用配置?

Obtainium 如何从 URL 列表批量导入应用配置? Obtainium 如何从 URL 列表批量导入应用配置【免费下载链接】ObtainiumGet Android app updates straight from the source.项目地址: https://gitcode.com/GitHub_Trending/ob/Obtainium如果你手里已经有一批应用来源页 URL例如 GitHub 发布页、F-Droid 包页、直链 APK 等希望一次性把它们都加进 Obtainium 变成可跟踪更新的应用配置而不是一条条手动添加那么 Obtainium 设置页Import/export里的Import from URL list从 URL 列表导入就是对应功能。本文按实际操作顺序走一遍先确认 URL 是否被支持再进入导入页面、填入或从文件读取 URL 列表、执行导入最后根据界面给出的结果确认哪些导入成功、哪些失败以及原因。前提条件是 Android 设备上已安装 Obtainium安装渠道与包标识dev.imranr.obtainium的校验信息见 README.md。先确认你的 URL 会被哪种来源接收导入时 Obtainium 会把每一行 URL 交给SourceProvider.getSource(url)解析确定它对应哪个应用来源无法解析的 URL 会被拒绝不会静默导入。哪些 URL 算能被接收以 README.md 的 Currently supported App sources 一节为准包括通用来源GitHub、GitLab、ForgejoCodeberg、F-Droid、第三方 F-Droid 仓库、IzzyOnDroid、SourceHut其他通用来源APKPure、Aptoide、Uptodown、itch.io、Huawei AppGallery、Tencent App Store、vivo App Store (CN)、RuStore、Farsroid、Samsung Galaxy Store、LiteAPKs、APK4Free、CoolApk、SourceForge、Jenkins Jobs应用专属来源Telegram App、Neutron CodeDirect APK Link直链 APKHTML 兜底来源任意返回带 APK 文件链接的 HTML 页面的 URL来源匹配时它排在最后。其中 APKMirror 与 RockMods 在 README 中标注为(Track-Only)导入后只跟踪不直接安装。一个需要提前知道的限制README 的 Limitations 一节说明部分来源通过网页抓取web scraping收集数据网站版式变化时抓取可能失效docs/DEVELOPER_GUIDE.md 也描述了 Obtainium 会对每个来源页面发起请求、抓取最新 release 信息的机制。也就是说URL 合法不代表该来源当前一定能取到数据失败时会按下一节的方式在结果中逐条报出。进入 URL 列表导入页操作路径打开 Obtainium切换到Settings设置标签找到并点击Import/export导入/导出条目界面文案定义见 assets/translations/en.json 的importExport键页面入口在 lib/pages/settings.dart在打开的导入/导出页面中点击Import from URL list条目进入 URL 列表导入页。该页面对应的实现是 lib/pages/import_export.dart 中的ImportFromURLListPage。同一页面还提供两个相邻入口供对照上方是 Obtainium 导出的 JSON 文件导入obtainiumImport下方还有按 GitHub Stars 等批量来源挑选应用的入口本文只讲 URL 列表这一条主路径。提供 URL 列表的两种方式导入页提供两个输入入口二者最终都汇入同一个App URL list应用 URL 列表文本框。方式一直接粘贴 URL每行一条在标签为App URL list的多行文本框中粘贴 URL 列表格式为每行一个 URL空行会被忽略ImportFromURLListController.getURLs()按换行拆分并去掉空行。示例结构URL替换为你实际要导入的来源页地址URL 1 URL 2 URL 3文本框开启了交互时自动校验AutovalidateMode.onUserInteraction你输入或点击后控件会对每一行调用来源解析若某行无法解析会在输入框下方给出形如Line N: 错误信息的提示N是行号Line与错误文案见 en.json 的line、invalidURLForSource等键。需要注意这行校验只是提示不会阻止导入——点击 Import 时列表里的所有非空行包括校验不通过的行都会被提交逐条尝试导入失败的具体 URL 会在结果弹窗中列出来。因此建议先把Line N提示修正完再导入但即使没修正也不会把整批卡住。方式二从文件中读取 URL适合 OPML 等文本点击Import from URLs in file (like OPML)按钮系统会调用文件选择器FilePicker.pickFile()让你选一个文本文件。选定后ImportFromURLListController.importFromFile()lib/pages/import_export.dart会用正则https?://[^\s]从文件内容中提取所有 URL去重预先过滤掉无法解析到受支持来源的 URL过滤过程中的解析错误会被记入日志把筛选后的 URL 以换行分隔填入上面的 App URL list 文本框。提取完成后不会自动导入仍需手动点击 Import 按钮。如果设备上没有可用的文件选择器会收到报错No file picker available. Please install a file manager app.en.json 的noFilePickerAvailable此时需要先安装一个文件管理器应用再重试。执行导入并确认结果点击Import按钮后按钮会显示加载指示并禁用直到导入结束。执行链路是AppsProvider.addAppsByURL(urls)→SourceProvider().getAppsByURLNaive(urls, alreadyAddedUrls: ...)见 lib/providers/apps_provider.dart 的addAppsByURL与 lib/providers/source_provider.dart 的getAppsByURLNaiveURL 会被分批并发抓取逐个来源请求最新 release 信息并生成应用配置已经本地存在的 URL 会被识别出来。结果分两种全部成功没有任何错误界面提示Imported N apps已导入 N 个应用N 为本次提交的 URL 数文案见 en.json 的importedX随后自动返回上一页导入的应用会出现在主界面的应用列表中。部分失败弹出Import errors导入错误对话框第一行是X of Y apps imported.Y 个中成功 X 个接着是The following URLs had errors:及每个失败 URL 与其对应的错误说明实现见ImportErrorDialog。成功的部分不受影响失败的 URL 需要按提示修正后重新导入。常见报错的对应情况对话框中的错误是逐 URL 给出的结合代码可以对照这几种情况URL 不属于受支持的来源或格式不符合该来源要求解析阶段报错文本框的Line N提示会先给出行级线索该 URL 已存在于本机配置中报错App already added (url)en.json 的appAlreadyAdded说明这条不需要再导来源请求层面的失败限流、取不到 release 或 APK 等docs/DEVELOPER_GUIDE.md 列出了RateLimitError、NoReleasesError、NoAPKError等类型化错误它们会按实际发生的类型写入对应 URL 的报错信息。导入后的已知限制导入页底部有一段常驻说明en.json 的importedAppsIdDisclaimer原文要点是通过 URL 及第三方导入方式导入的应用可能错误地显示为未安装修复方法是通过 Obtainium 重新安装一次这不应影响应用数据。如果你看到列表里某些刚导入的应用状态不对先按这条说明处理而不是怀疑导入本身失败。另外重申 README Limitations 的边界依赖网页抓取的来源其数据收集方式可能因网站设计变化而失效遇到某一批 URL 大面积取不到数据时先检查对应来源站点是否仍在 Obtainium 的受支持列表内、以及抓取是否已受影响。导入完成并确认应用出现在应用列表后后续的安装与更新就回到 Obtainium 的常规流程在应用条目上触发检查更新与安装即可URL 列表导入这一环节到此结束。【免费下载链接】ObtainiumGet Android app updates straight from the source.项目地址: https://gitcode.com/GitHub_Trending/ob/Obtainium创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表