大家搞 android 源码开发的工作环境都是怎样的?

2022-09-05 17:52:48 +08:00
 magicls

现状

身处手机公司,目前身边 Android framework 开发的同事电脑基本都是 Ubuntu ,但几乎人人都要装虚拟机跑 Windows ,或者自己再搞个 Mac 笔记本放旁边,因为总有 IM 软件或者绿色聊天软件或者刷机工具或者一些内部工具只有 Windows 版的,总之就是没见有人只用一台 Ubuntu 的。

个人

我自己在家是搞了一台小电脑跑 Ubuntu 当编译服务器,代码也全在里面,平时 ssh 连上去命令编译,源码目录用 smb 挂出来,平时主用 Mac ,挂载出来之后多少可以改改 bp 文件之类的,简单的文件也可以修改。

问题

目前最大的问题是,源码目录里有些项目要用 Android Studio 打开,而 smb 面对这种大且文件数量众多的场景性能非常拉胯。Mac 下挂出目录之后,根目录下执行 source && lunch 都能卡半天,更加别提整个项目导进 Android Studio 了。如果用 VSCode 打开目录的话能好一些,但那样就失去了依赖和代码提示了,几乎也是不能好好开发的状态。

想问下有没有像我这样只在 Ubuntu 下编译,不主用 Ubuntu 开发的?想知道是怎么搭建开发环境的。

7920 次点击
所在节点    Android
41 条回复
AoEiuV020CN
2022-09-05 18:26:09 +08:00
不知道 idea 的远程开发是否支持安卓,
值得一试,估计会有些 bug 但能用,可以和当前方案对比一下效果,
l4ever
2022-09-05 19:35:22 +08:00
工作用 windows, 有专用的编译服务器, vscode 自带的插件(ssh 协议)连接服务器, 修改文件.
also24
2022-09-05 19:58:05 +08:00
可以在 ubuntu 下安装 Android Studio ,然后 X Server 转发出来用
SmaliYu
2022-09-05 20:00:57 +08:00
ubuntu 基本满足所有需求,还可以 steam 打 dota 。
justanetizen
2022-09-05 20:01:16 +08:00
干过一年 android bsp 开发,不过是大厂,没有专门的看源码的工具,只有各种 email im ,等着芯片厂家给 patch ,牛逼点的,凭感觉找 bug
magicls
2022-09-05 20:30:02 +08:00
@l4ever #2 VSCode 能完整开发 Android 项目吗?比如 Settings 模块之类的。
@also24 #3 是个思路,之前用 WSL2 的时候试过这样,但是迫于输入法还有性能等各种问题放弃了,听说 WSL2 跑 GUI 背后就是通过 X Server 转发,不知真假。但我等下还是会看看纯 Ubuntu 用 X Server ,感谢。
@SmaliYu #4 Ubuntu 确实大部分够用了,怎么说,还是个习惯问题吧。
@justanetizen #5 膜拜大佬。
11232as
2022-09-05 20:33:22 +08:00
JB 家的 IDE 应该都支持通过 ssh 远程开发了,不过目标机只能是 linux 系统,可以尝试下这个功能。我在内网环境下使用几乎感受不到延迟。
zagfai
2022-09-05 21:33:33 +08:00
@also24 X server 转发性能如何? VNC 就很拉跨
nicocho
2022-09-05 22:22:40 +08:00
局域网里 ubuntu + ssh windows ,单个 模块 as 速度还行,整编 就在 ubuntu 下
771007147
2022-09-05 22:26:18 +08:00
工作纯用 Ubuntu 20 ,浏览网页用 Chrome ,沟通用飞书(有 Linux 版),再装个 wine 微信,已经够用了。
开发还是在 Linux 上更方便,shell 用起来太舒服了。
771007147
2022-09-05 22:27:46 +08:00
@771007147 #10 开发用 VSCode 。远程就是 SSH + tmu + VSCode Remote ,1s 进入工作环境,够用
darkengine
2022-09-05 22:39:34 +08:00
一台 Ubuntu 用于存放源码以及负责编译,开 samba 服务共享源码目录。

一台 windows/mac 用于展示,修改代码。
acplumber
2022-09-05 22:58:32 +08:00
我日常用 Arch Linux 做开发,软件版本比 Ubuntu 要新很多。IM 等软件用 QtScrcpy 把手机屏幕显示在电脑上,当“桌面版”用。
aheadlead
2022-09-05 23:03:33 +08:00
以前在 MIUI 工作时,基本都是 ubuntu 14.04 或者 16.04
大多数都是 vim 一把锁
xiiix
2022-09-05 23:08:37 +08:00
JetBrain Remote Development + SSH + vscode + Azure Ubuntu VM
xiiix
2022-09-05 23:09:17 +08:00
再加 mbp
darkengine
2022-09-05 23:18:53 +08:00
@aheadlead vim 一把那很强了,我们还用 source insight 。。。
aheadlead
2022-09-05 23:26:20 +08:00
@darkengine #17 source insight 也用得多啊,还有 opengrok 都挺好的
看起来很挫逼,用起来也很挫逼,但又不是不能用

以前在 vim 下狂撸 perfd ,改得飞起
Android2MCU
2022-09-05 23:38:15 +08:00
Android Framework 开发一名, 我是 Ubuntu 主机一台作编译机,主 力开发机是一台 MacBookPro 电脑, 用 vs code 远程到编译机,再加一台 windows 专门用来刷机。建议不要用 Mac 的 samba 导入代码,Mac 的 samba 有个严重的 bug,经常会导致系统卡死。不过 vs code 也有 bug,项目大一点,代码提示,跳转功能都会用不了,基本就是当 notepad 来用了,要写大块代码时比较痛苦,没有代码提示补全
vigidroid
2022-09-06 06:29:55 +08:00
提供个思路可以试试。

本地和编译服务器都保存一份代码,用 rsync 之类的工具做文件自动同步。本地修改的代码自动同步给 server 。server 用修改后的代码编译,生成的结果文件自动同步回本地。

有个叫 mainframer 的工具是干这个的,但不维护了,也可以找找其他类似的

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

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

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

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

© 2021 V2EX