Tek bir yerde kolayca uygulama izinleri denetleyin?


28

Telefonunuza yüklenen tüm uygulamaları ve hepsinin gerektirdiği izinleri bir sayfada listelemek ya da kolayca denetlenebilmesi için listeyi dışa aktarmak var mı?

Yanıtlar:


14

İzin Bekçisi veya İzinler gibi piyasa uygulamalarını kullanın . Ayrıca, birkaç tane daha var.


Ne yazık ki, uygulama yüklenirken tüm izinler listelenmediğinde Market uygulamasında bir hata (veya amaçlanan özellik?) Var. Bu, daha eski android sürümleri için tasarlanmış yazılımlarla bir uyumluluk sorunu olabilir ... code.google.com/p/android/issues/detail?id=9365
Denis Nikolaenko

2
belki de içine yorum dahil cevabı daha basit olurdu.
bbaja42

@Nikolaenko, görünüşe göre bilerek ve şimdi değişti: android.stackexchange.com/questions/605/…
BlackShift

@ BlackShift, "şimdi değiştirildi" ile neyi kastediyorsunuz? Android dev tarafından değiştirildi. takım?
Denis Nikolaenko

@Nikolaenko, sanırım bana göre belirsiz olduğu için net değildim. Cyanogenmod 6, android 2.2 kullanıyorum ve hemen hemen tüm uygulamalar bağlantınızın talep edildiğinin açıkça verilmiş olduğu izinleri istiyor. Bu yüzden bunu kimin değiştirdiğini bilmiyorum (siyanojen veya android takımı).
BlackShift

4

Ben yerine kullanarak sona erdi o başka uygulama İzinleri olan RL izinler . Arayüzü tercih ederim. Hangisinin daha iyi çalıştığını bilmiyorum.



0

İzin Dostu Uygulamalar , yüklü uygulamaları en az talep gerektiren izin gereksinimlerine en çok talep eden sıralarına göre listeler. (Yine de aslında davranışlarını izlemiyor, denetlemiyor veya davranışlarını değiştirmiyor.)


0

Soruda hiçbir Android sürümü belirtilmediğinden, Android sürüm 4.2.1 ve daha üstü ile ilgili bir komut satırı tabanlı cevap öneririm. Bu ideal, işletim sisteminden bağımsız bir çözümdür, yani PC'de işletim sistemi.

Bağımlılıklar

  • PC'de kurulum için gerektirir .
  • Meşgul kutusu ikili gerektirir . Cihaz köklü ise, Busybox uygulamasını yükleyin . Aksi halde, resmi kaynaktan meşgul kutusu ikili dosyasını indirin , ikili dosyayı meşgul kutusu olarak yeniden adlandırın, herkes için Linux uyumlu çalıştırılabilir izinler ayarlayın ve bunları kullanarak cihaza taşıyın.

    adb push LOCAL_FILE /data/local/tmp/   # LOCAL_FILE is the file path where busybox binary is located in PC
    
  • Aapt ikili dosyası gerektirir . Bir CM veya türev ROM'unu çalıştırıyorsanız, bu gereksinimi dikkate almayın. Aksi halde, Android 4.x için, buradan ikili dosyayı indirmeyi düşünebilir, ikiliyi aapt olarak yeniden adlandırabilir, Linux uyumlu yürütülebilir izinleri herkes için kullanabilir.

    adb push LOCAL_FILE /data/local/tmp/   # LOCAL_FILE is the file path where busybox binary is located in PC . 
    

    Android 5.x kullanıcıları için Google'dan yardım isteyin.

İşte sihri yapan benim küçük senaryom:

#! / Sistem / bin / sh

