如何在x86_64 Linux上部署Android Cuttlefish模拟器运行环境

0 软硬件环境

1 系统采用Ubuntu20.04 LTS

2 搭建cuttlefish运行环境

  1. 配置科学的网络(你懂我意思),然后因为我的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
    
  2. 安装依赖包

    sudo apt install -y git devscripts config-package-dev debhelper-compat golang curl f2fs-tools libfdt1 libncurses5 liblzma-dev libopus-dev
    
  3. 安装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
    
  4. 安装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
    
  5. 下载cuttlefish源码

    git clone https://www.github.com/google/android-cuttlefish.git
    
  6. 设置代理

    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
    
  7. 编译

    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
    
  8. 安装配置

    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
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小馬佩德罗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值