开发 PC 和手机端互传文件的应用 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
IUefx
V2EX    Android

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

  •  
  •   IUefx 2024-03-12 10:45:45 +08:00 10461 次点击
    这是一个创建于 578 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    https://www.smartisan.com/apps/#/handshaker
    LLaMA2
        13
    LLaMA2  
       2024-03-12 15:33:01 +08:00
    众所周知,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  
       2024-03-13 09:20:08 +08:00
    手机一共支持三种模式,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  
       2024-03-13 12:27:37 +08:00
    谷歌的互传,中国大陆版系统都阉割了
    IUefx
        16
    IUefx  
    OP
       2024-03-14 10:06:39 +08:00
    @Tuuure 终端定制化比较严重 无 usb 网络共享功能,甚至 usb 无法切换成文件传输模式
    IUefx
        17
    IUefx  
    OP
       2024-03-14 10:07:37 +08:00
    @imaple 怪我没说清楚 这个手机跟市面上的不一样,无法当作 u 盘来传输
    IUefx
        18
    IUefx  
    OP
       2024-03-14 10:08:04 +08:00
    IUefx
        19
    IUefx  
    OP
       2024-03-14 10:10:06 +08:00
    @LLaMA2 这个我是最开始想的,但是呢 这个终端内置了一个安全管理软件 adb push 和 pull 会直接被拦截
    LLaMA2
        20
    LLaMA2  
       2024-03-14 14:24:45 +08:00
    @IUefx 我说的调用 PC 侧的 adb 命令,前提是手机开启了 [开发者模式]。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5150 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 09:34 PVG 17:34 LAX 02:34 JFK 05:34
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86