12 votes

Emplacement de stockage de "adb_keys".

J'ai un Galaxy s3 (I9300) dont l'écran tactile est cassé (l'affichage est bon). Je ne peux donc pas cliquer sur la boîte de dialogue d'autorisation qui s'affiche lorsque j'essaie d'accéder à l'appareil via adb sur toutes les ROMs supérieures à Android 4.2 car elles nécessitent une autorisation pour accéder à l'appareil via adb .

Sur les ROMs stock 4.2 et 4.3, je suis capable de copier ma carte de crédit. ~/.android/adbkey.pub de mon ordinateur vers /data/misc/adb/adb_keys sur l'appareil via la récupération CWM et obtenir l'accès. J'ai essayé avec LineageOS 14 qui est sous Android 7.1.1 et je n'y ai toujours pas accès. Je me demande où se trouve le adb_keys se trouve sous Android 7.1.1, je peux donc faire de même.

7voto

Irfan Latif Points 16863

Depuis Android 4.2, lorsque l'authentification par clé publique a été ajouté pour ADB, jusqu'à la dernière version 10, il n'y a que deux emplacements possibles pour adb_keys sur Android standard :

Sur l'appareil, les clés publiques des fournisseurs sont installées au moment de la construction dans le répertoire /adb_keys . Les clés installées par l'utilisateur sont stockées dans /data/misc/adb/adb_keys .

C'est aussi le cas d'Android 7.1.1 :

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

Le premier se trouve uniquement sur userdebug / eng ROMs. Aussi sur les constructions débuggeables, vous pouvez définir ro.adb.secure a 0 a "Permettez adbd pour se connecter sans authentification" . Cependant _" user construit des filtres PRODUCT_ADB_KEYS donc non /adb_keys sera inclus"_ . ( Source : )

Ainsi, les clés publiques RSA ajoutées à /data/misc/adb/adb_keys devrait fonctionner. Assurez-vous que la propriété ( system:shell ), mode ( 0640 ) et l'étiquette SELinux ( u:object_r:adb_keys_file:s0 ) sont définis sur le fichier et le redémarrage adbd après avoir ajouté la ou les clés. Vérifiez également que les fins de ligne sont correctes (utilisez dos2unix ) après avoir ajouté la ou les clés et s'assurer que la bonne paire de clés privées est disponible pour adb sur le PC. Le chemin est ~/.android/ sur Linux et %userprofile%\.android\ sous Windows, ou ajouter le nom de fichier/répertoire de la clé à ADB_VENDOR_KEYS variable d'environnement.


RELATION :

1 votes

@Nowaker utiliser chcon . La politique SELinux n'est pas configurable sur les appareils Android, contrairement aux PC. Il n'y a donc pas de semanage .

1voto

Adrian Points 111

Réglage de ro.adb.secure=1 dans build.prop m'a permis de réactiver adb sur mon appareil. Il était à 0 avant mais adb avait cessé de fonctionner après avoir désactivé Developer tools.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X