完整的背景是这样的: 一个 Android 项目,非常大,底层全是 C++,由于用到了一些比较特殊的编译选项,目前测试下来只有 Linux/Mac 上面配置起来比较省心,尝试过 MinGW 以及 Cygwin,都遇到了不太好解决的问题,因此之前的解决方案一直是在 Linux 上面去编译。 最近因为新采购了一台 Windows 机器 (i9 + 32G + 1T SSD),而公司 VPN 又只有 Windows/Mac 上面可以用,因此又动了点心思想看看能不能实现想要的效果。
目前想到的解决方案:
使用 WSL2 + Ubuntu 20.04 ,不知道是否能达到使用 Windows 上的 Android Studio,但是编译时使用 WSL 内部的环境?(正在尝试,但感觉有点困难,VSCode 看了下可以实现,但是配置 Android 开发环境还是有点麻烦的)
使用 WSL2 + Ubuntu 20.04 ,在 WSL 内安装完整的 GNOME 环境,使用 WSL Ubuntu 内的 Android Studio 进行编码。(网络环境简单,但 WSL2 加上 GNOME,稳定性确实有些让人担忧)
使用 Windows + VirtualBox(Ubuntu 20.04) 来实现网络从 Windows 实体机上走,写代码时使用 VirtualBox 内部的 Ubuntu 来编译。(肯定可行,但担心虚拟机的 CPU 以及 IO 会不会造成较大的性能损失)
使用 Ubuntu + VirtualBox(Windows) 来实现网络从 Windows 虚拟机走,写代码使用 Ubuntu 。(没有性能损失,也没什么折腾的,但是可能存在 Policy 问题,因为网络走虚拟机的话,外部的使用公司无法监控)
不知道大家有什么想法或建议,还请不吝赐教,提前感谢!
1
Jirajine 2021-04-09 19:24:11 +08:00 via Android
编译时没必要用 as,在 wsl 里装好 sdk/ndk 直接用就行。
|
4
crayygy OP @Jirajine 谢谢提醒,我先尝试一下。
我理解在 AS 中要实现跳转等等功能是需要先编译出一些 symbol 才可以的,不确定是否在 WSL 中编译产出的 symbol 也可以被 Windows 上的 AS 正确 load ? |