Colección de citas famosas - Colección de consignas - Utilice el comando adb para activar la depuración USB

Utilice el comando adb para activar la depuración USB

Activar la depuración USB en teléfonos Android es muy importante para utilizar programas de depuración y clip de guisante. Primero, hablemos sobre cómo usar el código para activar automáticamente la depuración de USB. Primero, analice el código fuente relevante de 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.