Geräteadministrator über ADB aktivieren
On Februar 17, 2021 by adminIst es möglich, den Geräteadministrator über den ADB-Befehl zu aktivieren, anstatt auf
„Einstellung -> Sicherheit -> Geräteadministratoren -> App auswählen -> Aktivieren“
auf dem Handheld?
Wenn es möglich ist, wie?
Kommentare
- Sie sollten in Betracht ziehen, вʀaᴎᴅᴏƞ вєнᴎєƞ ‚ s Antwort , da es perfekt funktioniert !!
Antwort
Es ist nicht möglich. Der Einstellungscode wurde speziell geschrieben, um dies zu verhindern. Am nächsten können Sie die Seite Geräteverwaltungseinstellungen auf der Seite Einstellungen App. Sie können dies tun mit:
adb shell am start -S "com.android.settings/.Settings\$DeviceAdminSettingsActivity"
Kommentare
- Danke Dan, kleine Korrektur: Es sollte sein
adb shell am start -S "com.android.settings/.Settings\$DeviceAdminSettingsActivity"
Ohne einfache Anführungszeichen - In den meisten Shells startet dieser Befehl nur die Einstellungen und nicht die Geräteverwaltungseinstellungen Seite. Hier ‚ s Izzy ‚ erklärt, warum .
- Was ist mit Deaktivieren? ist das möglich?
Antwort
Getestet und unter Android 7.0 ohne root:
adb shell dpm set-active-admin --user current com.company.foo.bar.package/.the.Admin.Reciever
Um den Administratorempfänger eines installierten Pakets zu finden, verwenden Sie den folgenden Befehl, um die Shell zu adbieren und die Ausgabe zu überprüfen:
adb shell pm dump com.company.foo.bar.package | grep " filter" | cut -d " " -f 12 | sort | uniq
Um ein Beispiel aus der Praxis zu geben, finden Sie hier den Befehl zum Aktivieren des Maas360-Android-Clients von IBM als Geräteadministrator:
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
Kommentare
Antwort
Ja, vorausgesetzt, Sie haben Root-Zugriff. Sie müssten den Empfänger der App und das Richtlinienflag in der Datei /data/system/device_policies.xml
hinzufügen. Um beispielsweise Tasker Fügen Sie als Geräteadministrator die folgenden Zeilen in die Datei ein:
Für Android 5.x: Entfernen Sie die letzte Zeile mit </policies>
, wenn bereits ein Geräteadministrator im System aktiviert ist. Fügen Sie einfach die Zeilen in der Datei nach der Zeile mit der Zeichenfolge <policies setup-complete="true">
.
<admin name="net.dinglisch.android.taskerm/net.dinglisch.android.taskerm.MyDeviceAdminReceiver"> <policies flags="8" /> </admin> </policies>
Für Android 4.2.1: Entfernen Sie die letzte Zeile mit </policies>
, wenn im System bereits ein Geräteadministrator aktiviert ist. Fügen Sie einfach die Zeilen in der Datei nach der Zeile mit der Zeichenfolge .
<admin name="net.dinglisch.android.taskerm/net.dinglisch.android.taskerm.MyDeviceAdminReceiver"> <policies flags="8" /> </admin> </policies>
Starten Sie das Gerät neu, damit die Änderungen wirksam werden.
( Busybox erforderlich) Sie können oder echo
oder ein beliebiger Befehl, mit dem Sie die Datei mit diesen Zeilen schreiben können. Hilfe finden Sie in meiner Antwort hier: Wie aktiviere ich den Geräteadministrator für bestimmte Apps mit Tasker?
Antwort
Sie können das Gerät in Android Studio als Eigentümer festlegen. Gehen Sie zuerst zum adb-Speicherort unter Platform-tools in Android Sdk und führen Sie dann den Befehl adb shell aus. Ich habe den vollständigen Pfad angegeben und Sie können ihn an Ihre Anforderungen anpassen, wenn Sie den ADB-Pfad und den Paketnamen ändern.
C:\Users\Owner\AppData\Local\Android\Sdk\platform-tools>adb shell dpm set-device-owner package-name/.MyDeviceAdminReceiver
MyDeviceAdminReceiver ist die Schnittstelle.
Kommentare
- Beachten Sie, dass es sehr schwierig ist, diese App rückgängig zu machen, hi @Sam Ich weiß, aber zum Glück können wir dies durch Codierung tun, um den Eigentümer rückgängig zu machen.
Antwort
Dies ist möglich. Sie können das neue Tool UI-Automator von Android verwenden, um auf eine beliebige Ansicht oder Schaltfläche im System zu klicken und mit dieser zu interagieren, einschließlich „Aktivieren“ für den Geräteadministrator. So gehts:
- Get UI-Automator wird ausgeführt. (Gehen Sie zu „Konfigurieren Sie Ihre Entwicklungsumgebung“ und richten Sie ein neues Java-Projekt ein.)
-
Schreiben Sie Code, um mit Ihrer Voreinstellungsliste zu interagieren, und klicken Sie auf „Aktivieren“. Beispiel:
UiScrollable settingsItem = new UiScrollable (neuer UiSelector (). ClassName („android.widget.ListView“)); UiObject listButton = settingsItem.getChildByText (neuer UiSelector ().className („android.widget.LinearLayout“), „Enable Device Admin“); listButton.click (); (neues UiObject (neues UiSelector (). Text („Aktivieren“)). clickAndWaitForNewWindow (); me.celebrateWith (new Beer ());
-
Kompilieren Sie es:
ant build
- Drücken Sie die JAR-Datei:
adb -d push bin/LookoutTest.jar /data/local/tmp/
- Starten Sie Ihre Einstellungsaktivität:
adb shell am start -S ""com.android.settings/.Settings\$DeviceAdminSettingsActivity""
- Führen Sie die aus Automatisierung:
adb -d shell uiautomator runtest LookoutTest.jar -c DALaunch
- Party.
Kommentare
- Funktioniert dies auch dann, wenn das aktuelle Gebietsschema des Geräts nicht ‚ t Englisch ist?
dpm set-active-admin
unter Android 5 nicht verfügbar ist. Sie können jedoch einen ähnlichen Effekt erzielen, indem Siedpm set-device-owner