Ubuntu无法识别android设备

用命令lsb查看当前android设备usb属性

1
2
3
4
5
6
7
8
9
$ lsusb
Bus 001 Device 002: ID 8087:8000 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 078: ID 138a:0011 Validity Sensors, Inc. VFS5011 Fingerprint Reader
Bus 002 Device 003: ID 8087:07dc Intel Corp.
Bus 002 Device 002: ID 5986:0652 Acer, Inc
Bus 002 Device 081: ID 22b8:2e81 Motorola PCS
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

修改/etc/udev/rules.d/51-android.rules

1
2
$ sudo vi /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="2e81", MODE="0666", GROUP="plugdev"

重新加载udev rule

1
sudo udevadm control --reload-rules

查看设备

1
adb devices

升级android app sdk

安装apk时出现:“此应用专为旧版Android打造,因此可能无法正常运行”

弹窗代码:AppWarnings.java

1
2
3
4
5
public void showDeprecatedTargetDialogIfNeeded(ActivityRecord r) {
if (r.appInfo.targetSdkVersion < Build.VERSION.MIN_SUPPORTED_TARGET_SDK_INT) {
mUiHandler.showDeprecatedTargetDialog(r);
}
}

Build.VERSION.MIN_SUPPORTED_TARGET_SDK_INT值:

1
2
public static final int MIN_SUPPORTED_TARGET_SDK_INT = SystemProperties.getInt(
"ro.build.version.min_supported_target_sdk", 0);

adb shell获取属性值:

1
getprop ro.build.version.min_supported_target_sdk

修改build.gradle: buildToolsVersion