拷贝数据到Android手机

在开发PP复读机的过程中,需要访问SD卡的数据。最初想将SD卡直接mount到 ubuntu 上,让 Android 和 Ubuntu 共享SD卡,始终没有成功,有点小遗憾。后面找到了2个可以将就用的方法。

第一种方法是将“ USB debugging ”选项关闭并且“ turn on USB storage”,SD卡就会像U盘一样可以直接访问了。采用这种方法,修改SD数据和调试 APP 不能同时进行。

第二种方法是在手机上安装SSH Server APP,在PC上通过 ftp客户端 (例如FileZilla)访问 SD 卡上的数据,也可以用 putty 登录 Android 操作系统。这种方法,在调试 APP 的时候也能同时访问SD卡上的数据。另外,这种方法是通过局域网进行数据传输,拔掉USB线后依然能保持连接。

在用第二种方法时,出现了2个小问题。

1)Cannot establish FTP connection to an SFTP server. Please select proper protocol. 这个错误是由于在手机上建立的是Secure FTP服务器,而在 Filezilla 中的地址没有使用正确的协议所致,只需要在地址前添加sftp://即可。

2)Error: local: unable to open。 该错误是在下载SD卡数据到PC上时发生的,是因为将 ftp 本地目录设置为根目录 / 所致(没有权限),修改本地目录到有权限的目录就好了。

sd

后记:

后来翔哥推荐了一种更方便的办法,通过 ADB push 命令将文件复制到 sdcard:

adb push /path/to/local/file /mnt/sdcard/path/to/file

参考:

1.Using adb To Copy Files To / From Your Android Device



发表评论?

2 条评论。

  1. @zhangxiang: SSH server app开发者推出的另外一款app(Https and Ftps server)就能在手机上建立http(s)服务器,但是用http server不方便传输数据。
    另外,用linux开发android app的人也很多的哦,也找到了一款可能有用的程序——QtAdb(暂时还未体验):

    ”相信现在很多人都已经在使用android的智能手机了,而为了方便备份和管理手机,在windows下出现了许多android手机的管理软件,如豌豆荚、91、360、金山、、、等等。虽然android是基于linux的内核,但在linux下管理android手机的方法并不多。不过好在国外已经有了类似豌豆荚的软件,甚至功能要更加强大。那就是QtADB,一个全平台的android管理软件“

    回复回复
  2. 开一个 http 服务,允许用户通过浏览器上传文件可以去掉对ftp客户端的依赖,找到 https://github.com/NanoHttpd/nanohttpd 可以搞;

    而其实对于多数用户来说,由于在 windows 系统上,所以有很多手机管理软件可以通过数据线直接访问 sd 卡目录

    回复回复

发表评论