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