androidlinux下编译问题
-
adt无法识别手机解决办法:
1.手机连接上电脑,在终端中运行命令lsusb
Bus005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus002 Device 003: ID 413c:2106 Dell Computer Corp.
Bus002 Device 002: ID 0461:4d81 Primax Electronics, Ltd
Bus002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus001 Device 010: ID 0bb4:0c87 High Tech Computer Corp.
Bus001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
可以看到HighTech Computer Corp.
然后建立个文件touch/etc/udev/rules.d/51-android.rules并授予读写执行权限,然后在里面追加SUBSYSTEM=="usb",ATTRS{idVendor}=="0bb4",ATTRS{idProduct}=="0c87",MODE="0666"
或者SUBSYSTEM=="usb",SYSFS{"High Tech Computer Corp."}=="0bb4",MODE="0666"
其中的idvendoridProduct指的是USB的ID可以使用lsusb查询得到。
比如我的是:
Lsusb
Bus001 Device 010: ID 0bb4:0c87 High Tech Computer Corp
ID0bb4 就是idVendor,0c87就是idProduct
-
运行以下命令:
-
sudochmod a+rwx /etc/udev/rules.d/51-android.rules
sudo/etc/init.d/udev restart
如果使用sudo/etc/init.d/udev restart出现错误提示如下:
Ratherthan invoking init scripts through /etc/init.d, use the service(8)utility, e.g. service udev restart
Sincethe script you are attempting to invoke has been converted to anUpstart job, you may also use the restart(8) utility, e.g. restartudev
udevstart/running, process 2127
应该执行:sudo service udevrestart
-
重启adb和设备:
在 Androidsdk 的platform-tools目录下运行 (事先将platform-tools和tools对应的目录加到PATH下面)
sudo./adb kill-server
-
重启机器即可。
2.linux下安装apk包的方法:
1.将apk包移动至adb所在的文件加下
2.进入adb所在的文件夹下
3.输入./adbinstall apk包
3. Ubuntu--解决USB不能自动识别问题
最近项目需要在Android源码中进行开发,于是在VirtualBox中安装Ubuntu,郁闷的是插上usb连接线,连接上手机,Ubuntu不能自动识别连接设备。在网上搜索了很多解决办法,各抒己见,最终找到一种可行的解决方案:
1、安装usbmount
$sudo apt-get install usbmount
2、更改usbmount配置文件
$sudo gedit /etc/usbmount/usbmount.conf
3、在打开的文件中找到FILESYSTEM,并在其中添加vfat,ntfs
4.FS_MOUNTOPTIONS这个选项中加入,
"-fstype=vfat,iocharset=utf8,codepage=936,umask=000,users”
5、重启udev
[ruby]
$sudo/etc/init.d/udev restart
6、重启Ubuntu
$sudo reboot
重启之后即可识别USB。