Android USB debugging 功能失效
2014-04-10 13:40
387 查看
1. 修改按Builder number 的次數成為開發者:
packages/app/setings/DeviceInfoSettings.java
static final int TAPS_TO_BE_A_DEVELOPER = 7;
DevelopmentSettings.PREF_SHOW = true;
2. packages/apps/Settings/src/com/android/settings/DevelopmentSettings.java
mEnableAdb = "USB debugging" check box
"Allow development settings?"
mAdbDialog = "Allow USB debugging?" dialog box
mAdbKeysDialog = "Revoke access to USB debugging from all computers you\'ve previously authorized?"
updateVerifyAppsOverUsbOptions()
private void updateVerifyAppsOverUsbOptions() {
updateCheckBox(mVerifyAppsOverUsb, Settings.Global.getInt(getActivity().getContentResolver(),
Settings.Global.PACKAGE_VERIFIER_INCLUDE_ADB, 1) != 0);
mVerifyAppsOverUsb.setEnabled(enableVerifierSetting());
}
mVerifyAppsOverUsb
mVerifyAppsOverUsb = findAndInitCheckboxPref(VERIFY_APPS_OVER_USB_KEY);
"clear_adb_keys" 不見了
mClearAdbKeys = findPreference(CLEAR_ADB_KEYS);
if (!SystemProperties.getBoolean("ro.adb.secure", false)) {
if (debugDebuggingCategory != null) {
debugDebuggingCategory.removePreference(mClearAdbKeys);
}
}
The ADB host authentication functionality is enabled by default when the
current default.prop:
ro.secure=1
ro.allow.mock.location=0
ro.debuggable=1
persist.sys.usb.config=adb
but it should be something like this:
ro.secure=1
ro.allow.mock.location=0
ro.debuggable=0
persist.sys.usb.config=mtpro.adb.secure=1
How to set ro.adb.secure=1 ?
PRODUCT_DEFAULT_PROPERTY_OVERRIDES := \
$(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_DEFAULT_PROPERTY_OVERRIDES))
------------------------
Solution:
1. 修改 ./build/core/main.mk
ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=1
+ ADDITIONAL_DEFAULT_PROPERTIES += ro.adb.secure=1
2. 修改 ./device/asus/flo/device.mk
+ PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
+ persist.sys.usb.config=mtp
重build BSP, 觀察 root/default.prop 內容:
root$ cat default.prop
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.secure=1
ro.adb.secure=1
ro.allow.mock.location=0
ro.debuggable=1
persist.sys.usb.config=mtp,adb
燒到Nexus 平版, Debug 可以認到了
packages/app/setings/DeviceInfoSettings.java
static final int TAPS_TO_BE_A_DEVELOPER = 7;
DevelopmentSettings.PREF_SHOW = true;
2. packages/apps/Settings/src/com/android/settings/DevelopmentSettings.java
mEnableAdb = "USB debugging" check box
"Allow development settings?"
mAdbDialog = "Allow USB debugging?" dialog box
mAdbKeysDialog = "Revoke access to USB debugging from all computers you\'ve previously authorized?"
updateVerifyAppsOverUsbOptions()
private void updateVerifyAppsOverUsbOptions() {
updateCheckBox(mVerifyAppsOverUsb, Settings.Global.getInt(getActivity().getContentResolver(),
Settings.Global.PACKAGE_VERIFIER_INCLUDE_ADB, 1) != 0);
mVerifyAppsOverUsb.setEnabled(enableVerifierSetting());
}
mVerifyAppsOverUsb
mVerifyAppsOverUsb = findAndInitCheckboxPref(VERIFY_APPS_OVER_USB_KEY);
"clear_adb_keys" 不見了
mClearAdbKeys = findPreference(CLEAR_ADB_KEYS);
if (!SystemProperties.getBoolean("ro.adb.secure", false)) {
if (debugDebuggingCategory != null) {
debugDebuggingCategory.removePreference(mClearAdbKeys);
}
}
The ADB host authentication functionality is enabled by default when the
ro.adb.securesystem property is set to 1, and there is no way to disable it via the system settings interface.
/default.propdoesn't set ro.adb.secure
current default.prop:
ro.secure=1
ro.allow.mock.location=0
ro.debuggable=1
persist.sys.usb.config=adb
but it should be something like this:
ro.secure=1
ro.allow.mock.location=0
ro.debuggable=0
persist.sys.usb.config=mtpro.adb.secure=1
How to set ro.adb.secure=1 ?
PRODUCT_DEFAULT_PROPERTY_OVERRIDES := \
$(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_DEFAULT_PROPERTY_OVERRIDES))
------------------------
Solution:
1. 修改 ./build/core/main.mk
ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=1
+ ADDITIONAL_DEFAULT_PROPERTIES += ro.adb.secure=1
2. 修改 ./device/asus/flo/device.mk
+ PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
+ persist.sys.usb.config=mtp
重build BSP, 觀察 root/default.prop 內容:
root$ cat default.prop
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.secure=1
ro.adb.secure=1
ro.allow.mock.location=0
ro.debuggable=1
persist.sys.usb.config=mtp,adb
燒到Nexus 平版, Debug 可以認到了
相关文章推荐
- Delphi在Android下实现BroadcastReceiver功能(举例在Delphi下获取USB外设拔插消息)
- Android 4.4 Kitkat 使能 USB adb 功能
- android USB绑定功能实现(framework)
- android 报错——android studio 自动提示功能失效
- Android 4.4 Kitkat 使能 USB adb 功能
- Android KitKat 4.4平台开发-添加USB ADB和MTP功能支持
- android USB绑定功能实现(fr…
- Android--解决EditText放到popupWindow中,原有复制、粘贴、全选、选择功能失效问题
- android USB绑定功能实现(fr…
- Android 下的usb框架及功能点
- 使用 Android 手机上的 "USB 绑定"功能
- Secure USB debugging in Android 4.2.2
- 008-Android平台开发-USB mass storage porting-USB功能移植
- Android关闭USB的ADB调试和文件传输功能(禁用USB)
- Android [USB]如何开关默认USB调试功能
- 经常插拔USB设备导致USB功能失效:通用串行总线控制器出行黄色感叹号的解决办法
- UT-S3C6410 android系统实现同伙usb wifi无线上网功能
- Linux USB Gadget 实现我们自己的ADB(android debug bridge ),Linux下高级调试功能(一)
- Android关闭USB的ADB调试和文件传输功能(禁用USB)【转】
- android里面的USB功能----Host模式