Lorsque j'essaie de faire une capture d'écran dans Android Studio à partir de certains de mes projets (en appuyant sur l'icône de l'appareil photo), j'obtiens le message suivant:
"Unexpected error while obtaining screenshot from device: EOF"
Je peux faire une capture d'écran de la même image si je clique sur l'icône de l'appareil photo après avoir ouvert un projet totalement différent. Y a-t-il un fichier corrompu associé au projet qui doit être supprimé et remplacé?
J'ai rencontré ce problème récemment - tout fonctionnait bien auparavant. Apparemment, cela a commencé lorsque j'ai migré vers le SDK 26 il y a quelques semaines. Cela m'a corrigé: - arrêtez Studio - renommez adb.exe dans Android\sdk\platform-tools en .saf - copiez l'ancien adb.exe d'Android\android-sdk\platform-tools vers Android\sdk\platform- outils - redémarrer Studio
Donc, remplacez essentiellement le SDK 26 adb.exe par une version plus ancienne ...
Dans mon cas, le redémarrage du Android Studio a fonctionné pour moi. Allez dans Fichier -> Invalider les caches/redémarrer -> Invalider et redémarrer.
Mais pour quelqu'un qui a toujours un problème après le redémarrage. Si vous avez getActivity().getWindow().addFlags(LayoutParams.FLAG_SECURE);
défini (normalement utilisé pour éviter les captures d'écran), cela vous empêchera également de prendre des captures d'écran de Android Studio, générant la même erreur Erreur inattendue lors de l'obtention de la capture d'écran.
J'essaie de cette façon que cela fonctionne:
Créer adb_capture.txt avec du contenu
REM ====================
REM set varible _MyTime for filename
FOR /F "tokens=1-4 delims=:." %%a IN ("%time%") DO (
SET _MyTime=%%a%%b%%c%%d
)
REM adb root
REM adb remount
adb Shell screencap -p /sdcard/Download/s1.png
adb pull /sdcard/Download/s1.png
adb Shell rm /sdcard/Download/s1.png
REM every file have different name by time
rename s1.png %_MyTime%.png
REM===============
Changez le nom du fichier en adb_capture.bat puis cliquez sur Exécuter pour capturer l'écran du téléphone