Bir sistem uygulamasıyla kullanıcı uygulaması arasındaki farklar nelerdir?


28

Farklı ROM'lar ile oynadığım ve Titanium Backup'ı kullandığım için uygulamaların sistem ve kullanıcı uygulamalarına kategorize edildiğini görüyorum. Bazı ROM geliştiricileri, Titanium Backup'ın yalnızca kullanıcı uygulamaları için değil, sistem uygulamaları için kullanılması gerektiğini ve sistem uygulamalarını kaldırmaya devam ettiğimde TiBu ROM'un düzgün çalışmayabileceği konusunda uyardı.

Kullanıcı uygulamalarının Market üzerinden veya başka bir yöntemle indirilebilir olması gerçeği dışında, ikisi arasındaki temel farklar nelerdir?

Onları işletim sisteminin kendisiyle daha bütünleyici yapan sistem uygulamaları hakkında nedir?

Yanıtlar:


20

/systemroot olmadan salt okunur olduğundan uygulamaların /system/appve ' den kaldırılmasını önler /system/priv-app. Kritik olan uygulamalar orada kaldırılamaz, böylece yerleştirilir. Taşımanıza izin vermek istemedikleri Taşıyıcı bloatware de orada koyulur. Köklendirilmişseniz, son uygulama kategorisi kaldırılabilir; eski, çok değil.

/system/priv-appayrıca, orada yüklü uygulamaların kullanımına signatureOrSystemve diğer ayrıcalıklı izinlere izin verir. Stephen'ın cevabında bazı örnekler var.

Uygulamaların neden kritik olabileceğine gelince , bu ROM'a bağlıdır. HTC's Sense, örneğin duyduğuma göre yerleşik uygulamalarına büyük ölçüde bağımlı. Basitçe, kullanıcı arayüzlerini, üçüncü taraf uygulamalarla yerel olarak çalışacak şekilde tasarlamıyorlardı (ya da sistem uygulamaları eksikse güzelce başarısız oluyorlardı). Diğer uygulamalar esasen Android işletim sisteminin bir parçasıdır ancak Google bunları uygulamalar / hizmetler olarak kodlamıştır (muhtemelen kapsülleme ve güvenilirlik nedenleriyle).

Bazı sistem uygulamaları için güncellemeler, Google Haritalar gibi Google Play Store'dan indirilebilir. Cihazınıza önceden sisteminize yüklenmemişse, bir kullanıcı uygulamasından sistem uygulamasına dönüştürmek için Titanium'u kullanabilirsiniz.


aynı zamanda bir sistem uygulamasının görev katilleri tarafından öldürülemeyeceği anlamına mı geliyor? ya da öldürülürlerse otomatik olarak başlayacaklarını ??
ashishsony

@ ashishsony Sistem hizmetleri normalde otomatik olarak başlatılır, evet, ancak (çoğu?) uygulamalar / hizmetler hala öldürülebilir. Örneğin Tarayıcıyı cihazımda öldürebilirim. (Görev katillerinin nasıl kötü olduğu hakkında genel önerilerde bulunun.)
Matthew

Doğru, HTC Cihazları'ndaki sistem uygulamaları (Dropbox, Facebook gibi kullanıcılar bile) Sense UI ile çok derinlemesine tümleşik. Kişi onları çıkarmaktan kaçınmalıdır; Ayrıca, kullanıcı uygulamalarını sistem uygulamalarına dönüştürmek, bazı ROM'larda düşük bellek koşullarında sonlandırmayabilecekleri için gerekli olmadıkça yapılmamalıdır.
Ashesh Kumar Singh,

1
@ Tüm bir programatik fark sistem (özel uygulama) uygulamasının bir sistem yayını alması bile uygulama ayarlarından force_stop olsa bile, (kullanıcı uygulaması) sistem dışı uygulama cihaz ayarlarından force_stop olduğunda herhangi bir yayını alamaz.
Zala Janaksinh 17:15

22

Diğer cevaplar doğrudur, ancak birkaç farklılık gösterememiştir:

İzinler

Sistem uygulamalarına, kullanıcı uygulamaları için hiçbir zaman kullanılamayan yalnızca belirli sistem izinlerini isteme yeteneği verilir. Bu, root / sudo / su izinleriyle aynı değildir .

Her gün bildiğim ve kullandığım bir örnek cevapsız çağrı bildirim sayacını sıfırlama yeteneğidir. Stok çeviricinin ve iletişim uygulamasının (telefon görüşmelerini nasıl yaptığınız) yerine geçen Go Dialer var. Bir aramayı kaçırdığımda, android bunu bir bildiriyle bana bildirir. Ancak, Go Dialer'ın, uygulamayı yüklediğinizde bu izinleri istemesine rağmen, bu sayacı sıfırlamasına izin verilmez. Android 2.2 ve önceki sürümler, kullanıcıların uygulamalarının sıfırlamasına izin verdi, ancak bu izni android 2.3 için sistem tarafından erişilebilen bir izin haline getirdi

Go Dialer uygulamamı sistem bölümüne taşıyarak, bu sayacı sıfırlamama izin verildi. Kök, uygulama için gerekli değildir (elbette uygulamayı aslında Sistem bölümüne taşımak hariç).

