我编写了一个小型 Plex 播放列表/媒体导出实用程序,用于将播放列表和媒体从 Plex 媒体服务器传输到 Android。它使用 ADB 可执行文件将文件从服务器推送到手机,并且运行良好;但是我真的很想将其移植到 C 或 C++ 并制作一个独立的可执行文件,而不是具有外部依赖项的 bash 脚本。
几天的谷歌搜索除了一堆错误的线索之外什么也没找到,这些线索最终成为 ADB 可执行文件的包装,以及一份解释该协议(protocol)的文档记录有多么糟糕的文档。
有人遇到过任何语言的独立库可以进行ADB推送
吗?
最佳答案
这里有两个库,但不是用 C++ 编写的:Python , Haskell
假设 Python 已经安装在任何 Linux 系统上是相当安全的,所以我会选择那个。将 bash 迁移到 Python 也比将 bash 迁移到 C++ 容易得多。
如果您想用 C++ 编写自己的协议(protocol),adb 协议(protocol)有很好的文档记录 here .
另外,为什么不在 shell 脚本中安装依赖项呢?那里只有少数包管理器,所以不需要很长时间就能找出每个 Linux 风格的正确包名称并让 shell 自动下载它。这将是更标准的解决方案,并且只需几行 bash。
或者,您可以打包您的 shell 脚本并在包中标记依赖项(前者会更容易,尽管这两种方法都比用另一种语言重写 bash 脚本更容易)。然后用户可以根据自己的 Linux 风格下载软件包。
关于android - 有人见过 ADB 推送的 C 或 C++ 实现吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52654250/