区块链技术博客
www.b2bchain.cn

开篇:源码编译与烧写求职学习资料

本文介绍了开篇:源码编译与烧写求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

前言

环境搭建等内容网上资料很多,这里不再赘述。

此处以 Pixel 3a & Android 10 为例介绍如何编译 ROM 包并烧录

手上没有真机的小伙伴可以选择制作模拟器,本文最后提供了基于 Android 10 编译的自定义 AVD 下载链接

编译环境

官方文档

下载源码

这里推荐使用 清华镜像

开篇:源码编译与烧写

下载 每月更新的初始化包 并解压

下载驱动(可选)

如果要刷到真机上,需要下载相应机型的驱动,进入 该链接,选择相应的机型对应的 Android 版本号和驱动

开篇:源码编译与烧写

我这里选择的是 Android 10.0.0(QQ3A.200605.002.A1)

将两个驱动文件下载并解压,并执行

./extract-qcom-sargo.sh ./extract-google_devices-sargo.sh

点击 Enter 并输入 I ACCEPT 同意 License

根据 Build 在 该链接 中找到相匹配的分支,本例中对应 android-10.0.0_r39

开篇:源码编译与烧写

选择分支

执行完上述操作如果直接编译的话实际上是编译的 master 分支,我们还需要切换到想要编译的分支

repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-10.0.0_r39 --depth=1 repo sync -j8 repo start android-10.0.0_r39 --all

编译与烧写

在源码目录执行

source build/envsetup.sh

lunch 进入菜单

选择相应的版本

开篇:源码编译与烧写

我这里选择的是 19

编译

接着便可以进行编译了,可以使用 make -j 命令,其中 j 代表的是编译 job 的数量

执行(我这里指定了生成 log 文件)

make -j32 2>&1 | tee build_20200628_1635.log

编译成功后会出现一个 out 目录,ROM 镜像文件就在此处

例如我的路径为:~/aosp/out/target/product/sargo

烧写

设备进入 bootloader 并执行:fastboot flashall -w,其中 -w 代表清空数据

烧写成功,开机!

制作自定义 AVD(Android Virtual Devices) 系统镜像

很多小伙伴没有相应的真机,不过可以制作出自定义的 AVD 作为模拟器使用。

lunch 进入菜单时选择相应的模拟器,例如选择上图的 24,64 位的通用设备

想要制作 AVD 系统镜像需要制作附加 sdksdk_repo 软件包

执行

$ make -j32 sdk sdk_repo

该操作可能会出现异常,例如

开篇:源码编译与烧写

这是由于没有编译这些工具导致的,解决办法是依次编译这些工具

依次输入如下命令,后面工具视情况而定

$ make libaapt2_jni  $ make dmtracedump  $ make etc1tool  $ make deployagent  $ make aapt  $ make split-select  $ make bcc_compat  $ make apksigner  $ make dx  $ make layoutlib-legacy

编译好相关工具我们再次执行 make -j32 sdk sdk_repo

编译成功后会在 ~/aosp/out/host/linux-x86/sdk/aosp_x86_64 目录下生成 sdk-repo-linux-system-images-eng.[username].zip 文件

按照官方文档中使用镜像的方式我没有成功

开篇:源码编译与烧写

这里我使用了一个取巧的方式

我们在 Android Studio 创建 AVD 时可选的镜像一般有三种,这里还是以 Android 10 为例

开篇:源码编译与烧写

Google Play,Google APIs,和默认的

它们会下载到 SDK/system-images/android-29 中

Google APIs 版本对应的目录就是 google_apis

我们可以将我们编译出的 AVD 镜像 copy 到其中的一个目录

例如,我将自定义的 AVD 镜像放置在了这里:

开篇:源码编译与烧写

我们在创建模拟器时选择自定义的 AVD 镜像即可创建出自己编译 ROM 的模拟器

开篇:源码编译与烧写

这里提供了我编译出来的自定义 AVD,不方便自己编译的小伙伴可以在此处下载

链接:https://pan.baidu.com/s/1LIcuycoU4Ou42VsSBM_MuQ
提取码:CAVD

前言

环境搭建等内容网上资料很多,这里不再赘述。

此处以 Pixel 3a & Android 10 为例介绍如何编译 ROM 包并烧录

手上没有真机的小伙伴可以选择制作模拟器,本文最后提供了基于 Android 10 编译的自定义 AVD 下载链接

编译环境

官方文档

下载源码

这里推荐使用 清华镜像

开篇:源码编译与烧写

下载 每月更新的初始化包 并解压

下载驱动(可选)

如果要刷到真机上,需要下载相应机型的驱动,进入 该链接,选择相应的机型对应的 Android 版本号和驱动

开篇:源码编译与烧写

我这里选择的是 Android 10.0.0(QQ3A.200605.002.A1)

将两个驱动文件下载并解压,并执行

./extract-qcom-sargo.sh ./extract-google_devices-sargo.sh

点击 Enter 并输入 I ACCEPT 同意 License

根据 Build 在 该链接 中找到相匹配的分支,本例中对应 android-10.0.0_r39

开篇:源码编译与烧写

选择分支

执行完上述操作如果直接编译的话实际上是编译的 master 分支,我们还需要切换到想要编译的分支

repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-10.0.0_r39 --depth=1 repo sync -j8 repo start android-10.0.0_r39 --all

编译与烧写

在源码目录执行

source build/envsetup.sh

lunch 进入菜单

选择相应的版本

开篇:源码编译与烧写

我这里选择的是 19

编译

接着便可以进行编译了,可以使用 make -j 命令,其中 j 代表的是编译 job 的数量

执行(我这里指定了生成 log 文件)

make -j32 2>&1 | tee build_20200628_1635.log

编译成功后会出现一个 out 目录,ROM 镜像文件就在此处

例如我的路径为:~/aosp/out/target/product/sargo

烧写

设备进入 bootloader 并执行:fastboot flashall -w,其中 -w 代表清空数据

烧写成功,开机!

制作自定义 AVD(Android Virtual Devices) 系统镜像

很多小伙伴没有相应的真机,不过可以制作出自定义的 AVD 作为模拟器使用。

lunch 进入菜单时选择相应的模拟器,例如选择上图的 24,64 位的通用设备

想要制作 AVD 系统镜像需要制作附加 sdksdk_repo 软件包

执行

$ make -j32 sdk sdk_repo

该操作可能会出现异常,例如

开篇:源码编译与烧写

这是由于没有编译这些工具导致的,解决办法是依次编译这些工具

依次输入如下命令,后面工具视情况而定

$ make libaapt2_jni  $ make dmtracedump  $ make etc1tool  $ make deployagent  $ make aapt  $ make split-select  $ make bcc_compat  $ make apksigner  $ make dx  $ make layoutlib-legacy

编译好相关工具我们再次执行 make -j32 sdk sdk_repo

编译成功后会在 ~/aosp/out/host/linux-x86/sdk/aosp_x86_64 目录下生成 sdk-repo-linux-system-images-eng.[username].zip 文件

按照官方文档中使用镜像的方式我没有成功

开篇:源码编译与烧写

这里我使用了一个取巧的方式

我们在 Android Studio 创建 AVD 时可选的镜像一般有三种,这里还是以 Android 10 为例

开篇:源码编译与烧写

Google Play,Google APIs,和默认的

它们会下载到 SDK/system-images/android-29 中

Google APIs 版本对应的目录就是 google_apis

我们可以将我们编译出的 AVD 镜像 copy 到其中的一个目录

例如,我将自定义的 AVD 镜像放置在了这里:

开篇:源码编译与烧写

我们在创建模拟器时选择自定义的 AVD 镜像即可创建出自己编译 ROM 的模拟器

开篇:源码编译与烧写

这里提供了我编译出来的自定义 AVD,不方便自己编译的小伙伴可以在此处下载

链接:https://pan.baidu.com/s/1LIcuycoU4Ou42VsSBM_MuQ
提取码:CAVD

前言

环境搭建等内容网上资料很多,这里不再赘述。

此处以 Pixel 3a & Android 10 为例介绍如何编译 ROM 包并烧录

手上没有真机的小伙伴可以选择制作模拟器,本文最后提供了基于 Android 10 编译的自定义 AVD 下载链接

编译环境

官方文档

下载源码

这里推荐使用 清华镜像

开篇:源码编译与烧写

下载 每月更新的初始化包 并解压

下载驱动(可选)

如果要刷到真机上,需要下载相应机型的驱动,进入 该链接,选择相应的机型对应的 Android 版本号和驱动

开篇:源码编译与烧写

我这里选择的是 Android 10.0.0(QQ3A.200605.002.A1)

将两个驱动文件下载并解压,并执行

./extract-qcom-sargo.sh ./extract-google_devices-sargo.sh

点击 Enter 并输入 I ACCEPT 同意 License

根据 Build 在 该链接 中找到相匹配的分支,本例中对应 android-10.0.0_r39

开篇:源码编译与烧写

选择分支

执行完上述操作如果直接编译的话实际上是编译的 master 分支,我们还需要切换到想要编译的分支

repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-10.0.0_r39 --depth=1 repo sync -j8 repo start android-10.0.0_r39 --all

编译与烧写

在源码目录执行

source build/envsetup.sh

lunch 进入菜单

选择相应的版本

开篇:源码编译与烧写

我这里选择的是 19

编译

接着便可以进行编译了,可以使用 make -j 命令,其中 j 代表的是编译 job 的数量

执行(我这里指定了生成 log 文件)

make -j32 2>&1 | tee build_20200628_1635.log

编译成功后会出现一个 out 目录,ROM 镜像文件就在此处

例如我的路径为:~/aosp/out/target/product/sargo

烧写

设备进入 bootloader 并执行:fastboot flashall -w,其中 -w 代表清空数据

烧写成功,开机!

制作自定义 AVD(Android Virtual Devices) 系统镜像

很多小伙伴没有相应的真机,不过可以制作出自定义的 AVD 作为模拟器使用。

lunch 进入菜单时选择相应的模拟器,例如选择上图的 24,64 位的通用设备

想要制作 AVD 系统镜像需要制作附加 sdksdk_repo 软件包

执行

$ make -j32 sdk sdk_repo

该操作可能会出现异常,例如

开篇:源码编译与烧写

这是由于没有编译这些工具导致的,解决办法是依次编译这些工具

依次输入如下命令,后面工具视情况而定

$ make libaapt2_jni  $ make dmtracedump  $ make etc1tool  $ make deployagent  $ make aapt  $ make split-select  $ make bcc_compat  $ make apksigner  $ make dx  $ make layoutlib-legacy

编译好相关工具我们再次执行 make -j32 sdk sdk_repo

编译成功后会在 ~/aosp/out/host/linux-x86/sdk/aosp_x86_64 目录下生成 sdk-repo-linux-system-images-eng.[username].zip 文件

按照官方文档中使用镜像的方式我没有成功

开篇:源码编译与烧写

这里我使用了一个取巧的方式

我们在 Android Studio 创建 AVD 时可选的镜像一般有三种,这里还是以 Android 10 为例

开篇:源码编译与烧写

Google Play,Google APIs,和默认的

它们会下载到 SDK/system-images/android-29 中

Google APIs 版本对应的目录就是 google_apis

我们可以将我们编译出的 AVD 镜像 copy 到其中的一个目录

例如,我将自定义的 AVD 镜像放置在了这里:

开篇:源码编译与烧写

我们在创建模拟器时选择自定义的 AVD 镜像即可创建出自己编译 ROM 的模拟器

开篇:源码编译与烧写

这里提供了我编译出来的自定义 AVD,不方便自己编译的小伙伴可以在此处下载

链接:https://pan.baidu.com/s/1LIcuycoU4Ou42VsSBM_MuQ
提取码:CAVD

非常好的入门教程

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 开篇:源码编译与烧写求职学习资料
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们