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

开发 PC 和手机端互传文件的应用

  •  
  •   IUefx · 260 天前 · 7105 次点击
    这是一个创建于 260 天前的主题,其中的信息可能已经有所发展或是发生改变。

    1.背景:定制机器无法把手机当做 U 盘那样互相拷贝文件,手机没有蓝牙以及其他的无线连接方式。客户需要 PC 和手机端可以互相传输文件,通过 USB 连接的方式
    2.我的思路:目前的想法是通过 adb forward 端口转发的方式,手机端开发一个应用,pc 端开发一个应用,两边通过 TCP 来传输。但是又感觉很麻烦的,请教下大佬们有其他的思路或者有现成的开源项目吗,最好是 java 的

    第 1 条附言  ·  258 天前
    有些没交代清楚,首先终端无法被当作 u 盘来拷贝,其次 adb pull/push 用不了
    20 条回复    2024-03-14 14:24:45 +08:00
    xxx2023
        1
    xxx2023  
       260 天前
    localsend?
    IUefx
        2
    IUefx  
    OP
       260 天前
    @xxx2023 谢谢回复,查了下这个必须是通过无线方式?,我的需求是只能 usb 有线连接
    shawndev
        3
    shawndev  
       260 天前
    有 USB 接口的话,OTG 能解决你的问题吗?无线传输也许可以考虑 Wi-Fi Direct
    dode
        4
    dode  
       260 天前
    建设文件服务器,使用 DHCP 网络加 USB 有线网卡上网传输文件
    Tuuure
        5
    Tuuure  
       260 天前
    1 、手机开启 usb 网络共享,再使用某个局域网传输软件; 2 、android 支持作为 usb 配件与主机通信,应该不用 adb 端口转发,https://developer.android.com/develop/connectivity/usb?hl=zh-cn
    MoRanjiang
        6
    MoRanjiang  
       260 天前
    把文件放在指定位置,电脑 OTG 去获取
    listen6256
        7
    listen6256  
       260 天前
    用 usbaccessory aoa 方式。
    imaple
        8
    imaple  
       260 天前
    都连 usb 了手机不是能直接显示成存储吗
    Admstor
        9
    Admstor  
       260 天前
    定制机是客户自己定制的?
    基于安卓系统,那他们自己开发的时候为什么要去掉这个功能?

    简直有病,砍掉原生的腿,接上一个假肢的感觉
    LZFBVER
        10
    LZFBVER  
       260 天前
    文件闪传这个挺好使的
    https://www.coolapk.com/apk/app.eleven.com.fastfiletransfer
    安卓 app ,打开后同一个局域网内就能互传。体积很小,功能够用。
    有网页界面,操作比较方便,只用一个 app 就行,不用两端都安装。
    以前用 airdroid ,就相中它网页操作方便,就是得登录才能用,最近发现文件闪传,也能用网页,就换这个了。
    NoOneNoBody
        11
    NoOneNoBody  
       260 天前
    @Admstor #9
    盲猜是某些特殊组织根据安全机制定制的机器,然后分发给下属使用
    ajan
        12
    ajan  
       260 天前
    handshaker 好东西 ,USB 、WI-FI

    https://www.smartisan.com/apps/#/handshaker
    LLaMA2
        13
    LLaMA2  
       260 天前
    众所周知,USB 有主从的概念,有些定制的设备 USB 不能工作在从设备模式下,也就无法认为他是 U 盘,但他可以自己认识 U 盘,

    如果用户接受手机直接插 U 盘也挺好的,通过 U 盘中转

    你还需要确认定制设备确实可以通过 adb push/pull 推拉文件,
    如果确认没问题,那就好办拉,写个 PC 端软件直接调用 adb 命令推拉文件,交差!

    你大约需要用到如下命令
    adb shell ls -la /sdcard/
    adb pull /sdcard/test.jpg .
    adb push pron.mp4 /sdcard/

    既然如此,PC 端用 dephi6 或者 lazarus 写起来把。30 分钟应该能收工


    但是!!!这个但是很重要,你能说服用户开启开发者模式?
    gcpfree2212fa
        14
    gcpfree2212fa  
       259 天前
    手机一共支持三种模式,adb ,mtp 和 usb ap 。
    adb 不支持 usb3.0 ,所以 adb 的上限就是 30m/s 。
    MTP 模式看两端的 usb 协议版本,usb2.0 的话上限 30m/s ,usb3.0 的话可能更高。但是对于部分文件格式不支持,详见 MTP 吧。
    usb ap 模式有线网络共享,带宽一般能支持 50m/s ,具体取决于手机情况。
    NokiaForever
        15
    NokiaForever  
       259 天前
    谷歌的互传,中国大陆版系统都阉割了
    IUefx
        16
    IUefx  
    OP
       258 天前
    @Tuuure 终端定制化比较严重 无 usb 网络共享功能,甚至 usb 无法切换成文件传输模式
    IUefx
        17
    IUefx  
    OP
       258 天前
    @imaple 怪我没说清楚 这个手机跟市面上的不一样,无法当作 u 盘来传输
    IUefx
        18
    IUefx  
    OP
       258 天前
    IUefx
        19
    IUefx  
    OP
       258 天前
    @LLaMA2 这个我是最开始想的,但是呢 这个终端内置了一个安全管理软件 adb push 和 pull 会直接被拦截
    LLaMA2
        20
    LLaMA2  
       258 天前
    @IUefx 我说的调用 PC 侧的 adb 命令,前提是手机开启了 [开发者模式]。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3579 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 10:52 · PVG 18:52 · LAX 02:52 · JFK 05:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.