安卓源代码编译,构建ADB篇

本文介绍了如何在GoogleCloudPlatform上使用免费资源初始化代码仓库,配置git和repo,下载AOSP代码,安装编译环境,包括JDK,然后选择构建目标并编译ADB。最后还提到对ADB进行自定义修改的过程。
摘要由CSDN通过智能技术生成

初始化代码仓

首先我这边尝试了使用虚拟机ubuntn22去构建,但是一直有问题。并且耗费时间。
刚好看到有一篇写了可以用免费的谷歌计算云Google Cloud Platform编译构建。
免费的又好用。

注册Google Cloud Platform

登录GCP
里面注册好之后有免费的额度,账单信息随便填,然后添加信用卡即可。信用卡只是用来看下是否是机器人。不扣费

创建实例

首先点击创建虚拟机实例
点击创建虚拟机实例
然后选择机器,位置随便选,然后核心选最多的,内存能选多少是多少,反正有限额
在这里插入图片描述
硬盘就选满250gb就行,然后系统选择ubuntn20.
在这里插入图片描述
在这里插入图片描述
后面选上这两个,我也不知道有什么用,别人的教程里面有,选上就行。
此时虚拟机就安装好了。然后想要通过另外的ssh工具连接,只需要
参考一下这个老哥的操作就行
https://blog.csdn.net/zzsonyzz12/article/details/107813886

开始下载AOSP代码

安装依赖

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip

git配置

git config --global user.name 'xxx'
git config --global user.email 'xxx@xxx.com'

repo配置

mkdir ~/bin
PATH=~/bin:$PATH
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
chmod +x ~/bin/repo

创建仓库

mkdir android/
cd android/

下载代码

我是直接下载master,因为我只想要编译adb
机器是谷歌的,直接用谷歌的仓就行了

repo init -u https://android.googlesource.com/platform/manifest

同步全部代码

repo sync -c -j8

安卓编译环境

安装JDK

sudo apt-get install openjdk-11-jdk

再安装一次依赖

sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig

上面内容参考出处
https://blog.csdn.net/code_lyb/article/details/128285357

开始编译

初始化环境

source build/envsetup.sh
或者:
. build/envsetup.sh

选择构建目标`

lunch

然后有很多选项,我随便选的1
因为我只需要adb不需要其他的

编译adb

make adb

完成后,会在out/host目录里面有两个文件夹,一个window一个linux,adb就在里面的bin文件夹。
在这里插入图片描述

ADB修改

最后记录一下adb的修改。
我是想让adb自己启动的时候就是加上-a参数,adb deivces自动拉起监听0.0.0.0的服务
在adb.cpp文件中,直接修改启动参数即可
在这里插入图片描述
修改完成后,替换原来的文件,再编译一次即可。

  • 14
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
要在Yocto中编译ADB源代码,您可以按照以下步骤进行操作: 1. 在您的Yocto项目中,找到您要编译的目标机器的配置文件(例如MACHINE=qemuarm)。 2. 在您的构建环境中,安装adbandroid-tools软件包。您可以使用以下命令进行安装: ``` $ sudo apt-get update $ sudo apt-get install adb android-tools ``` 3. 在您的Yocto项目中,将meta-android仓库添加到您的bblayers.conf文件中。您可以使用以下命令进行添加: ``` $ bitbake-layers add-layer meta-android ``` 4. 在您的local.conf文件中,将以下内容添加到末尾: ``` # Enable ADB IMAGE_INSTALL_append = " adb" ``` 5. 克隆ADB源代码到您的Yocto项目中。您可以使用以下命令进行克隆: ``` $ cd /path/to/your/yocto/project/ $ git clone https://android.googlesource.com/platform/system/core.git ``` 6. 在您的Yocto项目中,创建一个新的recipe文件(例如adb.bb)并将以下内容添加到文件中: ``` DESCRIPTION = "Android Debug Bridge (ADB)" SECTION = "console/network" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1" SRC_URI = "file://core/adb/adb.c \ file://core/adb/adb.h \ file://core/adb/commandline.c \ file://core/adb/transport.c \ file://core/adb/transport_local.c \ file://core/adb/transport_usb.c \ file://core/adb/transport_usb.h \ file://core/adb/usb_linux.c \ file://core/adb/usb_vendors.c" S = "${WORKDIR}" CFLAGS_append = " -DADB_HOST=0 -Wno-unused-function" do_compile() { ${CC} ${CFLAGS} ${LDFLAGS} -Icore/adb -o adb core/adb/adb.c core/adb/commandline.c core/adb/transport.c core/adb/transport_local.c core/adb/transport_usb.c core/adb/usb_linux.c core/adb/usb_vendors.c -lcrypto -lpthread -lrt -lm } do_install() { install -d ${D}${bindir} install -m 0755 adb ${D}${bindir}/adb } ``` 7. 构建您的Yocto项目。您可以使用以下命令进行构建: ``` $ bitbake core-image-minimal ``` 8. 如果构建成功,您可以在生成的文件系统中找到adb二进制文件。如果您的目标机器是ARM架构,它应该在以下路径中: ``` /usr/bin/arm-poky-linux-gnueabi/adb ``` 请注意,这只是一个大概的指南,因为ADB编译过程可能因不同的Yocto版本和目标机器而有所不同。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值