4.2.4 使用FDE仓库编译waydroid
1. 安装repo
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo && sudo mv repo /usr/bin/repo && chmod +x /usr/bin/repo
或者直接执行sudo apt install repo
2. 修改repo下载源
`vim /usr/bin/repo`
142 REPO_URL = os.environ.get('REPO_URL', None)
143 if not REPO_URL:
144 REPO_URL = 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
将144行改成清华源,这样可以节省时间。保存后退出。
3. 初始化下载仓库位置
sudo mkdir fde && cd fde
1)使用waydroid原生代码分支:
编译时lunch 29
2)使用fde代码分支:
编译时lunch 45/phytium_fde_arm64-userdebug
4. 下载代码并打patch
应用patch之前需要将代码文件的属主改为自己,否则会因为权限问题导致patch应用失败。
5. 创建编译环境
10.31.91.40 服务器上存在 redroid-builder镜像
进入镜像后,再次将所有文件修改属主。sudo chown wunan:wunan /src -R 这是方便编译程序有权限写目标文件。
6. 编译过程中碰到的问题
没有python可执行程序 ,这是因为没有安装python2导致的。
提示vndk abi 版本不兼容
根据提示运行
提示framework-minus-apex_intermediates/classes.jar contains class file vendor/waydroid/window/V1_0/IWaydroidWindow.class ** not in the allow list build/make/core/tasks/check_boot_jars/package_allowed_list.txt
添加如下两行到文件最末尾(该步骤已经不需要,代码已经提交)
lunch 29 或者 lunch lineage_waydroid_arm64-userdebug
make systemimage -j$(nproc --all)
make vendorimage -j$(nproc --all) 或者make -j 24
编译报错:meson.build:545:2: ERROR: Program 'glslangValidator' not found or not executable。执行 sudo apt install glslang-tools
7. 修改镜像文件格式
output_dir中的system.img和vendor.img就是最终需要的镜像。将这两个文件传输到目标机器的/usr/share/waydroid-extra/images目录下(waydroid-extra/images目录需自己手动创建)。
然后,我们需要重新初始化Waydroid,以便它使用我们的自定义镜像: