Android sistem uygulamaları kök erişimi olmadan nasıl devre dışı bırakılır?

Image: Pixabay

Telefonumu saçma sapan önyüklü uygulamalardan arındırmaya çalışırken, malesef bunlardan bazılarının sistem uygulaması olduğunu fark ettim.

XDA-Developers Forumlarında Android sistem uygulamalarını kök erişimi olmadan nasıl kaldırılacağı hakkıdaki şu makaleyi okuduktan sonra, uygulamaları silmeden devre dışı bırakmak için alternatif bir yol aramaya başladım.

Bunun için önce telefonun yazılımını (sürücülerini) ve Miniamal ADB ve Fastboot‘u bilgisayara kurdum, telefonu bilgisayara bağladım ve telefon ayarlarından USB hata ayıklamayı etkinleştirdim. (USB hata ayıklamayı etkinleştirmek için önce Geliştirici seçeneklerini etkinleştirin. Ayarlar -> Telefon hakkında menüsüne giderek Derleme numarasına 7 kere tıklayın ve Geliştirici seçeneklerini etkinleştirin. Sonra geri giderek Geliştirici seçeneklerine gidin -> USB hata ayıklamayı etkinleştirin.)

 

Başlat menüsünden “Minimal ADB and Fastboot”u çalıştırdıktan sonra (Başlat menüsüne Minimal yazıp aratarak), adb komutlarını göndermek için her şey hazır oldu.

Makalede, uygulamaları kaldırmak için kullanılan yol akıllıcayadı, çünkü yalnızca belirli bir kullanıcıyı hedeflediği için sistem uygulamaları kök erişimi olmadan kaldırılabiliyordu.

adb shell pm uninstall -k --user 0 <paketismi>

Bir sistem uygulamasını kaldırmak tehlikeli ve geri dönülemez olabilir. Bir sistem uygulamasını kaldırmak için kök erişimi gereklidir. İlgili komuttaki “-k –user 0” parametrelerinin yardımı ile bir sistem uygulaması kök erişimi olmadan, yalnızca geçerli kullanıcı için kaldırılabilir. Eğer bir sistem uygulaması yalnızca geçerli kullanıcı için kaldırılırsa, cihaz sıfırlandığında uygulama geri gelebilir. Ayrıca bu durum, sistem güncellemelerinin alınmasına engel olmayacaktır. Bir uygulamayı geçerli kullanıcı için devre dışı bırakmakla, uygulamayı menüden kaldırmış ve uygulamadan kurtulmuş bazı kaynakları geri kazanmış olursunuz fakat yer kazanmış olmazsınız.

Bana göre bir sistem uygulamasını kaldırmak yerine devre dışı bırakmak birçok durumda daha iyi bir seçenek olacaktır. Sonuçlar benzerdir. Bir sistem uygulamasını devre dışı bırakırsanız, uygulama ana ekran uygulamanızda görünmeyecek fakat ayarlardaki uygulamalar listesinde “devre dışı” olarak görünecektir. Bir sistem uygulamasını devre dışı bırakmak için kök erişimi gerekli iken, sistem uygulamasını geçerli kullanıcı için devre dışı bırakırken kök erişimi gerekli değildir.

Ve işte formül:

# Paket yöneticisini kullanarak sistem uygulamasını geçerli kullanıcı için devre dışı bırak
adb shell pm disable-user <paketismi>
# Bir uygulama devre dışı bırakıldıktan sonra hala çalışıyorsa, aktivite yöneticisini kullanılarak onu durmaya zorlayabilirsiniz
adb shell am force-stop <paketismi>

“disable-user” parametresi aynı zamanda –user parametresini de kabul eder. Bununla ilgili aşağıda daha iyi bir örnek yazacağım.

Devre dışı bırakılan uygulama basit bir komut ile tekrar etkinleştirilebilir.

adb shell pm enable <paketismi>

