有人见过 ADB 推送的 C 或 C++ 实现吗?

Has anybody seen a C or C++ implementation of ADB push?

我写了一个小的 Plex playlist/media 导出实用程序来将播放列表和媒体从 Plex 媒体服务器传输到 Android。它使用 ADB 可执行文件将文件从服务器推送到 phone,并且运行良好;但是我真的很想将它移植到 C 或 C++ 并制作一个独立的可执行文件而不是具有外部依赖项的 bash 脚本。

几天的谷歌搜索除了一堆错误的线索之外什么也没有发现,这些线索最终成为 ADB 可执行文件的包装器,以及一份解释协议记录多么糟糕的文档。

有没有人运行使用任何可以做ADB push的语言的任何类型的独立库?

这里有两个库,虽然不是在 C++ 中:Python, Haskell

假设 Python 已经安装在任何 Linux 系统上是相当安全的,所以我会选择那个。将 bash 移动到 Python 也比 bash 移动到 C++ 容易得多。

如果您想用 C++ 编写自己的代码,adb 协议有很好的文档记录here

此外,为什么不直接在 shell 脚本中安装依赖项?只有少数包管理器在那里,所以应该不会花很长时间为每个 linux 风格找出正确的包名称并让 shell 自动下载它。那将是更标准的解决方案,并且只有几行 bash.

或者,你可以只打包你的 shell 脚本并在包中标记依赖项(前者会更容易,尽管这两种方法都比用另一种语言重写 bash 脚本更容易) .然后用户将根据他们的 Linux 风格下载包。