12 votos

Ubicación de almacenamiento de "adb_keys"

Tengo un Galaxy s3 (I9300) que tiene la pantalla táctil rota (la pantalla está bien). Por lo tanto, no puedo hacer clic en el diálogo de autorización que aparece cuando intento acceder al dispositivo a través de adb en cualquier ROM superior a Android 4.2 ya que requieren autorización para acceder al dispositivo a través de adb .

En las ROMs 4.2 y 4.3 de stock, soy capaz de copiar mi ~/.android/adbkey.pub de mi máquina a /data/misc/adb/adb_keys en el dispositivo a través de CWM recovery y obtener acceso. He probado esto con LineageOS 14 que está en Android 7.1.1 y sigo sin poder acceder. Me estoy preguntando dónde está el adb_keys archivo se encuentra en Android 7.1.1 para que pueda hacer lo mismo.

0 votos

¿Lo has descubierto?

0 votos

Me he rendido, por desgracia. Me conformé con Android 6

7voto

Jack Wade Puntos 231

Desde Android 4.2, cuando la autenticación de clave pública fue Añadido: a ADB, hasta la última versión 10, sólo hay dos posibles ubicaciones para adb_keys en Android de serie:

En el dispositivo, las claves públicas de los proveedores se instalan en el momento de la construcción en /adb_keys . Las llaves instaladas por el usuario se almacenan en /data/misc/adb/adb_keys .

Lo mismo ocurre con Android 7.1.1 :

static const char *key_paths[] = {
    "/adb_keys",
    "/data/misc/adb/adb_keys",
    NULL
};

El primero sólo se encuentra en userdebug / eng ROMs. También en las compilaciones depurables, puede establecer ro.adb.secure a 0 a "permitir adbd para conectarse sin autenticación" . Sin embargo, _" user construye un filtro PRODUCT_ADB_KEYS Así que no /adb_keys se incluirá"_ . ( Fuente )

Así que las claves públicas RSA añadidas a /data/misc/adb/adb_keys debería funcionar. Asegúrese de que la propiedad adecuada ( system:shell ), modo ( 0640 ) y la etiqueta SELinux ( u:object_r:adb_keys_file:s0 ) se establecen en el archivo y se reinician adbd después de añadir la(s) llave(s). Compruebe también que los finales de línea son correctos (utilice dos2unix ) después de añadir la(s) clave(s) y asegurarse de que el par de claves privadas correcto está disponible para adb servidor en el PC. La ruta es ~/.android/ en Linux y %userprofile%\.android\ en Windows, o añadir el nombre de archivo/directorio clave a ADB_VENDOR_KEYS variable de entorno.


RELACIONADO:

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X