# Meşgul kutusu ikilisinin / data / local / tmp / veya / system / xbin altında olup olmadığını kontrol edin. Algılanan ikilinin yolunu busybox değişkenine ayarlayın veya dosya yoksa veya çalıştırılabilir izin ayarlanmadıysa çıkın
[[-x / data / yerel / tmp / busybox]] && busybox = / veri / yerel / tmp / busybox || {[[-x / sistem / xbin / busybox]] && busybox = / sistem / xbin / busybox || {printf "meşgul kutusu ikili dosyası bulunamadı veya çalıştırılabilir izin ayarlanmadı. \ n" Çıkılıyor && exit; }; }
# Aapt binary'in / data / local / tmp veya / system / bin veya / system / xbin altında olup olmadığını kontrol edin. Algılanan ikili dosya yolunu aapt değişkenine ayarlayın veya dosya yoksa veya çalıştırılabilir izin ayarlanmadıysa çıkın
[[-x / data / yerel / tmp / aapt]] && aapt = / veri / yerel / tmp / aapt || {[[-x / sistem / bin / aapt]] && aapt = / sistem / bin / aapt || {[[-x / sistem / xbin / aapt]] && aapt = / sistem / xbin / aapt || {printf "aapt binary bulunamadı veya çalıştırılabilir izin ayarlanmadı. \ n" çıkılıyor && exit; }; }; }

# Yüklü tüm uygulamaların paket adını listele ve onları / sdcard altındaki package.txt dosyasına kaydet.
pm list paketleri | $ busybox sed 's / ^ paketi: // g' | $ busybox sort -o /sdcard/packages.txt

# Yeni kaydettiğimiz çıktıdaki her paket adı için, uygulamanın etiketini $ path ve $ label kullanarak alın, bir satır yazdırın ve son olarak uygulamaya verilen izinleri listeleyin 
satır okunurken; yap
    path = $ (pm path $ satır | $ busybox sed 's / ^ paketi: // g'); 
    label = $ ($ aapt d $ yolunu gösteriyor $ $ | $ busybox grep 'application: label =' | $ busybox cut -d "'" -f2);  
    $ busybox printf "Paket adı $ line \ n olan uygulama $ etiketinin izinleri \ n"; 
    Dumpsys paketi $ satır | $ busybox sed -e '1, / grantedPermissions: / d' -e '/ ^ \ s * $ /, $ d' | $ busybox sıralaması;
    $ busybox printf "\ n"; 
</sdcard/packages.txt yapıldı

Demo çıkışı:

Paket adı cn.wq.disableservice olan uygulama DisableService için izinler
      android.permission.READ_EXTERNAL_STORAGE
      android.permission.WRITE_EXTERNAL_STORAGE

Co.vanir.indecentxposure paket adına sahip uygulama Indecent Xposure için izinler
      android.permission.RECEIVE_BOOT_COMPLETED

Paketin com.android.apps.tag adındaki uygulama etiketlerinin izinleri
      android.permission.CALL_PHONE
      android.permission.NFC
      android.permission.READ_CONTACTS
      android.permission.WAKE_LOCK
      android.permission.WRITE_SECURE_SETTINGS
...
...
Org.cyanogenmod.themes.provider paket adına sahip uygulama Temaları Sağlayıcı izinleri
      android.permission.ACCESS_NOTIFICATIONS
      android.permission.ACCESS_THEME_MANAGER
      android.permission.INTERNET
      android.permission.READ_THEMES
      android.permission.WRITE_SECURE_SETTINGS
      android.permission.WRITE_SETTINGS
      android.permission.WRITE_THEMES

Komut dosyasını PC'de bir dosyaya kaydedin ve perm_script.sh/ sdcard kullanarak

adb push LOCAL_FILE /sdcard/   # LOCAL_FILE is the  path where you saved that file into PC

Bu dosyayı çalıştır

adb shell sh /sdcard/perm_script.sh > OUTPUT_FILE   # OUTPUT_FILE is the path where you want to save the final output

Sistemde yüklü olan uygulamalar arttıkça, komutun yürütülmesi için gereken süre de o kadar artar. Cihazımda, yaklaşık üç dakika sürdü.

İlgili: Bir telefon özelliğine erişimi olan yüklü tüm uygulamaları bulmanın yerel bir yolu var mı?

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.