Aktiver enhedsadministrator via ADB
On februar 17, 2021 by adminEr det muligt at aktivere Device Administrator via ADB-kommando i stedet for at trykke
“Indstilling -> Sikkerhed -> Enhedsadministratorer -> Vælg app -> Aktivér”
på håndholdt?
Hvis det er muligt, hvordan?
Kommentarer
- Du bør overveje at acceptere вʀaᴎᴅᴏƞ вєнᴎєƞ ‘ s svar , da det fungerer perfekt !!
Svar
Det er ikke muligt. Indstillingskoden er specifikt skrevet for at forhindre dette. Det tætteste du kan komme er at åbne Enhedsadministrationsindstillinger siden i Indstillinger app. Du kan gøre dette med:
adb shell am start -S "com.android.settings/.Settings\$DeviceAdminSettingsActivity"
Kommentarer
- Tak Dan, Lille korrektion: det burde være
adb shell am start -S "com.android.settings/.Settings\$DeviceAdminSettingsActivity"
Uden enkelt citat - I de fleste skaller starter den kommando bare Indstillinger , ikke Enhedsadministrationsindstillinger side. Her ‘ s Izzy ‘ s forklaring på hvorfor .
- Hvad med deaktivering? er det muligt?
Svar
Testet og arbejder på Android 7.0 uden rod:
adb shell dpm set-active-admin --user current com.company.foo.bar.package/.the.Admin.Reciever
For at finde administratormodtageren til en installeret pakke skal du bruge følgende til at adb shell-kommando og gennemgå output:
adb shell pm dump com.company.foo.bar.package | grep " filter" | cut -d " " -f 12 | sort | uniq
For at give et virkeligt verdenseksempel er her kommandoen, der bruges til at aktivere IBMs Maas360 Android-klient som enhedsadministrator:
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
Kommentarer
- DET FUNGERER! Dette skal være det accepterede svar! Jeg har et spørgsmål, er det muligt at tilføje en ekstra til den kommando? Jeg skal anmode om Samsung Knox-licensaktivering efter administratoraktivering, og jeg vil gerne give licens ‘ s nøgle som en ekstra (så jeg behøver ikke at gemme den i min kode eller på min enhed)
- Bemærk, at
dpm set-active-admin
ikke er tilgængelig på Android 5, men du kan få en lignende effekt ved hjælp afdpm set-device-owner
Svar
Ja, forudsat at du har rootadgang. Du bliver nødt til at tilføje appens modtager og politikflagget i filen /data/system/device_policies.xml
. For eksempel at aktivere Tasker som enhedsadministrator tilføj følgende linjer i den nævnte fil,
Til Android 5.x: Fjern den sidste linje med </policies>
hvis der allerede er en enhedsadministrator aktiveret i systemet. Du skal blot tilføje linjerne i filen efter linjen med streng <policies setup-complete="true">
.
<admin name="net.dinglisch.android.taskerm/net.dinglisch.android.taskerm.MyDeviceAdminReceiver"> <policies flags="8" /> </admin> </policies>
Til Android 4.2.1: Fjern den sidste linje med </policies>
, hvis der allerede er en enhedsadministrator aktiveret i systemet. Du skal blot tilføje linjerne i filen efter linjen med streng <policies>
.
<admin name="net.dinglisch.android.taskerm/net.dinglisch.android.taskerm.MyDeviceAdminReceiver"> <policies flags="8" /> </admin> </policies>
Genstart enheden for at ændringerne skal træde i kraft.
( Busybox krævet) Du kan bruge eller echo
eller en hvilken som helst kommando, som du” er fortrolig med at skrive filen med disse linjer. For ethvert hjælp, se mit svar her: Sådan aktiveres enhedsadministrator til bestemte apps ved hjælp af Tasker?
Svar
kan du indstille enheden som ejer fra Android Studio. Gå først til adb-placeringen, der er på Platform-tools i Android Sdk, og kør derefter kommandoen adb shell. Jeg har givet den fulde sti, og du kan justere efter dit krav, når du ændrer adb-sti og pakkenavn
C:\Users\Owner\AppData\Local\Android\Sdk\platform-tools>adb shell dpm set-device-owner package-name/.MyDeviceAdminReceiver
MyDeviceAdminReceiver er interface.
Kommentarer
- Bemærk, at når en app er angivet som ejer , er det meget vanskeligt at fortryde dette
- hej @Sam Jeg ved det, men heldigvis kan vi gøre dette ved at kode for at fortryde ejeren
Svar
Dette er muligt. Du kan bruge Androids nye værktøj UI-Automator til at klikke og interagere med en hvilken som helst visning eller knap på systemet inklusive at trykke på “Aktivér” for enhedsadministrator. Sådan gør du:
- Få UI-Automator kører. (gå til “Konfigurer dit udviklingsmiljø” og opsæt et nyt java-projekt).
-
Skriv en kode for at interagere med din præferenceliste og klik på “Aktivér”. Eksempel:
UiScrollable settingsItem = new UiScrollable (new UiSelector (). ClassName (“android.widget.ListView”)); UiObject listButton = settingsItem.getChildByText (ny UiSelector ().className (“android.widget.LinearLayout”), “Enable Device Admin”); listButton.click (); (nyt UiObject (ny UiSelector (). tekst (“Aktivér”))). klikAndWaitForNewWindow (); me.celebrateWith (new Beer ());
-
Kompilér det:
ant build
- Skub jar-filen:
adb -d push bin/LookoutTest.jar /data/local/tmp/
- Start din indstillingsaktivitet:
adb shell am start -S ""com.android.settings/.Settings\$DeviceAdminSettingsActivity""
- Kør automatisering:
adb -d shell uiautomator runtest LookoutTest.jar -c DALaunch
- Party.
Kommentarer
- Vil dette fungere, selvom enhedens nuværende landestandard ikke er ‘ t engelsk?
Skriv et svar