Est-il possible d'activer Device Administrator via une commande ADB au lieu de taper sur le clavier ?
"Setting -> Security -> Device Administrators --> Select App --> Activate"
sur ordinateur de poche ?
Si c'est possible, comment ?
Est-il possible d'activer Device Administrator via une commande ADB au lieu de taper sur le clavier ?
"Setting -> Security -> Device Administrators --> Select App --> Activate"
sur ordinateur de poche ?
Si c'est possible, comment ?
Testé et fonctionnant sous 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 d'administration d'un paquet installé, utilisez la commande shell adb suivante et examinez la sortie :
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 d'IBM en tant qu'administrateur 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
Ce n'est pas possible. Le code de paramétrage est spécifiquement écrit pour éviter cela. Le plus proche que vous puissiez faire est de faire apparaître la fonction Paramètres d'administration du dispositif dans la page Ajustes app. Vous pouvez le faire avec :
adb shell am start -S "com.android.settings/.Settings\$DeviceAdminSettingsActivity"
Oui, à condition que vous ayez un accès Root. Vous devez ajouter le récepteur de l'application et l'indicateur de politique dans le fichier /data/system/device_policies.xml
. Par exemple, pour activer Tasker en tant qu'administrateur du dispositif, ajoutez les lignes suivantes dans ledit fichier,
Pour Android 5.x : Supprimez la dernière ligne avec </policies>
s'il y a déjà un administrateur de dispositif activé dans le système. Il suffit d'ajouter les lignes dans le fichier après la ligne avec la chaîne de caractères <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>
s'il y a déjà un administrateur de dispositif activé dans le système. Il suffit d'ajouter les lignes dans le fichier après la ligne avec la chaîne de caractères <policies>
.
<admin name="net.dinglisch.android.taskerm/net.dinglisch.android.taskerm.MyDeviceAdminReceiver">
<policies flags="8" />
</admin>
</policies>
Redémarrez l'appareil pour que les modifications soient prises en compte.
( Busybox obligatoire) Vous pouvez utiliser sed
o echo
ou toute commande avec laquelle vous êtes à l'aise pour écrire le fichier avec ces lignes. Pour toute aide, voir ma réponse ici : Comment activer l'administrateur du périphérique pour des applications spécifiques en utilisant Tasker ?
Vous pouvez définir l'appareil comme propriétaire à partir d'Android Studio. Tout d'abord, allez à l'emplacement adb qui se trouve à Platform-tools dans Android Sdk, puis exécutez la commande shell adb. J'ai donné le chemin complet et vous pouvez l'adapter à vos besoins en changeant le chemin adb et le nom du paquet.
C:\Users\Owner\AppData\Local\Android\Sdk\platform-tools>adb shell dpm set-device-owner package-name/.MyDeviceAdminReceiver
MyDeviceAdminReceiver est l'interface.
Este es possible. Vous pouvez utiliser le nouvel outil UI-Automator d'Android pour cliquer et interagir avec n'importe quelle vue ou bouton du système, y compris en appuyant sur "Activer" pour l'administration du dispositif. Voici comment :
Obtenez UI-Automateur en cours d'exécution. (allez dans "Configurer votre environnement de développement" et créez un nouveau projet java).
Écrivez un 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(new UiSelector().className("Android.widget.LinearLayout"), "Enable Device Admin") ; 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 l'automatisation : adb -d shell uiautomator runtest LookoutTest.jar -c DALaunch
Parti.
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.