> CentOS > CentOS入门 >

CentOS下读取安卓手机内容

参考文章:http://www.zavedil.com/software-mtp-support-rhel-6/ 

要达到读取安卓手机内容的目的,我们需要安装go-mtpfs,在这之前,需要先装上一些基本的配件:

1.yum install bison gcc mercurial libusb-devel

2.如果你的电脑没有libusb-1.0的话,在安装过程中会出错,下面是安装的链接:

http://sourceforge.net/projects/libusb/files/libusb-1.0/libusb-1.0.9/libusb-1.0.9.tar.bz2

下载到一个/tmp之类的文件夹中,解压 tar xjvf libu**  ,然后进入该文件夹,依次执行 ./configure ;make;make install(当然这需要在root的身份下)

安装完之后,还需要配置环境:

export PKG_CONFIG_PATH=/usr/lib/pkgconfig:$PKG_CONFIG_PATH   其中的/usr/lib/不一定是存在pkgconfig的,具体要写pkgconfig存在的位置

3.安装go语言包,详见我的博客“CentOS6.5下安装golang”

4.下载go-mtpfs

    mkdir /tmp/go 
    export GOPATH=/tmp/go
    go get github.com/hanwen/go-mtpfs
    cp /tmp/go/bin/go-mtpfs /usr/bin
    chmod 4755 /usr/bin/go-mtpfs
5.配置挂载:

 

         chmod 4755 /bin/fusermount

         mkdir  /mnt/phone

         chmod 777 /mnt/phone

       然后在/usr/bin 中新建两个文件phone-mount.sh 和 phone-unmount.sh 并修改它们的权限为 777.

       编辑两个文件的内容:

phone-mount.sh:

 

#/bin/bash
# Export a suitable path - it is requred by the module, 
# but will not be supplied by the udev:
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
# Run the mounter as the user who will access the phone - 
# replace USER with your username
su USER -c "/usr/bin/go-mtpfs /mnt/phone &"
# Exiting is important, else udev may hang here forever
exit

 

phone-unmount.sh:

#/bin/bash
# Export a suitable path
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
# Run the FUSE unmounter
/bin/fusermount -u /mnt/phone

       保存后再修改权限为755。

       最后到/etc/udev/rules.d 文件夹中,新建一个rules文件,当然,如果你之前已经创建或者文件夹里存在诸如51-android.rules这样子的文件,那就不用新建了:

进入新建的文件夹,编辑:

 

SUBSYSTEM=="usb", ATTRS{idVendor}=="AAAA", ATTRS{idProduct}=="BBBB", ACTION=="add", RUN+="/usr/bin/phone-mount.sh"
ENV{ID_VENDOR_ID}=="AAAA", ENV{ID_MODEL_ID}=="BBBB", ACTION=="remove", RUN+="/usr/bin/phone-unmount.sh"

其中 AAAA是你手机的供应商识别吗,而BBBB是你的手机产品识别码。你可以用lsusb的指令查看手机的具体ID。

 

 

6.写在后面,至此,重启后理论上应该就可以即插即用了,不过我出了点小差错,没反应。

晕,,,,,所以我只能直接用指令罗,

su USER -c "/usr/bin/go-mtpfs /mnt/phone &"
其中USER记得替换为你自己的名字,在/mnt/phone里面终于出现我想要的东西。好吧,至少目的达到,不能即插即用的原因有待排查。 (责任编辑:IT)