要达到读取安卓手机内容的目的,我们需要安装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语言包
属于Feroda的yum install golang并不属于我们,所以还是乖乖下载吧。
一.从Go官网(http://golang.org/)下载安装包,我下的是 go1.3.3 linux/amd64
二.解压安装包到/usr/local/下:
cd /usr/local
# tar xzvf go***
三.设置环境变量PATH
# export PATH=$PATH:/usr/local/go/bin
4.下载go-mtpfs(https://github.com/hanwen/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里面终于出现我想要的东西。好吧,至少目的达到,不能即插即用的原因有待排查。