Android Oreo ile çalışan Huawei P10 Lite cihazımda, bazı uygulamaları devre dışı bırakıp durmaya zorladığımda, cihaz yeniden başlatıldığında bazılarının çalışmaya devam ettiğini fark ettim. Bundan sonrasını Facebook App Manager örneği ile açıklamaya çalışacağım. Şöyle bir yol denedim:

Tüm kullanıcıları listelemek için şu komutu kullandım:

adb shell list users

ve şu sonucu aldım:

Users:
    UserInfo{0:Owner:13} running
    UserInfo{10:─░kiz:4000010} running

Aslında ikinci kullanıcı muhtemelen Huawei’nin “ikiz uygulama” özelliği ile ilgili ve onu da “pm disable-user” ile kullanabiliyordum. Benzeri bir durumunuz yoksa aşağıdaki komutlara ihtiyacınız olmayabilir.

Tüm kullanıcıları listeledikten sonra aynı komutu –user parametresi ve listelenen iki ID (0 ve 10) ile birlikte kullandım.

adb shell pm disable-user --user 0 com.facebook.appmanager
adb shell pm disable-user --user 10 com.facebook.appmanager
adb shell am force-stop com.facebook.appmanager

Ve işe yaradı. Uygulama, cihaz tekrar başlatılsa da çalışmıyordu. Böylece kendi durumum için yeni yöntemimi belirlemiş oldum: Kullanıcı ID numaralarını yukarıda anlatılan yöntem ile bul. İlgili komutu bulunan ID’ler (örnekte 0 ve 10) ile çağır. Son olarak da uygulamayı durmaya zorla.

adb shell list users
adb shell pm disable-user --user 0 <paketismi>
adb shell pm disable-user --user 10 <paketismi>
adb shell am force-stop <paketismi>

Nelerin devre dışı bırakılacağını tespit etmek

Bir sistem uygulamasını devre dışı bırakmakla her zaman kaynak ve pil tasarrufu yapmış olmazsınız. İşler çok daha kötüye gidebilir. Mesela cihazınız kullanılamaz hale gelebilir. Ya da ilgili sistem uygulamasıyla bağlantılı başka uygulamaların daha fazla pil gücü tüketmesine neden olabilirsiniz. Her şeyin yolunda gidip gitmediğini anlamak için deneme yapabilir veya sistem günlüklerini inceleyebilirsiniz.

Bir sistem uygulamasını yalnızca onu artık görmek istemiyorsanız ve ne yaptığınızı biliyorsanız devre dışı bırakın.

Paket isimlerini şu yöntemle bulabilirsiniz:

# Tüm paketleti listele
adb shell pm list packages

# Adında "facebook" geçen paketleri bul
adb shell pm list packages facebook

Deneme cihazımı bazı uygulamalardan arındırmak (Android Oreo ile çalışan Huawei P10 Lite)…

Ben sistem günlüklerine bakmadım ancak aşağıda paket isimleri verilen uygulamaları (sadece deneme amaçlı olarak) devre dışı bıraktığımda performans veya pil ömrü üzerinde herhangi bir değişiklik fark etmedim.

# Facebook saçmalıkları. Google Play Store’da bulunan Facebook uygulaması değil.
com.facebook.services
com.facebook.system
com.facebook.appmanager
# Daha önce hiç kullanmadığım HiCare uygulaması
com.huawei.phoneservice
# Google Duo uygulaması
com.google.android.apps.tachyon
# Kullanmadığım hava durumu uygulaması
com.huawei.android.totemweather
com.huawei.android.totemweatherwidget
com.huawei.android.totemweatherapp
# Türkiye’de aktif olmayan Huawei uygulama marketi
com.huawei.appmarket
# Saçma sapan EMUI hesap makinesi, Google hesap makinesini kullanıyorum
com.android.calculator2

Operatör spam mesajlarından kurtulmak için devre dışı bıraktığım STK uygulaması ve ilgili makalem.

com.android.stk

 

 

Kaynak: https://volkan.xyz

 

Bu yazıyı yalnızca kaynak göstererek ve önceden belirtilen Kullanım Koşulları altında paylaşabilirsiniz.

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir