Comment débloquer android phone via ADB

Mon écran est mort et je veux débloquer mon téléphone afin que je puisse y accéder via Kies pour sauvegarder mes photos.

j'ai verrouillé le téléphone via Android Device Manager en définissant un mot de passe facile (j'espérais une option de déverrouillage une fois que je l'ai verrouillé) et j'ai essayé diverses méthodes pour le déverrouiller par exemple:

adb shell input text 1234

comme je ne sais pas à quoi ressemble l'écran de verrouillage, Je ne suis pas sûr des entrées correctes pour le déverrouiller.

je sais que le téléphone est allumé et qu'il répond à la bad. Je suis également capable d'exécuter des applications sur elle à travers Eclipse. C'est un Samsung Galaxy S5 avec Android 5.0.

23
demandé sur schoel 2015-03-16 11:34:42

10 réponses

si vous devez cliquer OK après avoir entré votre mot de passe, cette commande déverrouillera votre téléphone:

adb shell input text XXXX && adb shell input keyevent 66

  • XXXX est votre code d'accès.
  • 66 keycode de la touche OK.
  • adb shell input text XXXX entrez votre code d'accès.
  • adb shell input keyevent 66 va simuler le clic OK bouton
25
répondu Tien 2017-04-06 09:07:58

cette commande vous aide à déverrouiller le téléphone en utilisant ADB

adb shell input keyevent 82 # unlock
28
répondu Bhaskar 2015-03-16 08:43:30

testé dans Nexus 5:

adb shell input keyevent 26 #Pressing the lock button
adb shell input touchscreen swipe 930 880 930 380 #Swipe UP
adb shell input text XXXX #Entering your passcode
adb shell input keyevent 66 #Pressing Enter

a Fonctionné pour moi.

14
répondu Yogeesh Seralathan 2016-06-25 19:08:59

une Autre façon juste pour votre information.

utilisez un câble USB OTG et connectez - vous avec une souris USB, vous pouvez toucher l'écran en cliquant sur votre souris !

12
répondu Rocky Chen 2015-03-18 05:28:42

si vous avez USB-Debugging/ADB activé sur votre téléphone et que votre PC est autorisé à déboguer sur votre téléphone, alors vous pouvez essayer l'un des outils suivants:

Vysor

Vysor est une application Web chrome qui se connecte à votre appareil via adb et installe une application compagnon pour diffuser le contenu de votre écran sur le PC. Vous pouvez alors contrôler votre appareil à distance avec votre souris.

MonkeyRemote

MonkeyRemote est une télécommande outil de contrôle écrit par moi-même avant que je trouve Vysor. Il se connecte également par adb et vous permet de contrôler votre appareil par la souris, mais contrairement à Vysor, le contenu de l'écran en continu mises à jour très lente (~1 image par seconde). L'avantage est qu'il n'est pas nécessaire pour une application compagnon pour être installé.

12
répondu ns130291 2016-02-28 21:33:50

les commandes ci-dessous fonctionnent à la fois quand l'écran est activé et désactivé

pour verrouiller l'écran:

adb shell input keyevent 82 && adb shell input keyevent 26 && adb shell input keyevent 26

pour verrouiller l'écran et l'éteindre

adb shell input keyevent 82 && adb shell input keyevent 26

Pour déverrouiller l'écran, sans passer

adb shell input keyevent 82 && adb shell input keyevent 66

Pour déverrouiller l'écran de passe 1234

adb shell input keyevent 82 && adb shell input text 1234 && adb shell input keyevent 66
9
répondu Ilya Gazman 2016-10-27 09:43:23

si l'appareil est verrouillé avec un écran noir exécutez la commande suivante:

  1. adb shell entrée keyevent 26 - cela va activer l'écran
  2. adb shell entrée keyevent 82 - cela permettra de déverrouiller et de demander de pin
  3. adb shell de saisie de texte xxxx && adb shell entrée keyevent 66 - cela va de saisie de votre code pin et appuyez sur entrée, le dispositif de déverrouillage de l'écran d'accueil
6
répondu Isaac Morris 2016-04-28 03:27:18

