SystemUI apk 제거 후 adb 디버깅이 적용되지 않음

SystemUI를 제거한 후adb 디버깅을 열고adb 보고 error: device unauthorized를 연결합니다.This adbd’s $ADB_VENDOR_KEYS is not set; try ‘adb kill-server’ if that seems wrong. Otherwise check for a confirmation dialog on your device.adb 디버깅을 열면 Debug 권한이 확인되는 Dialog가 나타날 수 있기 때문입니다. 사실 이 dialog는 activity입니다. frameworks/base/core/res/res/values/config를 시작합니다.xml의

    com.android.systemui/com.android.systemui.usb.UsbDebuggingActivity

    
    com.android.systemui/com.android.systemui.usb.UsbDebuggingSecondaryUserActivity

SystemUI를 제거한 후 UsbDebugging Activity나 UsbDebugging Secondary UserActivity에 들어갈 수 없습니다. 이 activity를 시작하는 코드 블록에서 debug 권한을 기본적으로 열면 됩니다. 프레임워크/base/services/usb/java/com/android/server/usb/UsbDebugging Manager.java의 private void startConfirmation(String key, String fingerprints) 방법에 다음과 같은 코드를 추가합니다
if(fingerprints == null){
        	return;
        }
        try {
            IBinder b = ServiceManager.getService(Context.USB_SERVICE);
            IUsbManager service = IUsbManager.Stub.asInterface(b);
            if (true) {
                service.allowUsbDebugging(true, key);
            } else {
                service.denyUsbDebugging();
            }
        } catch (Exception e) {
            Slog.e(TAG, "Unable to notify Usb service", e);
        }

좋은 웹페이지 즐겨찾기