Diğer bir sistem izni, geçerli gps konumunu ayarlama yeteneğidir. Artık Android, sahte konumlara izin verebileceğiniz bir tercihe sahip olduğundan, taktığınız herhangi bir gps sahtekarlığı uygulaması bir gps konumu ilan edebilir. Ancak, uygulama Sistem bölümünde ise, uygulamanın gps konumunu bozmasına izin verirken sahte konumlar devre dışı bırakılabilir.

Güncellemeler

Sistem uygulamaları, tıpkı kullanıcı uygulamaları gibi güncellenebilir, ancak güncelleme hiçbir zaman orijinal rom'a entegre edilmez. Diğer bir deyişle, sistem uygulamaları rom ilk kurulduğunda varolan sürüme geri dönme özelliğine sahiptir.

SD'ye taşı

Android, kullanıcıların useruygulamaları dahili bellekten sd karta taşımalarını sağlar . Sistem uygulamaları taşınamaz ve her zaman bir miktar iç alan kaplar. Bununla birlikte, çoğu (tümü?) Cihazın farklı bölümlerde dahili kullanıcı uygulamaları olduğundan, bir sistem uygulamasını kaldırmak size daha fazla kullanıcı uygulaması alanı sağlamaz (kaldırılan dalvik-önbellek dışında).

Bir sistem uygulamasındaki güncellemeleri kaldırırsanız, biraz yer kazanırsınız. Belirtildiği gibi, güncellemeler rom ile entegre değildir ve bu nedenle kullanıcı alanında depolanır. Güncellemelerin sd karta da taşınmasına izin verilmez, ancak çıkarılırsa kullanıcı alanı kurtarılır.

Seni nasıl etkiler

Sıradan bir android kullanıcısıysanız, büyük olasılıkla system vs user app'in bir fark yaratacağı senaryolara rastlamazsınız. Eğer ileri düzey bir kullanıcıysanız, muhtemelen kökünüz vardır ve bu nedenle, bu durumlardan birine rastlarsanız, bir sistem uygulamasını kullanıcıya değiştirebilir (veya tersi).


1
"Bu root / su izinleriyle aynı değil" mi demek istediniz? Bunu hatırlıyor gibiyim sudove suaynı değil - en azından Unix ve Linux'ta.
ChuongPham

Haklısın, su ve sudo * nix'te farklı. Ancak sudoburada daha uygulanabilir, çünkü sudo kök ayrıcalıkları istiyor, oysa suBasitçe Kullanıcı Değiştirmeyi istiyor. Su kullanmak için, sadece değiştirdiğiniz hesabın şifresini bilmeniz gerekir; Bir hesap belirtmezseniz, root olmanız isteniyor. Bununla birlikte, Android'de, root şifresi ya da başka hesaplar yoktur, bu nedenle sukullanıcıların root ayrıcalıkları elde etmek için bir terminalde çalıştığı bilinen komuttur.
Stephen Schrauger

Her halükarda, subazı Android kullanıcılarının root'lara eşit olması gerekenleri içerecek cevabı güncelleyeceğim .
Stephen Schrauger

4

Sistem uygulamaları sistem içinde bulunan uygulamalardır. / System / app klasöründe bulunurlar.

Bunların büyük çoğunluğunun cihazı çalıştırması gerekir. Bunlardan bazıları, tüm ağ bağlantılarını ayarlayan çevirici ve uygulama içi web görünümlerinin çalışmadığı tarayıcıdır.


1
Çevirici ağ bağlantısını kurar mı?
Matthew

2
@MatthewRead Evet - Evet! Gerçek 'Çevirici', çevirici uygulamasında bulunan ayrı bir etkinliktir. Dialer.apk, bağlantıyı kuran uygulama. Kanıt istiyorsanız, çevirici ve çevirici depolama uygulamalarını dondurun, ağ çalışmayacaktır.
Liam W

Bu oldukça garip!
Matthew

Android çok garip!
Liam W

3

Yukarıdaki cevaplara bir şey eklemek istiyorum. Kullanıcı uygulamaları aksine, fabrika uygulamaları tam fabrika ayarlarına sıfırlama işleminde silinemez. Tüm kişisel dosyalarınızı silmek istiyorsanız, ancak fabrika ayarlarına sıfırlama işleminin yalnızca en uygun olduğu ve uygun bir şekilde silinmesi gereken çok sayıda dosya varsa, bunları saklamak istediğiniz uygulamalara sahipseniz, bu uygulamaları kazanacakları şekilde sistem uygulamalarına dönüştürebilirsiniz. Fabrika ayarlarına sıfırlama işlemi sırasında silinmez.


1
İlginç ipucu!
Müziğimi

2

Sistem uygulamalarının bir başka özelliği de , uygulama-özel kütüphaneler dizininden (örneğin, / data ) değil , ortak sistem kitaplıkları dizininden (genellikle / sistem / lib veya / sistem / lib64 ) yerel kütüphaneleri ( libsomething.so dosyaları) kullanmalarıdır. /app/com.example.HelloJni/lib/arm ). Android Nougat'tan önce, kullanıcı uygulamaları sistemin yerel kütüphanelerini yüklemek ve kullanmakta serbestti. Kısıtlamalar daha sonra uygulandı, bkz. Https://developer.android.com/about/versions/nougat/android-7.0-changes.html#ndk .

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.