Docker - Android源码编译与烧写

创建源代码 并挂载到win目录
docker run -v /mnt/f/android8.0:/data/android8.0 -it --name android8.0 49a981f2b85f /bin/bash

使用 docker update 命令动态调整内存限制:

重新运行一个容器
docker run -m 512m my_container
docker update --memory 512m --memory-swap -1 my_container

修改运行中容器
显示运行中容器
docker ps
这将把容器的内存限制设置为 512 兆字节。如果你想增加内存限制,可以将 --memory 参数的值调整为更大的值。
docker update --memory 512m <container_id_or_name>
重启
docker restart <container_id_or_name>

显示容器内存以及 cpu使用情况
docker stats <container_id_or_name>

修改容器核心数量

重新运行一个容器
docker run --cpus 2 my_image

修改运行中容器
显示运行中容器
docker ps
更新容器的 CPU 核心数
docker update --cpus 2 <container_id_or_name>
重启
docker restart <container_id_or_name>

修改WSL的核心数和内存容量
在这里插入图片描述
新建WSL配置文件

# Settings apply across all Linux distros running on WSL 2
[wsl2]

# Limits VM memory to use no more than 4 GB, this can be set as whole numbers using GB or MB
memory=8GB 

# Sets the VM to use two virtual processors
processors=24

# Specify a custom Linux kernel to use with your installed distros. The default kernel used can be found at https://github.com/microsoft/WSL2-Linux-Kernel
# kernel=C:\\temp\\myCustomKernel

# Sets additional kernel parameters, in this case enabling older Linux base images such as Centos 6
# kernelCommandLine = vsyscall=emulate

# Sets amount of swap storage space to 8GB, default is 25% of available RAM
# swap=8GB

# Sets swapfile path location, default is %USERPROFILE%\AppData\Local\Temp\swap.vhdx
# swapfile=C:\\temp\\wsl-swap.vhdx

# Disable page reporting so WSL retains all allocated memory claimed from Windows and releases none back when free
# pageReporting=false

# Turn off default connection to bind WSL 2 localhost to Windows localhost
# localhostforwarding=true

# Disables nested virtualization
# nestedVirtualization=false

# Turns on output console showing contents of dmesg when opening a WSL 2 distro for debugging
# debugConsole=true

在这里插入图片描述

User/bin/bash: rsync: command not found
sudo apt-get update
sudo apt-get install rsync

编译成功 撒花✨✨✨
在这里插入图片描述

挂载输出目录
docker run -it -v /mnt/f/out:/mnt/f/out --name android-8.0.0_r17_env_v1.0 9d7f84ef799b /bin/bash

导出系统镜像
cp system.img /mnt/f/out/⭐⭐

同步文件夹
rsync -av /root/android8.0/out/target/product/angler/*.txt /mnt/f/out/⭐⭐⭐⭐

root@ce0fbb39ab6f:~/android8.0/out/target/product/angler# rsync -av --exclude='*/' /root/android8.0/out/target/product/angler/*.img  /mnt/f/out/
sending incremental file list
boot.img
cache.img
ramdisk-recovery.img
ramdisk.img
recovery.img
system.img
userdata.img
vendor.img

sent 1,375,517,306 bytes  received 168 bytes  119,610,215.13 bytes/sec
total size is 1,375,181,071  speedup is 1.00

烧写
参考Framework入门のPiex 6P源码(下载/编译/刷机)

fastboot erase cache \
fastboot flash boot boot.img \
fastboot flash recovery recovery.img \
fastboot flash system system.img \
fastboot flash userdata userdata.img \
fastboot flash cache cache.img \
fastboot flash vendor vendor.img \
fastboot reboot

验证编译时间

adb shell getprop ro.build.date.utc
#2023-12-12 15:36:25
1702366585 

释放内存
关闭wsl,释放vmmem
wsl --shutdown

完结撒花✨🌸🎉

https://lixiaogang03.github.io/2020/11/08/Docker-Android/
https://segmentfault.com/a/1190000039970343

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值