V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ChainLock
V2EX  ›  Android

android 交叉编译 adb,谁搞过

  •  
  •   ChainLock · 2 天前 · 1668 次点击
    mkdir -p ~/.bin
    
    PATH="${HOME}/.bin:${PATH}"
    
    curl https://storage.googleapis.com/git-repo-downloads/repo > ~/.bin/repo
    
    chmod a+rx ~/.bin/repo
    
    
    
    repo init --partial-clone -b android-latest-release -u https://android.googlesource.com/platform/manifest
    
    repo sync -c -j8
    

    已经通过 repo 下载了所有的源码,目前 adb 源码在 packages/modules/adb ,怎么交叉编译

    17 条回复    2025-09-04 14:37:48 +08:00
    FranzKafka95
        1
    FranzKafka95  
       2 天前
    你要编译啥东西,adbd (运行在安卓)还是 adb server&client ,都有源码了直接编啊,编译工具链源码内自带的
    AoEiuV020JP
        2
    AoEiuV020JP  
       2 天前
    先看看官方文档 readme, 再问问 AI ,有什么都试一下,还有不懂再说,
    dinghmcn
        3
    dinghmcn  
       2 天前
    tool2dx
        4
    tool2dx  
       2 天前
    最好别交叉编译 arm 版本的 adb, adb 有严格的路径依赖, 我试了一下 adb for openwrt,各种小问题.
    dinghmcn
        5
    dinghmcn  
       2 天前
    @dinghmcn #3 如果是想编译出命令行使用的 adb 命令
    make -j8 adb
    ChainLock
        6
    ChainLock  
    OP
       2 天前
    @tool2dx 我就是想交叉编译 arm 版本的 adb, adb for 海思芯片
    ChainLock
        7
    ChainLock  
    OP
       2 天前
    @tool2dx

    交叉工具链路径
    /opt/hisi-linux/x86-arm/aarch64-mix410-linux/bin/aarch64-mix410-linux-gcc


    source build/envsetup.sh

    lunch aosp_arm64

    mmm packages/modules/adb

    我执行了以上命令,只生成了 adbd ,交叉工具链路径也没有用到,这不对

    @dinghmcn #3
    dinghmcn
        8
    dinghmcn  
       2 天前
    @ChainLock #7 如果用 arm 的不行;这种非标的不好弄,需要自己写 Makefile 或者看能不能 android.bp 转 Makefile ;最后编译出来也大概率如 4 楼所言有各种问题
    eleba
        9
    eleba  
       2 天前
    编译过 arm adb, 在 adb shell 里使用 adb 的、 参考了这编文章 aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2Rpc2FwcGVhcnNfbmljay9hcnRpY2xlL2RldGFpbHMvMTE3MDMxNzQz

    希望对你有用,比较古早的版本,还是用 C 写的
    guanzhangzhang
        10
    guanzhangzhang  
       2 天前
    看下 adb 协议,写个 cli 工具或者库,golang 我搜了个轮子,其他语言就不知道了
    strobber16
        11
    strobber16  
       2 天前 via Android
    急急急
    ChainLock
        12
    ChainLock  
    OP
       1 天前
    @dinghmcn #8

    https://android.googlesource.com/?format=HTML

    platform/packages/modules/adb 新版 只有 Android.bp
    platform/system/adb 老版 Android.bp Android.mk

    我正打算将新版的 Android.bp 转 Makefile ,看看行不行
    masterclock
        13
    masterclock  
       1 天前
    要的是 adb ,不是 adbd ?
    可以参考 debian armbian 这样的发行版里的构建 adb 的方法,参考过 debian ,很简单
    ChainLock
        14
    ChainLock  
    OP
       1 天前
    @eleba 这篇教程我成功了
    TonyHoAspire
        15
    TonyHoAspire  
       1 天前
    个人多年前编译用的:
    https://github.com/tonyho/adbd-linux
    ChainLock
        16
    ChainLock  
    OP
       1 天前
    https://blog.csdn.net/disappears_nick/article/details/117031743

    我参考了这篇文章,交叉编译成功了,然后我放到板子上面,出现了问题

    /home/input # adb connect 128.0.12.109:5555
    connected to 128.0.12.109:5555

    /home/input # adb devices
    List of devices attached
    128.0.12.109:5555 offline 一直在离线状态

    adb version
    Android Debug Bridge version 1.0.31

    我的安卓版本是 12
    ChainLock
        17
    ChainLock  
    OP
       10 小时 7 分钟前
    @masterclock 能给点详细的吗
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1500 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:44 · PVG 00:44 · LAX 09:44 · JFK 12:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.