部分android手机不支持USB Host功能

在android开发USB功能时,少部分android的手机不支持USB的功能,使用如下代码测试:

boolean ret=getPackageManager().hasSystemFeature("android.hardware.usb.host");

调用后ret返回false,表示该手机不支持USB功能。

解决办法如下:

1.使用root工具root手机(推荐使用root大师)

2.在命令行运行

   adb shell;                                                        //打开手机的shell执行

   chmod 777 /system/etc/permissions/                 //修改/system/etc/permissions/ 目录为可写

   如果在执行chmod 777 /system/etc/permissions/ 命令时提示Read-only file system,需要先执行如下命令:

   mount -o remount rw /system

3.在/system/etc/permissions 下,添加 android.hardware.usb.host.xml文件,文件内容如下:

<?xml version="1.0" encoding="utf-8"?> 
<!-- Copyright (C) 2011 The Android Open Source Project 
     Licensed under the Apache License, Version 2.0 (the "License"); 
     you may not use this file except in compliance with the License. 
     You may obtain a copy of the License at 
          http://www.apache.org/licenses/LICENSE-2.0 
     Unless required by applicable law or agreed to in writing, software 
     distributed under the License is distributed on an "AS IS" BASIS, 
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
     See the License for the specific language governing permissions and 
     limitations under the License. 
--> 
<!--  This is the standard feature indicating that the device can communicate 
    with USB devices as the USB host. --> 
<permissions> 
    <feature name="android.hardware.usb.host" /> 
</permissions>

 修改/system/etc/permissions目录下的handheld_core_hardware.xml文件,在<permissions>节点中加入如下代码:

<feature name="android.hardware.usb.host" />

 4.重启手机

相关推荐