Aktiver enhetsadministrator via ADB
On februar 17, 2021 by adminEr det mulig å aktivere enhetsadministrator via ADB-kommando i stedet for å trykke
«Innstilling -> Sikkerhet -> Enhetsadministratorer -> Velg app -> Aktiver»
på håndholdt?
Hvis det er mulig, hvordan?
Kommentarer
- Du bør vurdere å godta вʀaᴎᴅᴏƞ вєнᴎєƞ ‘ s svar da det fungerer perfekt !!
Svar
Det er ikke mulig. Innstillingskoden er spesifikt skrevet for å forhindre dette. Det nærmeste du kan komme er å hente Enhetsadministrasjonsinnstillinger -siden på Innstillinger app. Du kan gjøre dette med:
adb shell am start -S "com.android.settings/.Settings\$DeviceAdminSettingsActivity"
Kommentarer
- Takk Dan, liten korreksjon: det burde være
adb shell am start -S "com.android.settings/.Settings\$DeviceAdminSettingsActivity"
Uten enkelt sitat - I de fleste skjell starter den kommandoen bare Innstillinger , ikke Enhetsadministrasjonsinnstillinger side. Her ‘ s Izzy ‘ s forklaring på hvorfor .
- Hva med å deaktivere? er det mulig?
Svar
Testet og arbeider på Android 7.0 uten rot:
adb shell dpm set-active-admin --user current com.company.foo.bar.package/.the.Admin.Reciever
For å finne admin-mottakeren til en installert pakke, bruk følgende for å adb shell-kommandoen og se gjennom utdataene:
adb shell pm dump com.company.foo.bar.package | grep " filter" | cut -d " " -f 12 | sort | uniq
For å gi et eksempel fra den virkelige verden, her er kommandoen som brukes til å aktivere IBMs Maas360 Android-klient som enhetsadministrator:
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 FUNGER! Dette må være akseptert svar! Jeg har ett spørsmål, er det mulig å legge til en ekstra til den kommandoen? Jeg må be om Samsung Knox-lisensaktivering etter administratoraktivering og jeg vil sende lisensen ‘ s-nøkkel som en ekstra (så jeg slipper å lagre den i koden eller på enheten min)
- Merk at
dpm set-active-admin
ikke er tilgjengelig på Android 5, men du kan få en lignende effekt ved å brukedpm set-device-owner
Svar
Ja, forutsatt at du har tilgang til root. Du må legge til appens mottaker og policyflagget i filen /data/system/device_policies.xml
. For eksempel for å aktivere Tasker som enhetsadministrator legger til følgende linjer i filen,
For Android 5.x: Fjern den siste linjen med </policies>
hvis det allerede er en enhetsadministrator aktivert i systemet. Bare legg til linjene i filen etter linjen med streng <policies setup-complete="true">
.
<admin name="net.dinglisch.android.taskerm/net.dinglisch.android.taskerm.MyDeviceAdminReceiver"> <policies flags="8" /> </admin> </policies>
For Android 4.2.1: Fjern den siste linjen med </policies>
hvis det allerede er en enhetsadministrator aktivert i systemet. Bare legg til linjene i filen etter linjen med streng <policies>
.
<admin name="net.dinglisch.android.taskerm/net.dinglisch.android.taskerm.MyDeviceAdminReceiver"> <policies flags="8" /> </admin> </policies>
Start enheten på nytt for at endringene skal tre i kraft.
( Busybox kreves) Du kan bruke eller echo
eller en hvilken som helst kommando du er komfortabel med å skrive filen med disse linjene. For noe hjelp, se svaret mitt her: Hvordan aktiverer du enhetsadministrator for bestemte apper ved hjelp av Tasker?
Svar
du kan angi enheten som eier fra Android Studio. Gå først til ADB-plasseringen som er på Platform-tools i Android Sdk, og kjør deretter kommandoen adb shell. Jeg har gitt hele banen, og du kan justere etter kravet ditt når du endrer ADB-bane og pakkenavn
C:\Users\Owner\AppData\Local\Android\Sdk\platform-tools>adb shell dpm set-device-owner package-name/.MyDeviceAdminReceiver
MyDeviceAdminReceiver er grensesnittet.
Kommentarer
- Merk at når en app er angitt som eier , er det veldig vanskelig å angre dette
- hei @Sam Jeg vet det, men heldigvis kan vi gjøre dette gjennom koding for å angre eieren
Svar
Dette er mulig. Du kan bruke androids nye verktøy UI-Automator til å klikke og samhandle med hvilken som helst visning eller knapp på systemet, inkludert å trykke «Aktiver» for enhetsadministrator. Slik gjør du det:
- Få UI-Automator kjører. (gå til «Konfigurer utviklingsmiljøet ditt» og sett opp et nytt java-prosjekt).
-
Skriv litt kode for å samhandle med preferanselisten og klikk «Aktiver». 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 (); (ny UiObject (ny UiSelector (). tekst («Aktiver»))). klikkAndWaitForNewWindow (); me.celebrateWith (new Beer ());
-
Kompiler det:
ant build
- Skyv jar-filen:
adb -d push bin/LookoutTest.jar /data/local/tmp/
- Start innstillingsaktiviteten din:
adb shell am start -S ""com.android.settings/.Settings\$DeviceAdminSettingsActivity""
- Kjør automatisering:
adb -d shell uiautomator runtest LookoutTest.jar -c DALaunch
- Party.
Kommentarer
- Vil dette fungere selv om den nåværende lokaliteten til enheten ikke er ‘ t engelsk?
Legg igjen en kommentar