si vous avez MyPhoneExplorer installé et connecté (pas sûr que ce soit un must, c'est déjà mon installation), vous pouvez l'utiliser pour contrôler l'écran avec votre souris d'ordinateur. Il se connecte via ADB, pour lequel votre câble USB normal est suffisant.

une autre solution que j'ai trouvé qui a même fonctionné sans redémarrage est la mise à jour des tables dans les paramètres.db et locksettings.DB J'ai dû passer en root pour ouvrir les paramètres.DB bien que:

 adb shell
 su
 sqlite3 /data/data/com.android.providers.settings/databases/settings.db
 update secure set value=1 where name='lockscreen.disabled';
 .quit
 sqlite3 /data/system/locksettings.db
 update locksettings set value=0 where name='lock_pattern_autlock';
 update locksettings set value=1 where name='lockscreen.disabled';
 .quit

Source qui m'a fait modifier mes tables

2
répondu Anton Kaiser 2015-05-16 10:46:50
input mouse tap la commande.

screenshot of simulation

Depuis que j'ai comme vous pouvez le voir sur l'image, j'ai obtenu tous les (x,y) pour tous les nombres sur l'écran pour simuler le toucher et déverrouiller mon écran et avoir à sauvegarder mes données, donc si mon mot de passe est 123 j'ai fait toutes les commandes suivantes

adb shell input mouse tap 100 1150
adb shell input mouse tap 500 1150
adb shell input mouse tap 900 1150
1
répondu AaoIi 2017-09-12 22:03:41

j'avais trouvé un cas particulier où glisser (adb shell input touchscreen swipe ... ) pour déverrouiller l'écran d'accueil ne fonctionne pas. Plus exactement pour Acer Z160 et Acer S57. Les téléphones sont l'histoire, mais encore, ils doivent être pris en compte par les développeurs américains. Ici est la source de code qui a résolu mon problème. J'avais fait mon application pour commencer avec l'appareil. et dans la fonction" onCreate " j'avais changé temporairement le type de serrure.

Aussi, juste au cas où google drive fait quelque chose au fichier zip je posterai des fragments de ce code ci-dessous.

AndroidManifest:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        package="com.example.gresanuemanuelvasi.test_wakeup">
        <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
        <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
            <activity android:name=".MainActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <receiver android:name=".ServiceStarter" android:enabled="true" android:exported="false" android:permission="android.permission.RECEIVE_BOOT_COMPLETED"
                android:directBootAware="true" tools:targetApi="n">
                <intent-filter>
                    <action android:name="android.intent.action.BOOT_COMPLETED"/>
                    <category android:name="android.intent.category.DEFAULT" />
                </intent-filter>
            </receiver>
        </application>
    </manifest>

    class ServiceStarter: BroadcastReceiver() {
        @SuppressLint("CommitPrefEdits")
        override fun onReceive(context: Context?, intent: Intent?) {
            Log.d("EMY_","Calling onReceive")
             context?.let {
                 Log.i("EMY_", "Received action: ${intent!!.getAction()}, user unlocked: " + UserManagerCompat.isUserUnlocked(context))

                 val sp =it.getSharedPreferences("EMY_", Context.MODE_PRIVATE)
                 sp.edit().putString(MainActivity.MY_KEY, "M-am activat asa cum trebuie!")

                 if (intent!!.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
                     val i = Intent(it, MainActivity::class.java)
                     i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
                     it.startActivity(i)
                 }
            }
        }
    }

class MainActivity : AppCompatActivity() {

    companion object {
        const val MY_KEY="MY_KEY"
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val kgm = getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager
        val kgl = kgm.newKeyguardLock(MainActivity::class.java.simpleName)
        if (kgm.inKeyguardRestrictedInputMode()) {
            kgl.disableKeyguard()
        }

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            requestPermissions(arrayOf(Manifest.permission.RECEIVE_BOOT_COMPLETED), 1234)
        }
        else
        {
            afisareRezultat()
        }
    }

    override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {

        if(1234 == requestCode )
        {
            afisareRezultat()
        }

        super.onRequestPermissionsResult(requestCode, permissions, grantResults)
    }

    private fun afisareRezultat() {
        Log.d("EMY_","Calling afisareRezultat")
        val sp = getSharedPreferences("EMY_", Context.MODE_PRIVATE);
        val raspuns = sp.getString(MY_KEY, "Doesn't exists")
        Log.d("EMY_", "AM primit: ${raspuns}")
        sp.edit().remove(MY_KEY).apply()
    }
}
0
répondu Greşanu Emanuel - Vasile 2018-07-30 08:22:35