önsöz
Geç olabilir, ancak sorunuza kendi kararımı vermek istiyorum. Bu cevap, bir uygulamaya internet erişimini engellemenin kesin yoludur. Dezavantajları? Amaçları engellemiyor, kıvrılıyor ve hedef uygulamanın çökmesine neden olabilir ve kök ayrıcalıkları gerektiriyor .
Android 7.1.2'ye kadar çalışması için test edilmiş ve onaylanmıştır.
gerekçe
Diğer cevaplayıcıların da belirttiği gibi, internete erişmek isteyen herhangi bir uygulama, android.permission.INTERNET
kendi içinde yadsınamaz bir izin vermelidir AndroidManifest.xml
. Yine de Android, bir uygulamanın hangi izinleri istediğini nasıl hatırlıyor? Bunları içeride kaydederek packages.xml
, bulunan korumalı bir dosya /data/system
.
Kök ayrıcalıklarına sahip olmak kaydıyla, bizim gibi birinin izin ekleme veya kaldırma amacıyla söz konusu dosyayı düzenlemekle ilgilenebileceğini söylemeye gerek yoktur . Bu, VPN veya güvenlik duvarı yazılımı olmayan bir uygulamaya internet erişimini engellemenin yoludur.
packages.xml
dosya
packages.xml
Dosya listeleri birlikte yolları ve izinlerle yüklenen uygulamaların hepsi,. Her uygulama <package></package>
etiketleri arasına yerleştirilir ; Cevabım uğruna, TeslaCoil tarafından Nova Launcher'ı hedefleyeceğim. Dosyadaki uygulamanın stanza aşağıdaki gibidir:
<package name="com.teslacoilsw.launcher" codePath="/data/app/com.teslacoilsw.launcher-1" nativeLibraryPath="/data/app/com.teslacoilsw.launcher-1/lib" publicFlags="944258628" privateFlags="0" ft="16075caace8" it="16075cac965" ut="16075cac965" version="53000" userId="10083" installer="com.android.packageinstaller">
<sigs count="1">
<cert index="7" key="3082034d30820235a0030201020204638fbad3300d06092a864886f70d01010b05003057315530530603550403134c726f636b7a35353535204f553d44726f69642046726565646f6d20556e6974204f3d44726f69642046726565646f6d20496e63204c3d556e6b6e6f776e20533d556e6b6e6f776e20433d4c4b301e170d3134313230353030343535375a170d3434313132373030343535375a3057315530530603550403134c726f636b7a35353535204f553d44726f69642046726565646f6d20556e6974204f3d44726f69642046726565646f6d20496e63204c3d556e6b6e6f776e20533d556e6b6e6f776e20433d4c4b30820122300d06092a864886f70d01010105000382010f003082010a0282010100818b312365be3e55f48989d43468880067464eca65aa3ba73305178311fc2a053c143182f6d2ea635b57dc327adf8a5a9b763c03f0a48c38530114e6979358d6bfca37d161ca6fe8bb0d80f061d7b67bc1456cdfc38e0cda2ebd05c48113f701140950f0fe4315de6b95c7504129abb2c1a61f1e4f1229fb83f474dbcd7dc957b84a1b8a2aa0157b223609d77980a3f579c93fbb24a6f9fbb5a8e207cccdf1add616c95c732d5c114c0168fdbd9c00ddf211c2b8886b9498a34f389025802e334f404b7e4eb75f6308f086e5bdac64db10053c7ff8d21a350b941d5394ffbe2bd037139134eb065c2317625e65d3f628aecf7965a0d70b02e68aa8371efd1fe50203010001a321301f301d0603551d0e04160414a4e66b693ecdf3241883e3eed668354e1531ba11300d06092a864886f70d01010b050003820101003992f3f461a290db767911a4a519f035fe0c34e597e2fba2e31371e260bd2fc8f9a93c35e6f06553d02588d2f8453ee784d2ba09a696e66304e3e01f7c6bdf5b2747fc73f79d00379cc94eefa542c8eb308318364df2fa1a9c6a7ef0669d08f7b1f8635d0d4331e2817d5aeb0854760116c29801cf915ef67d5c0e04861cad4fa7b96fe8f9a0baf0cda649cd35a7122142ba38b2d16d9d319a8604a41fe0025d89be87f84ce8fc080ab54c76a96f3d9b70b1a5f5e18e48768e3684bca8a950665e16a6d50cf0045949baebca876d55eeba52ea421f33009872d9d654f8f8caa1bb465d754694d4bf6cb92f3299fbec3781849b37e6ba23ffe3d6c20ecb9bc65d" />
</sigs>
<perms>
<item name="com.android.launcher3.permission.READ_SETTINGS" granted="true" flags="0" />
<item name="com.google.android.c2dm.permission.RECEIVE" granted="true" flags="0" />
<item name="com.teslacoilsw.launcher.permission.C2D_MESSAGE" granted="true" flags="0" />
<item name="android.permission.EXPAND_STATUS_BAR" granted="true" flags="0" />
<item name="android.permission.WRITE_MEDIA_STORAGE" granted="true" flags="0" />
<item name="android.permission.INTERNET" granted="true" flags="0" />
<item name="android.permission.ACCESS_NETWORK_STATE" granted="true" flags="0" />
<item name="android.permission.SET_WALLPAPER" granted="true" flags="0" />
<item name="android.permission.SET_WALLPAPER_HINTS" granted="true" flags="0" />
<item name="android.permission.VIBRATE" granted="true" flags="0" />
<item name="android.permission.ACCESS_WIFI_STATE" granted="true" flags="0" />
<item name="android.permission.WAKE_LOCK" granted="true" flags="0" />
</perms>
<proper-signing-keyset identifier="10" />
</package>
Girinti dosyadan sözlü olarak rapor edilir.
prosedür
Yukarıdaki bilgilerle donanmış olarak, şimdi Nova Launcher'ın izinlerini, arasına sarılmış olarak incelemeye devam edebiliriz <perms></perms>
. Yakında, düzenlememiz gereken tek şeyi bulacağız:
<item name="android.permission.INTERNET" granted="true" flags="0" />
Uygulamaya internet erişimini etkin bir şekilde reddetmek için, tüm satırı silmemiz ve cihazımızı yeniden başlatmamız yeterlidir. Gelecekte kullanım için yorum yapmak yararsızdır: Android bu dosyayı her açılışta inceler ve yorumlarınızı temizler .
Dezavantajları
Bu prosedürü izleyerek, internetle hiçbir şekilde iletişim kuramayacağınız bir uygulamayı netleştireceksiniz. Ancak, kötü kodlanmış uygulamalar ve Marshmallow ve üstü için tasarlanan yazılımlar , Nova'nın yaptığı gibi , internete bağlanmaya çalışırken çökebilir .
Ayrıca, Firelord'un belirttiği gibi, bir uygulamanın güncellenmesi değişikliklerin geri alınmasına, çabalarımızı etkin bir şekilde geçersiz kılmasına ve yeniden silinmesine izin verilmesine neden olur.
Bu prosedürü değiştirmek
Yukarıda yaptığımız şeyi tersine çevirmek için gereken tek şey, diğerlerinin arasına yeniden sildiğimiz izni eklemek ve cihazı yeniden başlatmak.
feragat
Nova Launcher veya geliştiricisine bağlı değilim.