Activer Device Administrator via ADB
On février 17, 2021 by adminEst-il possible dactiver Device Administrator via la commande ADB au lieu dappuyer sur
« Setting -> Security -> Device Administrators -> Select App -> Activate »
sur lordinateur de poche?
Si cest possible, comment?
Commentaires
- Vous devriez envisager daccepter вʀaᴎᴅᴏƞ вєнᴎєƞ ‘ s answer car cela fonctionne parfaitement !!
Answer
Ce nest pas possible. Le code des paramètres est spécifiquement écrit pour éviter cela. Le plus proche de vous est dafficher la page Paramètres dadministration de lappareil dans la Paramètres application. Vous pouvez le faire avec:
adb shell am start -S "com.android.settings/.Settings\$DeviceAdminSettingsActivity"
Commentaires
- Merci Dan, Petite correction: ça devrait être
adb shell am start -S "com.android.settings/.Settings\$DeviceAdminSettingsActivity"
Sans guillemets simples - Dans la plupart des shells, cette commande démarre simplement Paramètres , pas les Paramètres dadministration de lappareil page. Voici lexplication de ‘ Izzy ‘ pourquoi .
- Et la désactivation? est-ce possible?
Réponse
Testé et fonctionne sur Android 7.0 sans root:
adb shell dpm set-active-admin --user current com.company.foo.bar.package/.the.Admin.Reciever
Pour trouver le récepteur administrateur dun package installé, utilisez la commande suivante pour adb shell et examinez le résultat:
adb shell pm dump com.company.foo.bar.package | grep " filter" | cut -d " " -f 12 | sort | uniq
Pour donner un exemple concret, voici la commande utilisée pour activer le client Android Maas360 dIBM en tant quadministrateur de périphérique:
adb shell pm dump com.fiberlink.maas360.android.control | grep " filter" | cut -d " " -f 12 | sort | uniq Output: … com.fiberlink.maas360.android.control/.receivers.GoogleCampaignReceiver com.fiberlink.maas360.android.control/.receivers.LocalEventReceiver com.fiberlink.maas360.android.control/.receivers.Maas360DeviceAdminReceiver <-- This is the one I want com.fiberlink.maas360.android.control/.receivers.Maas360SecondaryDeviceAdminReceiver … Set Device Admin: dpm set-active-admin --user current com.fiberlink.maas360.android.control/.receivers.Maas360DeviceAdminReceiver
Commentaires
- ÇA MARCHE! Cela doit être la réponse acceptée! Jai une question, est-il possible dajouter un supplément à cette commande? Jai besoin de demander le droit dactivation de la licence Samsung Knox après lactivation de ladministrateur et je voudrais passer la clé de licence ‘ en supplément (je nai donc pas à la stocker dans mon code ou sur mon appareil)
- Notez que
dpm set-active-admin
nest pas disponible sur Android 5, mais vous pouvez obtenir un effet similaire en utilisantdpm set-device-owner
Réponse
Oui, à condition que vous ayez un accès root. Vous devrez ajouter le récepteur de lapplication et lindicateur de stratégie dans le fichier /data/system/device_policies.xml
. Par exemple, pour activer Tasker en tant quadministrateur de lappareil, ajoutez les lignes suivantes dans ledit fichier,
Pour Android 5.x: Supprimez la dernière ligne avec </policies>
si un administrateur de périphériques est déjà activé dans le système. Ajoutez simplement les lignes dans le fichier après la ligne avec la chaîne <policies setup-complete="true">
.
<admin name="net.dinglisch.android.taskerm/net.dinglisch.android.taskerm.MyDeviceAdminReceiver"> <policies flags="8" /> </admin> </policies>
Pour Android 4.2.1: Supprimez la dernière ligne avec </policies>
si un administrateur de périphériques est déjà activé dans le système. Ajoutez simplement les lignes dans le fichier après la ligne avec la chaîne <policies>
.
<admin name="net.dinglisch.android.taskerm/net.dinglisch.android.taskerm.MyDeviceAdminReceiver"> <policies flags="8" /> </admin> </policies>
Redémarrez lappareil pour que les modifications prennent effet.
( Busybox requis) Vous pouvez utiliser ou echo
ou toute commande avec laquelle vous » êtes à laise pour écrire le fichier avec ces lignes. Pour toute aide, consultez ma réponse ici: Comment activer ladministrateur de lappareil pour des applications spécifiques à laide de Tasker?
Réponse
vous pouvez définir lappareil comme propriétaire depuis Android Studio. Accédez dabord à lemplacement adb qui se trouve sur Platform-tools dans Android Sdk, puis exécutez la commande adb shell. Jai donné le chemin complet et vous pouvez ajuster selon vos besoins en changeant le chemin adb et le nom du package
C:\Users\Owner\AppData\Local\Android\Sdk\platform-tools>adb shell dpm set-device-owner package-name/.MyDeviceAdminReceiver
MyDeviceAdminReceiver est linterface.
Commentaires
- Notez quune fois quune application est définie comme propriétaire , il est très difficile de lannuler
- salut @Sam Je sais, mais heureusement, nous pouvons le faire grâce au codage pour annuler le propriétaire
Réponse
Ceci est possible. Vous pouvez utiliser le nouvel outil UI-Automator dAndroid pour cliquer et interagir avec nimporte quelle vue ou bouton du système, y compris en appuyant sur « Activer » pour ladministrateur de lappareil. Voici comment:
- Obtenir UI-Automator en cours dexécution. (allez dans «Configurer votre environnement de développement» et configurez un nouveau projet java).
-
Écrivez du code pour interagir avec votre liste de préférences et cliquez sur «Activer». Exemple:
UiScrollable settingsItem = new UiScrollable (new UiSelector (). ClassName (« android.widget.ListView »)); UiObject listButton = settingsItem.getChildByText (nouveau UiSelector ().className (« android.widget.LinearLayout »), « Activer ladministrateur de lappareil »); listButton.click (); (new UiObject (new UiSelector (). text (« Activate »))). clickAndWaitForNewWindow (); me.celebrateWith (new Beer ());
-
Compilez-le:
ant build
- Poussez le fichier jar:
adb -d push bin/LookoutTest.jar /data/local/tmp/
- Lancez votre activité de paramétrage:
adb shell am start -S ""com.android.settings/.Settings\$DeviceAdminSettingsActivity""
- Exécutez le automatisation:
adb -d shell uiautomator runtest LookoutTest.jar -c DALaunch
- Party.
Commentaires
- Cela fonctionnera-t-il même si les paramètres régionaux actuels de lappareil ne sont pas ‘ t anglais?
Laisser un commentaire