Skip to content
Tiantan
Articles

Ative o administrador do dispositivo via ADB

On Fevereiro 17, 2021 by admin

É possível ativar o administrador do dispositivo via comando ADB em vez de tocar em

“Configuração -> Segurança -> Administradores do dispositivo -> Selecionar aplicativo -> Ativar”

no dispositivo portátil?

Se for possível, como?

Comentários

  • Considere aceitar вʀaᴎᴅᴏƞ вєнᴎєƞ ‘ s resposta porque funciona perfeitamente !!

Resposta

Não é possível. O código de configurações foi escrito especificamente para evitar isso. O mais próximo que você pode chegar é abrir a página Configurações de administração do dispositivo na página Configurações aplicativo. Você pode fazer isso com:

adb shell am start -S "com.android.settings/.Settings\$DeviceAdminSettingsActivity" 

Comentários

  • Obrigado Dan, Pequena correção: deveria ser adb shell am start -S "com.android.settings/.Settings\$DeviceAdminSettingsActivity" Sem aspas simples
  • Na maioria dos shells, esse comando apenas iniciará Configurações , não as Configurações de administração do dispositivo página. Aqui está ‘ s Izzy ‘ a explicação do motivo .
  • E quanto à desativação? isso é possível?

Resposta

Testado e funcionando no Android 7.0 sem root:

adb shell dpm set-active-admin --user current com.company.foo.bar.package/.the.Admin.Reciever 

Para encontrar o receptor de administrador de um pacote instalado, use o seguinte para o comando adb shell e analise a saída:

adb shell pm dump com.company.foo.bar.package | grep " filter" | cut -d " " -f 12 | sort | uniq 

Para dar um exemplo do mundo real, aqui está o comando usado para ativar o cliente Maas360 Android da IBM como um administrador de dispositivo:

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 

Comentários

  • FUNCIONA! Esta deve ser a resposta aceita! Tenho uma pergunta, é possível adicionar um extra a esse comando? Preciso solicitar o direito de ativação da licença Samsung Knox após a ativação do administrador e eu gostaria de passar a licença ‘ s chave como um extra (para não ter que armazená-la no meu código ou no meu dispositivo)
  • Observe que dpm set-active-admin não está disponível no Android 5, mas você pode obter um efeito semelhante usando dpm set-device-owner

Resposta

Sim, desde que você tenha acesso root. Você teria que adicionar o receptor do aplicativo e o sinalizador de política no arquivo /data/system/device_policies.xml. Por exemplo, para ativar o Tasker como administrador do dispositivo, adicione as seguintes linhas no referido arquivo,

Para Android 5.x: Remova a última linha com </policies> se já houver um administrador de dispositivos habilitado no sistema. Basta adicionar as linhas no arquivo após a linha com a string <policies setup-complete="true">.

<admin name="net.dinglisch.android.taskerm/net.dinglisch.android.taskerm.MyDeviceAdminReceiver"> <policies flags="8" /> </admin> </policies> 

Para Android 4.2.1: Remova a última linha com </policies> se já houver um administrador de dispositivo habilitado no sistema. Basta adicionar as linhas no arquivo após a linha com a string <policies>.

<admin name="net.dinglisch.android.taskerm/net.dinglisch.android.taskerm.MyDeviceAdminReceiver"> <policies flags="8" /> </admin> </policies> 

Reinicialize o dispositivo para que as alterações tenham efeito.

( Busybox obrigatório) Você pode usar ou echo ou qualquer comando com o qual você” se sinta confortável para escrever o arquivo com essas linhas. Para qualquer ajuda, veja minha resposta aqui: Como habilitar o administrador do dispositivo para aplicativos específicos usando Tasker?

Resposta

você pode definir o dispositivo como proprietário no Android Studio. Primeiro vá para o local adb que está em Platform-tools no Android Sdk e, em seguida, execute o comando adb shell. Eu forneci o caminho completo e você pode ajustar conforme sua necessidade ao alterar o caminho adb e o nome do pacote

C:\Users\Owner\AppData\Local\Android\Sdk\platform-tools>adb shell dpm set-device-owner package-name/.MyDeviceAdminReceiver 

MyDeviceAdminReceiver é a interface.

Comentários

  • Observe que uma vez que um aplicativo é definido como proprietário , é muito difícil desfazer isso
  • hi @Sam Eu sei, mas felizmente podemos fazer isso por meio da codificação para desfazer o proprietário

Resposta

Isso é possível. Você pode usar a nova ferramenta UI-Automator do Android para clicar e interagir com qualquer visualização ou botão no sistema, incluindo clicar em “Ativar” para o administrador do dispositivo. Veja como:

  1. Get UI-Automator em execução. (vá para “Configure seu ambiente de desenvolvimento” e configure um novo projeto java).
  2. Escreva algum código para interagir com sua lista de preferências e clique em “Ativar”. Exemplo:

    UiScrollable settingsItem = new UiScrollable (new UiSelector (). ClassName (“android.widget.ListView”)); UiObject listButton = settingsItem.getChildByText (novo UiSelector ().className (“android.widget.LinearLayout”), “Ativar administrador do dispositivo”); listButton.click (); (novo UiObject (novo UiSelector (). text (“Ativar”))). clickAndWaitForNewWindow (); me.celebrateWith (new Beer ());

  3. Compile-o: ant build

  4. Envie o arquivo jar: adb -d push bin/LookoutTest.jar /data/local/tmp/
  5. Inicie sua atividade de configurações: adb shell am start -S ""com.android.settings/.Settings\$DeviceAdminSettingsActivity""
  6. Execute o automação: adb -d shell uiautomator runtest LookoutTest.jar -c DALaunch
  7. Festa.

Comentários

  • Isso funcionará mesmo se a localidade atual do dispositivo não for ‘ t Inglês?

Written by admin

Deixe uma resposta Cancelar resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Artigos recentes

  • Usando um balun com um dipolo ressonante
  • Qual é a diferença entre “ cant ” e “ cant ”? [duplicar]
  • No JFK, você pode se mover entre os terminais do lado ar em voos domésticos?
  • “ Muito apreciada ” ou “ muito apreciada ”
  • O que ' ideias abstratas ' significa? [fechado]

Arquivo

  • Fevereiro 2021
  • Janeiro 2021
  • Dezembro 2020
  • Novembro 2020
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어

Copyright Tiantan 2021 | Theme by Theme in Progress | Proudly powered by WordPress

Back to top