虎绿林HU60.CN
发现版块
Enter
发布登录
发现版块发布我的社区荣誉
登录
虎绿林让技术讨论持续生长京ICP备18041936号-1

高版本安卓文件传输的坑 大家可有什么良策....

乄杺
2020年2月16日 · 2020年2月16日编辑讨论/求助
13.2万 20

比如手机刷机 我会:

ubuntu上面 nc -l 8888 >bak.tar  # 监听8888端口,把接收到的手机数据存储为bak.tar文件
手机上打开 termux tar -cpf - * | nc 192.168.1.100 8888   # 文件边打包 边传输至电脑

把文件全部打包到电脑后,apk也打包下,刷机完毕,apk传回来自动安装。

或者玩游戏,,手机存储空间不足(直接下载解压资源包时需要占用双倍空间),可以直接把另一部手机数据包通过上面方式传过来。

之所以不用ES,,是因为文件比较琐碎,,ES有些无能为力了。。。电脑也没有ES,快牙之类东西。

发现版本高一些手机不能这样操作,不能用ES 和 nc,,想问下有什么替代办法 传输 "比较琐碎 文件体积又比较大" 的 文件吗?,,,求安利。。。要能够边打包边传送的,,要是能打包后再传送就不这样折腾了,,空间不足,,效率还低
我们有着共同的敌人——天命;
你却认命了,还对我说天命不可违‮

登录后收藏
楼层讨论

20 条回复

默认正序
乄杺2020年2月16日
#1

对于上面游戏案例 再详细解释下吧,王者荣耀应用市场直接下载有1个多G,安装后打开只需要解压数据包就行了。
但是在王者荣耀弹出的 更新提示上面 点 更新,apk只有几百兆。打开后需要联网下载数据包并解压。
我安装的就是这个几百兆的apk,数据包 通过另一部手机传送。
我们有着共同的敌人——天命;
你却认命了,还对我说天命不可违‮

老虎会游泳2020年2月16日
#2

@乄杺,某些手机可能不自带nc命令,只需要找一个放进终端模拟器的数据文件夹再给可执行权限就好。

你需要寻找完全静态链接的nc(这样就没有“可重定位”要求,因为只有动态链接程序才需要重定位),或者通过-fPIE参数(可重定位可执行文件)构建的nc,此外运行nc的终端模拟器需要申请存储卡访问权限以便你访问内置存储。
新版安卓不支持不可重定位的动态链接可执行文件(比如为旧版安卓构建的nc),而旧版安卓则不支持可重定位的动态链接可执行文件(比如为新版安卓构建的nc)。

老虎会游泳2020年2月16日
#3

@乄杺,经测试这个nc可以在安卓10上运行(所以应该也可以在所有其他版本的ARM CPU安卓上运行,因为它是纯静态的,不涉及重定位)。
https://github.com/therealsaumil/static-arm-bins/blob/master/nc-arm-static

只需要把它下载到终端模拟器data存储空间(内置存储卡是不行的,没有可执行权限),然后再运行chmod +x nc-arm-static然后就能运行了。可以先复制到内置存储,然后再在终端模拟器复制。执行echo $PATH可以看到终端模拟器的data存储空间在哪里,然后就能cd过去。比如使用JuiceSSH的话,data存储空间就是/data/user/0/com.sonelli.juicessh/files/bin/arm/pie。

# 先把 nc-arm-static 文件放在内置存储卡根目录

echo $PATH
# 得到 /data/user/0/com.sonelli.juicessh/files/bin/arm/pie:……

cd /data/user/0/com.sonelli.juicessh/files/bin/arm/pie
cp /sdcard/nc-arm-static .
chmod +x nc-arm-static
nc-arm-static -h

顺便一提,在JuiceSSH上新建连接,类型选“本地设备”就相当于安卓终端模拟器。而且这个程序会申请存储卡访问权限,并且在$PATH中具有data文件夹路径,你可以把可执行文件放在里面。推荐使用。

乄杺2020年2月16日
#4

@老虎会游泳,的确是不支持,,,不是没这个命令,termux有"ncat"这个包的,busybox也有"nc"这个applet。

上次在一台小米上边(版本忘了,反正比我5.1高)失败,
我妹的oppo a83上边也失败。

这两部手机不能用nc,也不能用ES文件浏览器选中文件后点"发送" 传输文件,我妹的可以ES可以给我发,我给他发就她手机就提示"发送方已断开"
我们有着共同的敌人——天命;
你却认命了,还对我说天命不可违‮

乄杺2020年2月16日
#5

我试下你发这个nc试试
我们有着共同的敌人——天命;
你却认命了,还对我说天命不可违‮

老虎會游泳2020年2月16日
#6

@乄杺,用快传啊,安卓5.0与10.0互传都没问题还有,“发送方已断开”,要么就是接收方热点有问题没开,要么就是发送方没连接上接收方的热点,建议你检查一下热点



菩提本无树,明镜亦非台。
本来无一物,何处惹尘埃!

ฏ้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ฏ้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ฏ้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้۩͇̿v͇̿i͇̿p͇̿۩
華為P30 (Pro版)-(金色)

乄杺2020年2月16日
#7

@老虎會游泳,你说的这些热点问题都可以排除,
至于快传,,真没用过,,大文件也许还好,对于王者荣耀数据包这样文件动辄成千上万个,总大小三个多G 的还不知道 比起 tar配合nc 边打包边传输如何,,,。

