有没有比较成熟的远程编译 apk 的方法啊

2017-05-01 18:56:57 +08:00
 shoaly

有没有办法在远端服务器上编写安卓项目, 然后将编译之后的 apk 传回本机调式的相关介绍呢

9419 次点击
所在节点    Android
4 条回复
dntilee
2017-05-01 21:53:12 +08:00
jenkins?
linhua
2017-05-02 09:51:02 +08:00
这个跟 ADB 的 原理 有关

首先 手机上运行了 adbd 服务, 电脑上运行了 adb server ( adb 客户端 server )( adb kill-server, adb start-server )( port 5037 ), 然后 使用 adb 命令( adb client )来和 电脑上的 adb server 通信, 电脑上的 adb server 再和 手机的 adbd 通信

即 一般数据传输路径(使用 usb 连接手机):
adb (client) <--port 5037--> adb server (PC) <---usb---> adbd (phone)

如果 使用 网络 (如 wifi )连接手机 ,如参照 http://lisux.me/lishuai/vimwiki/%E7%BD%91%E7%BB%9C%E8%B0%83%E8%AF%95android.html
则 数据传输路径是:

adb (client) <--port 5037--> adb server (PC) <---port 5555---> adbd (phone)


而只有 通过 端口连接 的两端,才能 将 其中一端 放在 服务器上, 然后通过 端口映射的方法 实现。

故 如果是 使用 usb 连接手机: 你只能将 adb (client) 放到服务器上, 然后 在服务器上 使用 端口映射 将 本地机器 的 5037 端口 映射到 服务器上的 127.0.0.1:5037 端口上。数据传输路径:
adb (client)(服务器) <--port 5037--> adb server (PC)(本地机器) <---usb---> adbd (phone)

而如果 使用 网络(一般是 wifi )连接手机: 你就有两种选择:
adb (client)(服务器) <--port 5037--> adb server (PC)(本地机器) <---port 5555---> adbd (phone)

adb (client)(服务器) <--port 5037--> adb server (PC)(服务器) <---port 5555---> adbd (phone)

参考:
https://github.com/mzlogin/awesome-adb
https://github.com/mzlogin/awesome-adb/issues/4
linhua
2017-05-02 09:59:38 +08:00
补充一下:
如果 使用 网络(一般是 wifi )连接手机: 这种应该也是可以的:
adb (client)(本地机器) <--port 5037--> adb server (PC)(服务器) <---port 5555---> adbd (phone)
shoaly
2017-05-02 11:10:10 +08:00
@linhua 感谢 , 应该是一个很好的思路, 我顺着这个摸一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/358404

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX