1.如何定制android源码的修改修改编译选项 & 后期安装?
2.在谷歌云上高速编译安卓AOSP ROM、驱动、安卓安卓内核并完成刷机
如何定制android源码的源码源码编译选项 & 后期安装?
Android编译过程比较长,配置起来也很麻烦。修改修改现仅就工作遇到的安卓安卓问题做个总结。所用硬件平台为amlogic stvm3。源码源码考试系统源码下载---------------------------------------------------------------------------关于版本号:文件build/core/version_defaults.mk用来检查一些跟版本相关的修改修改变量是否定义;如果未定义,则使用默认值。安卓安卓这些变量包括 PLATFORM_VERSION # 如 2.2.5 PLATFORM_SDK_VERSION # 8,源码源码 对应2.2.5 PLATFORM_VERSION_CODENAME # REL,即发行版 DEFAULT_APP_TARGET_SDK # 同SDK_VERSION或VERSION_CODENAME BUILD_ID # 默认为UNKNOWN BUILD_NUMBER # 默认eng.$(USER).$(shell date +%Y%m%d.%H%M%S)的修改修改形式。 version_defaults.mk首先包含进build_id.mk。安卓安卓用户应当配置build_id.mk,源码源码而不应该改动version_defaults.mk文件。修改修改然后检查上述变量,安卓安卓如未定义则赋值默认值。源码源码---------------------------------------------------------------------------关于调试功能(adb)的开启编译android源码之前总是要先运行build/envsetup.sh,以初始化一些常用命令(实际上是bash的函数,如add_lunch_combo)。其中也从以下文件中引入了一些编译设置: device/${ CHIPSET_VENDOR}/vendorsetup.sh我们这里使用的家谱录入源码CHIPSET_VENDOR为amlogic。比如我们有文件device/amlogic/vendorsetup.sh,内容为"产品名-编译类型(flavor)"列表(称为combo),如下: add_lunch_combo m1ref-eng add_lunch_combo m1ref-user add_lunch_combo m2ref-eng add_lunch_combo m2ref-user add_lunch_combo stvm3-eng add_lunch_combo stvm3-user其中,m1ref和stvm3是产品名(作前缀),后面为编译类型。除此前缀外可选的combo值有: eng, user, userdebug, tests。(参考文件build/core/main.mk中对于变量TARGET_BUILD_VARIANT的筛查条件)我们可以修改vendorsetup.sh文件,来改变为特定设备编译的结果。以下是iapppost工具源码各个编译类型的特点: eng: 工程模式,用于平台级的调试,是默认的编译类型。 待安装的模块tag有: eng, debug, user, development. 安装不带tag的非APK模块; 所安装应用由产品定义文件给出; 默认属性: ro.secure=0, ro.deuggable=1, ro.kernel.android.checkjni=1 adbd默认开启,adb以root身份运行。 user: 即最终用户版; 待安装的应用tag有: user 安装不带tag的非APK模块; 所安装应用由产品定义文件给出; 默认属性有ro.secure=1, ro.debuggable=0; 默认关闭adbd服务(但可通过应用settings来打开,且adb以shell身份运行); userdebug: 与user类似,除了: 支持有限的调试功能; 待安装的应用tag有:debug;
在谷歌云上高速编译安卓AOSP ROM、驱动、内核并完成刷机
感谢肉丝大佬文章 anquanke.com/post/id/... 乌师傅 谷歌云和驱动的cibn直播源码建议 众多翻阅过的博客文章
选择服务器时,可能遇到配额不够的问题。点击申请配额,然后提交申请,等待配置完成。
同步源码时,可以选清华或谷歌源。若操作于谷歌云,则使用谷歌同步源码。指定版本同步时,纯asp源码注意输入y并选择正确的版本。Pixel对应Android 的tag是android-.0.0_r2,build id为QP1A..。确保版本无误,避免后续刷机失败。
htop显示多个cpu运转,cpu使用率为0表示同步完成。
下载驱动,忽略此步骤若无需刷机。Pixel机型对应QP1A..的驱动下载并解压,生成vendor文件夹,内容需复制至AOSP源代码目录。
编译AOSP源码需安装OpenJDK 8,避免使用非SUN JDK1.8导致的编译错误。遇到问题时,执行特定命令初始化编译环境。等待编译,个cpu的谷歌云环境下,编译时间只需几分钟。
编译完成后,系统镜像位于当前目录的out/target/product/sailfish/下。
编译内核,当前版本为3.,分支为gdce。选择内核版本,切到对应分支,开始编译。编译完成后,文件位于指定位置。
刷机编译过程需耐心,重要的是编译速度。谷歌云提供+的cpu,加快编译。源码编译问题多由环境依赖引起,耐心解决。
总结,刷机编译耗时两天,遇到诸多坑点。关键在于编译速度。谷歌云的高cpu配置有助于加速编译过程。环境依赖问题需细心排查,耐心解决。