ADB aracılığıyla Aygıt Yöneticisini Etkinleştir


Yanıtlar:


6

Bu mümkün değil. Bunu önlemek için ayar kodu özellikle yazılmıştır. Gelebileceğiniz en yakın ayar , Ayarlar uygulamasında Cihaz yönetimi ayarları sayfasını açmaktır. Bunu aşağıdakilerle yapabilirsiniz:

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

Teşekkürler Dan, Küçük düzeltme: adb shell am start -S "com.android.settings/.Settings\$DeviceAdminSettingsActivity" Tek bir teklif olmadan olmalı
marengga

Çoğu kabukta, bu komut Aygıt yönetimi ayarları sayfasını değil, yalnızca Ayarlar'ı başlatır . İşte Izzy'nin nedeninin açıklaması .
Dan Hulme

Devre dışı bırakmaya ne dersiniz? mümkün mü?
android geliştirici

5

Android 7.0'da root olmadan test edildi ve çalışıyor:

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

Yüklü bir paketin yönetici alıcısını bulmak için kabuk komutunu yapıştırmak ve çıktıyı gözden geçirmek üzere aşağıdakileri kullanın:

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

Gerçek bir dünya örneği vermek için, IBM'in Maas360 Android istemcisini bir cihaz yöneticisi olarak etkinleştirmek için kullanılan komut şöyledir:

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

İŞE YARIYOR! Bu kabul edilen cevap olmalı! Bir sorum var, bu komuta fazladan eklemek mümkün mü? Yönetici etkinleştirme işleminden hemen sonra Samsung Knox lisans etkinleştirme isteğinde bulunmam gerekiyor ve lisans anahtarını fazladan geçirmek istiyorum (bu yüzden
Cliff Burton

1

Evet, kök erişiminiz olması koşuluyla. Uygulamanın alıcısını ve ilke bayrağını dosyaya eklemeniz gerekir /data/system/device_policies.xml. Örneğin, Tasker'ı Cihaz yöneticisi olarak etkinleştirmek için söz konusu dosyaya aşağıdaki satırları ekleyin,

Android 5.x için:</policies> Sistemde zaten bir Aygıt Yöneticisi etkinleştirilmişse ile son satırı kaldırın . Dize satırından sonra dosyadaki satırları eklemeniz yeterlidir <policies setup-complete="true">.

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

Android 4.2.1 için:</policies> Sistemde zaten bir Aygıt Yöneticisi etkinleştirilmişse ile son satırı kaldırın . Dize satırından sonra dosyadaki satırları eklemeniz yeterlidir <policies>.

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

Değişikliklerin etkili olması için cihazı yeniden başlatın.

( Busybox kullanabilirsiniz gerekli) sedveya echoo çizgilerle dosyası yazmak için uygun olacak herhangi bir komutu veya. Herhangi bir yardım için cevabımı buraya bakın: Tasker kullanarak belirli uygulamalar için cihaz yöneticisini nasıl etkinleştirebilirim?


0

Bu ise mümkün. Cihaz yöneticisi için "Etkinleştir" tuşuna basmak dahil olmak üzere sistemdeki herhangi bir görünümü veya düğmeyi tıklayıp etkileşimde bulunmak için android'in yeni aracı UI-Automator'ı kullanabilirsiniz. Bunu nasıl yapacağınız aşağıda açıklanmıştır:

  1. Get UI-Otomatikçisi çalışan. ("Geliştirme ortamınızı yapılandırın" bölümüne gidin ve yeni bir java projesi oluşturun).
  2. Tercihler listenizle etkileşim kurmak için bir kod yazın ve "Etkinleştir" i tıklayın. Misal:

    UiScrollable settingsItem = yeni UiScrollable (yeni UiSelector (). ClassName ("android.widget.ListView")); UiObject listButton = settingsItem.getChildByText (yeni UiSelector (). ClassName ("android.widget.LinearLayout"), "Aygıt Yöneticisini Etkinleştir"); listButton.click (); (yeni UiObject (yeni UiSelector (). metin ("Etkinleştir"))). clickAndWaitForNewWindow (); me.celebrateWith (yeni Bira ());

  3. Derleyin: ant build

  4. Jar dosyasını itin: adb -d push bin/LookoutTest.jar /data/local/tmp/
  5. Ayarlar etkinliğinizi başlatın: adb shell am start -S "'com.android.settings/.Settings\$DeviceAdminSettingsActivity'"
  6. Otomasyonu çalıştırın: adb -d shell uiautomator runtest LookoutTest.jar -c DALaunch
  7. Parti.

Cihazın geçerli yerel ayarı İngilizce olmasa bile bu işe yarar mı?
android geliştirici

0

Cihazı Android Studio'dan sahip olarak ayarlayabilirsiniz. Önce Android Sdk'de Platform araçlarında bulunan adb konumuna gidin ve adb shell komutunu çalıştırın. Tam yolu verdim ve adb yolunu ve paket adını değiştirdikten sonra gereksiniminize göre ayarlayabilirsiniz

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

MyDeviceAdminReceiver arabirimdir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.