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

android 交叉编译 adb,谁搞过

  •  
  •   ChainLock · 1 天前 · 1349 次点击
    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 ,怎么交叉编译

    16 条回复    2025-09-03 18:09:31 +08:00
    FranzKafka95
        1
    FranzKafka95  
       1 天前
    你要编译啥东西,adbd (运行在安卓)还是 adb server&client ,都有源码了直接编啊,编译工具链源码内自带的
    AoEiuV020JP
        2
    AoEiuV020JP  
       1 天前
    先看看官方文档 readme, 再问问 AI ,有什么都试一下,还有不懂再说,
    dinghmcn
        3
    dinghmcn  
       1 天前
    tool2dx
        4
    tool2dx  
       1 天前
    最好别交叉编译 arm 版本的 adb, adb 有严格的路径依赖, 我试了一下 adb for openwrt,各种小问题.
    dinghmcn
        5
    dinghmcn  
       1 天前
    @dinghmcn #3 如果是想编译出命令行使用的 adb 命令
    make -j8 adb
    ChainLock
        6
    ChainLock  
    OP
       1 天前
    @tool2dx 我就是想交叉编译 arm 版本的 adb, adb for 海思芯片
    ChainLock
        7
    ChainLock  
    OP
       1 天前
    @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  
       1 天前
    @ChainLock #7 如果用 arm 的不行;这种非标的不好弄,需要自己写 Makefile 或者看能不能 android.bp 转 Makefile ;最后编译出来也大概率如 4 楼所言有各种问题
    eleba
        9
    eleba  
       23 小时 56 分钟前
    编译过 arm adb, 在 adb shell 里使用 adb 的、 参考了这编文章 aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2Rpc2FwcGVhcnNfbmljay9hcnRpY2xlL2RldGFpbHMvMTE3MDMxNzQz

    希望对你有用,比较古早的版本,还是用 C 写的
    guanzhangzhang
        10
    guanzhangzhang  
       23 小时 41 分钟前
    看下 adb 协议,写个 cli 工具或者库,golang 我搜了个轮子,其他语言就不知道了
    strobber16
        11
    strobber16  
       20 小时 12 分钟前 via Android
    急急急
    ChainLock
        12
    ChainLock  
    OP
       10 小时 11 分钟前
    @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  
       9 小时 53 分钟前
    要的是 adb ,不是 adbd ?
    可以参考 debian armbian 这样的发行版里的构建 adb 的方法,参考过 debian ,很简单
    ChainLock
        14
    ChainLock  
    OP
       8 小时 26 分钟前
    @eleba 这篇教程我成功了
    TonyHoAspire
        15
    TonyHoAspire  
       8 小时 11 分钟前
    个人多年前编译用的:
    https://github.com/tonyho/adbd-linux
    ChainLock
        16
    ChainLock  
    OP
       37 分钟前
    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
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3285 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 10:46 · PVG 18:46 · LAX 03:46 · JFK 06:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.