Utilice el comando adb para activar la depuración USB
Encuentre el código sobre la habilitación de depuración USB en paquetes/apps/settings/src/com/Android/settings/development settings Java:
[java]. ¿Mirando la llanura? Copiar
configuración. Secure . putint(getContentResolver(), ? settings. Secure.ADB_ENABLED, ? 0?);
En este archivo, los valores se guardarán en la base de datos de configuración según la configuración del usuario. En otros lugares, se tomarán medidas apropiadas en función de los cambios dinámicos en su valor.
Después de buscar, descubrí que este valor se usa para determinar si se debe notificar en la barra de estado en FrameWorks/base/services/Java/com/Android/server/notificationmanagerservice Java. El código es el siguiente:
Otros lugares tomarán las acciones correspondientes en función de los cambios dinámicos en su valor, como los mensajes de la barra de estado.
[java]? ¿Mirando la llanura? Copia
¿No es válido? observar()? {
¿Analizador de contenido? ¿Analizador? =?m contexto . getcontentresolver();
resolver .registercontentobserver(setting.Secure.getUriFor(
setting.Secure.ADB_ENABLED),? false?,?this?); /p>
actualizar();
}
@Overridepublicvoid? onChange(?Booleano?Autocambio)? {
actualización();
}
¿publicvoid? actualizar()? {
¿Analizador de contenido? ¿Analizador? =?m contexto .getcontentresolver();
Madbenblad? =?Configuración. Secure.getInt(Analizador,
Configuración. Secure.ADB_ENABLED, ?0??! =?0?;
updateAdbNotification();
}
Al analizar el código, podemos usar el programa para activar automáticamente la depuración de USB.
[java]? ¿Mirando la llanura? ¿Copiar
Booleano? habilitarAdb? =?(setting.secure.getint(getContentResolver(),?setting.Secure.ADB_ENABLED,?0)?>?0);?
¿Y si? (!enableAdb)? {?
Configuración. seguro . putint(getContentResolver(), ? configuración. Secure.ADB_ENABLED, ? 1);?
}?
Ejecútalo ahora y aparecerá una excepción. Puede ver a través de Logcat que no hay permiso. Androide. licencia. La configuración de escritura _ segura _ no puede ser ejecutada por programas ordinarios y debe firmarse o colocarse en el sistema.
/system/app.
(1), ¿agregar dos permisos a AndroidManifest.xml
[html]? ¿Mirando la llanura? ¿Copiar
y permiso de uso? Android:nombre = " Android . permiso . escribir _ CONFIGURACIÓN " ></uses-permission>
<¿Usa permiso? Android:nombre = " Android . permiso . escribir _ CONFIGURACIÓN _ SEGURA "? //>?
Puedes enviar el programa a /system/app, agregar permisos 0644 a esta apk, reiniciar el teléfono y descubrirás que la depuración USB se activa automáticamente.