再说备份手机数据到电脑 电脑也没快牙这东西啊,,如果手机剩余空间足够 倒是可以分批压缩后传输,要是直接ftp,smb还是算了吧,,,谁用谁知道
我们有着共同的敌人——天命;
你却认命了,还对我说天命不可违‮

老虎會游泳2020年2月17日
#8

别舍不得花钱了,买跟数据线直接手机当U盘插到电脑上不香吗?@乄杺


菩提本无树,明镜亦非台。
本来无一物,何处惹尘埃!

ฏ้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ฏ้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ฏ้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้۩͇̿v͇̿i͇̿p͇̿۩
華為P30 (Pro版)-(金色)

老虎会游泳2020年2月17日
#9

@老虎會游泳,Windows“正在计算复制文件需要的时间”
计算所花的时间比复制完所有文件的时间还久
有时候看起来“永远”也不会计算完

当然这是微软的问题,Linux就可以直接开始复制,不会长时间等待在这种破事上面。

老虎會游泳2020年2月17日
#10

你不会用第三方文件管理器啊@老虎会游泳,


菩提本无树,明镜亦非台。
本来无一物,何处惹尘埃!

ฏ้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ฏ้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ฏ้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้۩͇̿v͇̿i͇̿p͇̿۩
華為P30 (Pro版)-(金色)

老虎会游泳2020年2月17日
#11

@老虎會游泳,但就算在Linux中,打包复制(不压缩,压缩等级选“仅存储”)还是比直接复制快,因为MTP的列目录性能太差,会损失大量的时间。此外如果复制到非SSD分区,你创建这么多文件又要花费一笔可观的时间。

老虎会游泳2020年2月17日
#12

@老虎會游泳,此外,5GHz wifi有机会达到比USB2.0更快的速度。USB2.0只有480Mbps,5GHz可以轻松达到960Mbps,这就快一倍了。几乎没有手机支持USB3.0,而且某些支持USB3.0的也不附带3.0数据线(使用普通数据线只能达到2.0速度。3.0数据线更粗,Type-A接口里有额外的触点),但是很多手机都支持5Ghz,电脑也几乎都是千兆网卡。

乄杺2020年2月17日
#13

@老虎會游泳,楼上@老虎会游泳,正解,一看你几乎不插数据线大量复制文件,sdcard下平时没管过,有几百个目录带文件,第一次开mtp加载文件列表都需要几秒 .....

看来只能插数据线有选择性的分批选择复制了。还是tar无脑统统打包来的爽。手动选有目的备份有时还会漏掉重要文件
我们有着共同的敌人——天命;
你却认命了,还对我说天命不可违‮

老虎會游泳2020年2月17日
#14

不好意思,我还真不用数据线传文件,因为我用的360随身WIFI和小米随身WIFI,跟U盘一样大小,插USB上实现开热点,电脑端安装驱动以后,手机端再安装个360WIFI快传可以实现WIFI传文件。@乄杺




菩提本无树,明镜亦非台。
本来无一物,何处惹尘埃!

ฏ้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ฏ้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ฏ้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้۩͇̿v͇̿i͇̿p͇̿۩
華為P30 (Pro版)-(金色)

老虎會游泳2020年2月17日
#15

试试这款无线文件传输工具:
PC端:GoToMyCloud.zip(5.20 MB)
手机端:GoToMyCloud.apk(6.96 MB)

@乄杺,@老虎会游泳



菩提本无树,明镜亦非台。
本来无一物,何处惹尘埃!

ฏ้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ฏ้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ฏ้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้۩͇̿v͇̿i͇̿p͇̿۩
華為P30 (Pro版)-(金色)
老虎会游泳2020年2月17日
#16

@乄杺,你运行nc到底会出什么问题,有什么错误提示?连不上服务器端?你运行telnet能连上吗?是不是你的终端模拟器没有申请网络权限所以连不上,或者电脑开了防火墙?如果有其他错误提示,贴出来看看。还有,是不是你的tar命令出错了?

乄杺2020年2月17日
#17

@老虎会游泳,
vivo x7plus端先

然后oppo a83端

vivo x7plus界面没有变化。

我平时用的neoterm, bc默认路径是 /data/data/io.neoterm/files/usr/bin/nc

我们有着共同的敌人——天命;
你却认命了,还对我说天命不可违‮

乄杺2020年2月17日
#18

@老虎會游泳,你这也就日常用传个电影什么的挺爽的,谁还用数据线,对于那些碎文件我看也得跪....都不一定有打包到本地后再传输来得快
我们有着共同的敌人——天命;
你却认命了,还对我说天命不可违‮

老虎會游泳2020年2月17日
#19

@乄杺,嗯,碎文件肯定打包来的快,问题是在本地内存不足的情况下只能分批打包


菩提本无树,明镜亦非台。
本来无一物,何处惹尘埃!

ฏ้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ฏ้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ฏ้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้۩͇̿v͇̿i͇̿p͇̿۩
華為P30 (Pro版)-(金色)

老虎会游泳2020年2月20日
#20

@乄杺,你可以试试JuiceSSH。它要支持SSH连接所以会申请原始套接字权限,这样它里面运行的二进制应该也能打开原始套接字。此外,要检测你的服务端是否真的能连上。比如,你可能忘记关闭Windows防火墙或者忘记允许监听端口通过防火墙。

加入这场讨论登录后即可参与讨论
登录并回复
关于作者乄杺

坏孩子,其实你很好,却还不够好。

查看用户主页
帖子信息
发布于2020/02/16 14:01
最后更新2020/02/21 06:01
阅读13.2万