0 软硬件环境
- x86_64服务器
- Ubuntu20.04 LTS
- 参考:Cuttlefish 虚拟 Android 设备
- 参考: 笔记:搭建 Cuttlefish 运行环境
- 可以下载编好的android-cuttlefish:android-cuttlefish.tar.gz
1 系统采用Ubuntu20.04 LTS
2 搭建cuttlefish运行环境
-
配置科学的网络(你懂我意思),然后因为我的bazel版本是8.3,需要再配置文件~/.bazelrc
build --action_env=HTTP_PROXY=http://127.0.0.1:8118 build --action_env=HTTPS_PROXY=http://127.0.0.1:8118 build --remote_timeout=600
-
安装依赖包
sudo apt install -y git devscripts config-package-dev debhelper-compat golang curl f2fs-tools libfdt1 libncurses5 liblzma-dev libopus-dev
-
安装bazel
sudo npm install -g @bazel/bazelisk sudo wget https://github.com/bazelbuild/bazelisk/releases/download/v1.18.0/bazelisk-linux-amd64 -O /usr/local/bin/bazel sudo chmod +x /usr/local/bin/bazel
-
安装android依赖的软件包
sudo apt install meson protobuf-compiler libfmt-dev libgoogle-glog-dev libjsoncpp-dev cmake pkg-config libcurl4-openssl-dev libxml2-dev libssl-dev openssl uuid-dev uuid libgtest-dev util-linux net-tools ebtables libarchive-tools libz3-4 grub-efi-ia32-bin openssh-server bridge-utils libsrtp2-1 opus-tools
-
下载cuttlefish源码
git clone https://www.github.com/google/android-cuttlefish.git
-
设置代理
go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct
diff --git a/frontend/src/goutil b/frontend/src/goutil index 449ccab..03e7cd8 100755 --- a/frontend/src/goutil +++ b/frontend/src/goutil @@ -24,7 +24,9 @@ if [[ "$version" > "1.15" ]]; then # Temporary solution until https://github.com/golang/go/issues/28194 is fixed # in order to retry failed fetch requests. # GOPROXY fallback was added in Go 1.15 - export GOPROXY="proxy.golang.org|proxy.golang.org|direct" + #export GOPROXY="proxy.golang.org|proxy.golang.org|direct" + go env -w GO111MODULE=on + go env -w GOPROXY=https://goproxy.cn,direct fi
-
编译
for dir in base frontend; do cd $dir debuild -i -us -uc -b -d cd .. done
如果编译过程中提示下面的错误
最好在编译前执行一下(此命令会对bazel进行一些必要的配置)# 添加 Bazel 仓库 sudo apt install apt-transport-https curl gnupg curl -fsSL https://bazel.build/bazel-release.pub.gpg | gpg --dearmor > bazel.gpg sudo mv bazel.gpg /etc/apt/trusted.gpg.d/ echo "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list # 安装 Bazel sudo apt update && sudo apt install bazel # 查看bazel安装是否完成 bazel --version
-
安装配置
sudo dpkg -i ./cuttlefish-base_*_*64.deb || sudo apt-get install -f sudo dpkg -i ./cuttlefish-user_*_*64.deb || sudo apt-get install -f sudo usermod -aG kvm,cvdnetwork,render $USER sudo reboot