Android nedir ve neden gereklidir? Android platformu nedir ve ne içindir?

  • 26.12.2021

Makaleler ve Cankurtaranlar

Bugün, kendisini "akıllı" teknolojiyle çevrelemek istemeyen böyle bir insan bulmak zaten zor. “Telefonsuz, ellersiz gibidir” ifadesi kulağa gitgide daha sık geliyor ve bir oynatıcı, dizüstü bilgisayar veya diğer popüler gadget'lar olmadan hayatı hayal etmek imkansız.

Bu nedenle, herkes modern elektronik pazarında ortaya çıkan yeni ürünleri bilmelidir. Örneğin herkes android platformunun ne olduğunu bilmiyor ama biz onu anlamaya çalışacağız.

Android nedir

  • Android, bir mobil cihazı (telefon, tablet, akıllı telefon) kontrol edebilen bir işletim sistemidir. Android platformu, Linux çekirdeği temel alınarak geliştirilmiştir.
  • 2005 yılında Google'ın Android Inc'i satın alması, onu yan kuruluşu yapması ve mobil cihazlar için aynı adı taşıyan platformları piyasaya sürmeye başlaması nedeniyle ortaya çıktı. O zamandan beri, platform sadece gelişti.
  • Android, programının yeni sürümlerini çok sık yayınlar. Her yeni versiyonun adının ilk harflerinin Latin alfabesinin harflerine karşılık gelmesi dikkat çekicidir.
  • Bugün, Android platformu dünyada popülerlik açısından ikinci sırada, yalnızca iPhone için geliştirilen iOS işletim sisteminden sonra ikinci sırada yer alıyor.

Android ne için?

  • Bildiğiniz gibi, işletim sistemi, bir kişinin tüm komutlarını yerine getirebilmesi için gerekli olan herhangi bir elektronik cihazın "beyni" dir.
  • Buna göre android, bir mobil cihazın içinde yer alan ve bu cihazın içinde gerçekleşen tüm işlemleri gerçekleştirmekten sorumlu olan sanal bir robottur.
  • Bu platformun avantajı, Android'in kullanışlı ve çok sezgisel bir arayüze sahip olmasının yanı sıra, aynı anda birden fazla uygulamayı çalıştırmanıza ve ayarlarla denemeler yapmanıza olanak tanıyan esnek ve çoklu görev sistemine sahip olmasıdır.
  • Diğer şeylerin yanı sıra, özellikle Android platformu için oluşturulan sayısız uygulama, bu sistemin mutlu kullanıcılarına gerçekten sonsuz olanaklar sunuyor.
  • Sonuçta, bu uygulamaların yardımıyla satın alma işlemleri için ödeme yapabilir, fotoğraf çekebilir, film izleyebilir veya kitap okuyabilirsiniz.
  • Bir androidin ne olduğunu anladıktan sonra, bu platformun yaratıcı insanlar için yaratıldığı sonucuna varabiliriz, çünkü iki özdeş mobil cihaz tamamen farklı görünebilir.
  • Android, her zaman yanınızda her şeye sahip olmanızı sağlar - kişisel bir fitness eğitmeni, bir doktor, bir oyuncak veya bir TV, insan hayatını olabildiğince konforlu hale getirir.

Android platformundaki mobil cihazlar telefon pazarında oldukça popüler. Android işletim sistemi telefonlar ve tabletler için idealdir. Büyük miktarda bellek ve yüksek teknik özellikler sayesinde bu işletim sistemiyle çalışmak çok daha kolay hale geliyor.

İşletim Sistemi "Android": açıklama

Uzmanlar, cephanelerinde çok sayıda yararlı işleve sahip olan bu platformda çeşitli cihaz türlerinin sürekli olarak piyasaya sürülmesi nedeniyle Android sisteminin popülaritesinin arttığına inanıyor. Yeni teknoloji pazarına girer girmez, kullanıcıların yeni fırsatları var.

Mevcut teknolojiye ek olarak, gelecekte şüphesiz modern yaşamın ayrılmaz bir parçası olacak Android tabanlı TV'lerin piyasaya sürülmesi planlanıyor. Şimdi, Android platformundaki bir cep telefonu ile GPS navigasyon cihazları gibi araç cihazları arasında çalışmayı senkronize etmeye yardımcı olacak yeni uygulamalar aktif olarak geliştiriliyor. Aynı zamanda, sistemin her bir firmware güncellemesi, cihazın işlevselliğini genişleterek, onu tamamen kullanıcıya göre ayarlar.

Sistemi Google ile nasıl senkronize edebilirim?

Android sistemi bir olasılıklar denizi açar: Google Haritalar, e-posta vb. Tüm hizmetleri tek bir Android cihaz üzerinden kullanmak için sistemi Google ile senkronize etmeniz yeterlidir. Bunu yapmak için, sadece verilerinizi (giriş ve şifre) girmeniz yeterlidir, bundan sonra işletim sistemi tüm uygulamalara otomatik olarak bağlanacaktır.

Standart uygulamalara ek olarak, çok uzun zaman önce tamamen yeni gelişmeler piyasaya sürüldü. Örneğin, Google Voice iletişim programı kullanıcıları, fazla çaba harcamadan bilgi alışverişinde bulunmanıza izin verecektir. Cihazı Google ile senkronize ettikten sonra kullanıcılar, bir çok çeşitli oyun ve programı (ücretli ve ücretsiz) telefonunuza veya tabletinize yükleyebileceğiniz Play Market uygulamasıyla da çalışabilecekler.

Yeni Başlayanlar için Android Sırları

Bu platformda cihazla çalışmayı daha da kolaylaştırmak için ileri düzey kullanıcılar birkaç kullanışlı özellik buldu. "Android" in sırları, sistemi en üst düzeye çıkarmaya ve kendiniz için özelleştirmeye yardımcı olacaktır.

İlk oldukça kullanışlı özellik hızlı aramadır. Herkes, Android sisteminin çeşitli uygulamalara kısayollar barındıran birkaç masaüstüne sahip olduğunu bilir. Bu nedenle, kişi kümesini basitleştirmek için ekranın boş alanına tıklayın, "Kısayol" ve "Kişiler" menülerini seçin ve ardından en popüler numarayı işaretleyin ve masaüstüne yerleştirin. Şimdi bu kişinin aranması kısayola tek bir tıklama ile gerçekleştirilecektir.

Android klavyesinde özel karakterler olduğunu çok az kişi biliyor. Bunları açmak için nokta veya virgül üzerine uzun basmanız yeterlidir. Sayı kümesi aynı şekilde açılır.

Büyük metni manuel olarak yazmanın oldukça sakıncalı olduğu durumlar vardır. Bunun için sesli arama gibi bir işlev var. Tüm acemi kullanıcılar "Android"in sırlarını bilmiyor ve Google arama çubuğunda mikrofon şeklindeki küçük bir simgeyi bulmak o kadar kolay değil. Bu nedenle, çok az insan böyle kullanışlı bir özelliği kullanır. Ancak bu simgeye tıklamanız ve hemen metin haline gelen bir soru söylemeniz yeterlidir.

Yanlışlıkla yanlış düğmeye bastıktan sonra, açık uygulama bir yerde kaybolduysa, büyük olasılıkla basitçe çöktü. Küçültülmüş uygulamayı ekrana döndürmek için, küçük bir ev görüntüsünün bulunduğu düğmeyi basılı tutun ve listeden ihtiyacınız olanı seçin.

Ve bunlar sadece birkaç ipucu. Aslında, daha birçok gizli olasılık var. "Android" in küçük sırları, işletim sisteminin çalışmasını iyileştirmeye ve kullanıcı için mümkün olduğunca özelleştirmeye yardımcı olacaktır.

Kurulu sistem hakkında daha fazla bilgiyi nasıl öğrenebilirim?

Çoğu zaman, kullanıcıların bir mobil cihaz hakkında ayrıntılı bilgi bulması gerekir. Örneğin, Android işletim sistemi sürümü, işlemci türü ve daha fazlası. Bu tür veriler bazen bir uygulama veya program yüklemek için gereklidir. Aslında, bunda zor bir şey yok.

Seçenek 1. Standart ayarları kullanarak bazı sistem verilerini öğrenebilirsiniz. Ayarlar menüsünü açmanız yeterlidir, ardından "Telefon hakkında" öğesini seçmeniz gerekir. Bazı cihazlarda bu, sistem bilgilerinin bir listesini açacaktır. Ekranda tüm bilgiler görünmüyorsa, “Yazılım sürümü” öğesine tıklamanız gerekir. Burada cihazın işletim sistemi hakkında temel bilgileri bulabilirsiniz.

Seçenek 2. Bu yöntem, işletim sistemi hakkında genişletilmiş verilere ihtiyaç duyanlar için uygundur. Bu bilgiyi almak için Play Market'ten özel bir program indirmeniz ve ardından açmanız gerekir. Tüm sistem bilgileri ekranda görünecektir.

Yanıp sönen "Android" sistemi

Birçok kullanıcı, mobil cihazlarına daha yeni bir sürüme sahip bir işletim sisteminin nasıl kurulacağıyla ilgilenmektedir. Ancak, işletim sistemini kurmadan önce, Android'i kendiniz yeniden başlatmanın mümkün olup olmadığını düşünmelisiniz. Ama bu soru çok tartışmalı.

Her şeyden önce, cihaza dikkat etmelisiniz. Tüm mobil gadget'lar yanıp sönemez. Ayrıca, Çin cihazlarında bu işlem hiç sağlanmamaktadır. İşletim sistemine bağımsız müdahale yalnızca cihazı devre dışı bırakır. Bu nedenle, işletim sisteminin nasıl kurulacağını düşünerek, her şeyden önce, bu durumda neyin daha önemli olduğuna karar vermelisiniz - daha yeni bir sürüm veya normal çalışan bir gadget.

Cihazınızı bir PC ile senkronize etmek için en iyi programlar

Bazen bir mobil cihazın yönetiminin bir bilgisayardan mümkün olması gerekir. Bunu yapmak için, kullanıcıların Android'i bir PC ile senkronize etmesine yardımcı olacak özel programlar var.

Android PC Suite, bilgisayarınız üzerinden arama yapmanızı ve mesaj göndermenizi mümkün kılar. Ayrıca bu uygulama ile cihazdaki tüm verileri yedekleyebilirsiniz.

Görevler, notlar ve takvim ve ayrıca bir mobil gadget için sürücüler yükler.

My Phone Explorer, bilgisayarınız üzerinden dosyaları, telefon rehberini ve diğer bilgileri yönetir ve ayrıca Android cihazınız hakkında ayrıntılı bilgi bulmanızı sağlar.


Android- Bu, çeşitli mobil cihazlar için en popüler ve en umut verici işletim sistemlerinden biridir. Sistem, çok kullanışlı bir araç seti ve maksimum ayar esnekliği sunar; bu, Android'deki bir akıllı telefon veya tabletin her kullanıcısının onu tamamen kendi ihtiyaçlarına göre özelleştirmesine olanak tanır. Bu işletim sisteminin gelişimi 2003'te başladı, ancak yalnızca 2 yıl sonra - Google tarafından satın alındıktan sonra - gerçekten ünlü oldu. Android tarihindeki dönüm noktası 2008 sonbaharında gerçekleşti. Ardından Google, Android çalıştıran ilk akıllı telefon olan T-Mobile G1'i gösterdi. O anda birçok küresel üretici, gelecek vaat eden bir işletim sistemine dikkat etti.

(çok ilk versiyon)

Android işletim sisteminin ana özellikleri

Söz konusu işletim sistemi, geliştiricileri tarafından her zaman açık kaynaklı bir sistem olarak konumlandırılmıştır. Bu, herkesin Android gadget'larının yeteneklerini genişletmek için kendi uygulamalarını, oyunlarını ve diğer eklentilerini oluşturmasına olanak tanır. Geliştiriciler başlangıçta her şeyi düşündü, böylece işletim sistemi en “bütçeli” donanımda bile mümkün olduğunca çabuk çalıştı. Bu kesin bir artı çünkü. şimdi en mütevazı finansal araçlara sahip insanlar bile modern akıllı telefonların tüm temel avantajlarından yararlanabilirler.


(Android 5.0)

Mobil elektronik üreticileri de, örneğin HTC'den Sense gibi kendi kullanıcı arayüzlerini yayınlayarak sistemin açıklığından yararlanmaya isteklidir. Bu, farklı üreticilerin Android cihazlarını birbirinden farklı kılar. Klasik ve "saf" Android hayranları, dikkatlerini Nexus cihazlarına çevirmelidir. Geleneksel olarak güncellemeleri ilk alan onlar.

Diğer cihazları güncellemenin zamanlaması, işletim sisteminin yeni sürümlerinin özelliklerine göre tescilli kabukları iyileştirme ihtiyacı nedeniyle genellikle ertelenir.

Oyunların ve uygulamaların ana kaynağı Play Store'dur. Bu mağazanın kataloglarında, yelpazesi aktif olarak genişleyen çok çeşitli ücretsiz ve ücretli içerik mevcuttur. "Android" oyunlarının ve uygulamalarının kalitesi sürekli artıyor. Zaman zaman, Google'ın kendisi çeşitli uygulamalar yayınlar.

Genel olarak Android cihazlar, konuşulmayan gereksinimlere göre modern akıllı telefonların ve tabletlerin sahip olması gereken tüm özelliklere sahiptir. Ayrıca, uygulamalar, widget'lar veya üçüncü taraf bellenim kullanılarak işlevsellik kolayca genişletilebilir.

Bir Android akıllı telefon satın almak isteyenler, birçok işlevin ve programın İnternet ile çalışmaya odaklandığını hatırlamalıdır. Wi-Fi erişiminiz yoksa, İnternet kullanıcıları için uygun bir tarife bağlamanız veya ağa erişim gerektiren bazı işlevleri devre dışı bırakmanız önerilir.

Ayrıca, Android cihazların, özellikle önceki nesillerin temsilcilerinin sınırlı özerkliğini not etmekte başarısız olamaz. Aktif kullanımda, bir akıllı telefon veya tabletin günlük olarak ve bazı durumlarda günde 2 kez şarj edilmesi gerekecektir. Üreticiler bu eksikliği gidermek için aktif olarak çalışıyor ve son zamanlarda önemli ölçüde artan özerkliğe sahip ilginç cihazlar piyasada görünmeye başladı. Geliştiriciler dışarıda bırakılmaz. Her yeni sürümde, işletim sistemi daha az şarj "yer".

Sağlanan bilgilere dayanarak, dikkate alınan işletim sisteminin temel avantajlarını ve dezavantajlarını vurgulamak mümkündür. Yani, Android'in şüphesiz avantajları:
1. Hemen hemen tüm uygulama ve oyunları geliştirmeyi mümkün kılan program kodunun açıklığı.
2. Cihazın donanımına iddiasız.
3. Her zevke uygun çok çeşitli uygulamalar ve heyecan verici oyunlar.
4. Bir akıllı telefonun işlevselliği hakkında modern fikirlere tam uyum.
5. Kullanıcı için hareket özgürlüğü. İstenirse, sistem ve arayüzü, sahibinin ihtiyaçlarına göre kolayca özelleştirilebilir.
6. Modern üreticilerin büyük çoğunluğu arasında işletim sisteminin popülaritesi. Bu, neredeyse her bütçeye sahip bir kullanıcının işlevsel ve modern bir akıllı telefon satın almasına olanak tanır.

Dezavantajları da var. Anahtar olanlar:

1. Program kodunun açıklığı. Evet, aynı anda hem avantajlara hem de dezavantajlara atfedilebilir. Bu, mobil cihaz üreticilerinin çoğunlukla kendi kabuklarını oluşturmayı tercih etmesi nedeniyle bir dezavantajdır. Bu nedenle, işletim sistemi güncellemesinin resmi olarak yayınlanması ile çeşitli cihazlarda alınması arasında önemli zaman gecikmeleri vardır.
2. Nispeten düşük özerklik. Son zamanlarda, bu yönde ileriye doğru büyük bir adım atıldı, çok yakında şakalar “Android'deki akıllı telefonlar en sportif çünkü. günde 2 egzersiz yapıyorlar” komik bir hikayeden başka bir şey olmayacak.

Platform sürekli olarak geliştirilmekte ve geliştirilmektedir. Zaten bugün, işletim sistemleri pazarında güvenle ilk üçe giriyor. Çok sayıda uzman, geleceğin Android'e ait olduğunu ve yanılmadığını defalarca belirtti.

Bugüne kadar, Android'in en son sürümü 5 seri numarasına ve Lollipop kod adına sahiptir. Sistem, tasarımda, işlevsellikte önemli güncellemeler aldı, genel olarak, pratik olarak yeni oluşturulmuş bir üründür. Google Nexus 5 akıllı telefonlar zaten bu işletim sistemi sürümüne güncelleme yapmaya başladı ve yakında tüm modern akıllı telefonlar en son güncellemeyi alacak. Ancak yeni 5.0'ı ayrı ayrı anlatacağız ama yine de Android projesinin Google'a bile ait olmadığı zamanlardan başlamak istiyorum...

Android: Başlangıç

Birçoğu, Android tarihinin 2008'de Android 1.0'ın ilk sürümünün piyasaya sürülmesiyle başladığına inanıyor. Ama aslında, her şey 5 yıl önce, 2003'te Andy Rubin ve yoldaşları (Nick Sears, Chris White ve Rich Miner) bir mobil işletim sistemi oluşturmaya karar verdiklerinde ve Android Inc.'i kaydettirdiğinde dönmeye başladı. Geliştiriciler önce sürekli kullanıcılarla birlikte olabilen, GPS ile konumu belirleyen ve kişinin ihtiyaçlarına göre otomatik olarak ayarlanabilen cihazlara odaklandı.

Andy Rubin, Android'in yaratıcısı Kaynak: technobuffalo.com

O zamanın yatırımcıları için durum pek net değildi. Eh, şimdiye kadar hiç para getirmeyen anlaşılmaz bir girişime kim yatırım yapmak ister ... Ve öyle oldu ki 2005 yılına kadar Andy ve arkadaşları tüm fonları harcadılar, ancak şans eseri onlara Google'dan ve daha sonra baktılar. 17 Ağustos 2005, şirket küçük bir Android Inc.'in tam teşekküllü sahibi oldu. Google'ın o sırada gadget'lar için herhangi bir özel planı olmadığını, ancak daha çok kendi yazılımını ve arama algoritmalarını geliştirmeye odaklandığını belirtmekte fayda var. Söylemesi korkutucu ama o zamanlar Google'ın Adsense ve hatta YouTube'u yoktu (sadece 2007'de satın alındı).

2005 yılında Google logosu

Aynı yıl, Oracle ve Google davalarının zemininde, Android'in ücretsiz bir işletim sistemi olmasına ve elbette öncelikle Google hizmetlerinin uygulanmasına odaklanmasına karar verildi. Andy Rubin başlangıçta GPS projesinden sorumlu olduğundan ve şirkette Haritalar zaten olduğundan, haritaların telefonlara eklenmesi planlandı. Ve sonra henüz akıllı telefonlar yoktu, bu yüzden kartlar düğmeli normal bir istiridye kabuğunda görünebilirdi. İlk görüntüler ayrıca Google'ın Blackberry'leri ile RIM deneyimini hedeflediğini gösteriyor, bu nedenle bir tesadüf olmasaydı dokunmatik ekranlı telefonlar asla gelmeyebilirdi. Ancak ne yazık ki ya da neyse ki, 2007'de iPhone çıkıyor ve Google stratejiyi keskin bir şekilde revize ediyor. Ancak, Android 1.0'ın ilk yapısı 2008'de piyasaya sürülmek üzere hazırlanıyor. Ancak, 2007'nin başında Google'ın yeni işletim sisteminde bir telefon çıkaracak bir ortağı yoktu. Nokia, çıkar çatışması olmayacak kadar büyük bir şirket, Motorola henüz Razr satış patlamasının dışında değil. Google, LG ve HTC arasında seçim yapıyor. Koreli LG, ABD pazarıyla ilgileniyor, ancak bilinmeyen bir ortakla işbirliği yapmaktan korkuyor ve Google ile anlaşmaları yalnızca Windows Mobile ile akıllı telefonlar oluşturmak için Microsoft ile sözleşmeler yapmak için kullanıyor. Ancak HTC birlikte çalışmaya hazırdı ve ayrıca Tayvanlı şirket hızla çalışan örnekler oluşturabilirdi. Bilinen ilk prototip Google Sooner'dı. Ancak burada dokunmatik ekranı terk etmek zorunda kaldım, bu model Google Blackberry deneyimine güvendiğinde orijinal özelliklere göre oluşturuldu.

Muhtemelen ilk Android telefon prototipi - Google Sooner

Kaynaklar, ilk çalışan sürümün 05/15/2007 tarihine kadar uzandığını ve daha sonra M3 olarak adlandırıldığını bildiriyor. İşletim sistemi Blackberry arayüzüne çok benzer, ana konum Google arama çubuğu tarafından işgal edilir. Genel olarak, iPhone'un ortaya çıkışı ve dokunmatik ekranlara doğru giden yol olmasaydı, belki de şimdi Android'i böyle görecektik.

Muhtemelen işletim sisteminin ilk çalışan sürümü olan Android M3'ün ekran görüntüsü Kaynak: 9to5google.com

Android: resmi başlangıç

Google, Apple iPhone'un piyasaya sürülmesiyle birlikte dokunmatik ekranın varlığının sadece bir zorunluluk olduğunu ve bu nedenle erken geliştirmenin ertelenmesi gerektiğini açıkça anladı. Bu, operatörlerle iletişim sayesinde kolaylaştırıldı, 2007 yazında Android'in geleceği hakkındaki görüşleri karamsardı. Ağustos 2007'de, WSJ'de Google'ın telefonu ve platformuyla ilgili çabalarından bahseden bir makale yayınlandı. Bu materyal, şirketin iki prototipi olduğunu belirtiyor - biri ekranın altında QWERTY klavyeli bir Palm Treo'ya benziyor ve ikincisi Nokia sürümünü biraz andırıyor. Android ekibinin içinde zamanla bir rekabet var, çünkü önceki tüm planlar iyi değil ve onları terk etmeye karar verdiler. Ekip zamanlamayı değiştirir ve 2007'nin ikinci yarısında M3 üretilir. M5 versiyonunda, 2008'in başında görünüyor, UI ile yapılan deneyler çıplak gözle görülebilmesine rağmen, içinde bir durum çizgisi beliriyor. Bu sürümler arasındaki farkı anlamak için videoyu izleyin.

Ağustos 2008'e kadar Google, Eylül 2008'de OS sürüm 1.0'ı tanıtmak için sürüm 0.9'u geliştirmedi. 22 Ekim 2008'de ABD'deki T-Mobile, kullanımı için tamamen entegre bir dokunmatik ekrana ve işletim sistemine sahip ilk Android akıllı telefon olan HTC Dream'i (T-Mobile G1) satmaya başladı. Ancak Google, işletim sistemini yalnızca sürüm 1.6'da yeniden çalıştırabildi ve oluşturulduğunda orijinal olarak ortaya konan eski fikirlerden kurtuldu. Belki de bu andan itibaren Android'in kalkışı başlıyor. ABD'de HTC Dream'e ilgi çok büyüktü, operatör 23 Nisan 2009'a kadar 1 milyon cihaz sattı. Bu kadar sıradan ve basit bir cihaza olan bu kadar talep, fikirlerin kazandığını bir kez daha kanıtladı, bu açıdan tüketicilerin aklını alan dokunmatik telefon fikri oldu.

Doğal olarak, gerçek kullanıcılar üzerinde yapılan ilk testler, platformda birçok kusuru ortaya çıkardı ve daha Android'in varlığının ilk yılında Google şu güncellemeleri yayınladı: 1.1. Banana Bread, 1.5 Cupcake (YouTube ve Picasa'ya video ve fotoğraf yükleme, otomatik ekran yönü, tahmini giriş vb. tanıtıldı) ve 1.6 Donut (çok dilli telaffuz, WVGA desteği, optimize edilmiş hareketler vb. ile konuşmadan metne)

Android: ikinci deneme

Android 2.0

1. sürümün iyileştirilmesinden sonra, Android zaten genişletilmiş işlevsellik ve sürüm 2.0'a ve ardından aynı kod adı Eclair ile 2.1'e iyi bir görünüm aldı. Birden fazla Google hesabı kullanmak mümkün hale geldi ve standart web tarayıcısı HTML5 için destek aldı. Aynı zamanda, yeni Android akıllı telefon modelleri satışa çıktı: HTC Magic ve Hero, Motorola Droid ve Samsung Galaxy.

Ardından, 2010 yılında, 1 GHz saat frekansına sahip mobil işlemcilerin piyasaya sürülmesi başlar. Ve ilk markalı akıllı telefon Google Nexus One 1 GHz işlemci ile karşımıza çıkıyor. Elbette HTC, Google'ın bir ortağı olur. HTC Desire, Motorola Droid 2 ve Samsung Galaxy S benzer frekansta işlemciler aldı.Bu arada HTC, Nexus 9'un çıktığı 2014 yılına kadar artık Google cihazları üretmeyecek.Aynı 2010'da Google, Android'in başka bir sürümünü yayınladı, JIT derlemesi kullanan uygulamaların performansının arttığı yeni 2.2 Froyo ve Adobe Flash desteği ortaya çıktı. 1 GHz işlemciye sahip yukarıda belirtilen tüm akıllı telefonlar Froyo'ya yükseltme aldı. Ayrıca yapı, web tarayıcısı için Chrome V8 JS motoru, kişilerin aktarımı ve BlueTooth yerleştirme istasyonları için destek, bulut senkronizasyonu vb. gibi güncellemeler aldı.

Google Nexus One ve Android 2.2 Froyo

Bu arada, Rusya'da birçok kişi Android'i bu özel sürümde ilk kez gördü, bu yıl ülkemizde dokunmatik ekranlı akıllı telefonlara olan talep başladığından beri Android giderek moda oluyor. 2010 yılına kadar, sadece inekler "yeşil robotu" gördü ve o zaman bile kendi ellerinden ziyade İnternet veya dergilerde gördü.

Android Zencefilli Kurabiye ve Petek

Android piyasada üçüncü yılındaydı. Zaten popüler bir işletim sistemiydi, ancak yine de birçok sorun vardı. Ve şimdi, 2013 yılına kadar çok sayıda cihaza yüklenen 2.3 Gingerbread güncellemesi görünüyor. Gerçekten de, işletim sisteminin bu sürümünde, SIP telefonu, Yakın Alan İletişimi ve Google Talk desteği, daha yüksek çözünürlüklü ekranlarla çalışma, yeni bir indirme yöneticisi ve platformun gelişimi için beklentileri belirleyen birçok özellik uygulandı. daha fazla.

Google, Gingerbread ile birlikte ikinci markalı akıllı telefonu Nexus S'yi piyasaya sürdü. Bu sefer Samsung üretici oldu ve Nexus S aslında biraz değiştirilmiş bir Galaxy S idi. Ancak, Google Nexus S açıkça çok geç çıktı: LG şirketi ilk çift çekirdekli akıllı telefonu Optimus 2X'i duyurdu. Artık üreticiler gigahertz ile değil, çok çekirdekli olarak ölçülmektedir. Sonuç olarak, sadece LG Optimus 2X çift çekirdekli yongaları değil, aynı zamanda Samsung Galaxy S II, HTC Sensation ve Motorola Droid X2'yi de aldı.

Ve bu arada Samsung, Galaxy S akıllı telefondan sonra başka bir cihazı piyasaya sürüyor - Galaxy Tab tablet. Kompakt ve hafif yedi inçlik "tablet", hacimli Apple iPad'i sevmeyenler için iyi bir alternatif haline geldi. Ancak sorun şu ki, Android hala sadece akıllı telefonlar için. Sorun değil, diye düşündü Google ve 2011'in başlarında, Android'in özellikle tablet PC'ler için tasarlanmış ilk sürümü 3.0 Honeycomb ortaya çıktı. Honeycomb tabletlerde, uzatılmış Gingerbread akıllı telefon arayüzünden daha iyi görünüyordu. Böylece, Android işletim sistemi temelinde hem akıllı telefonlar hem de tabletler zaten çalışmaya başladı. İş büyümeye başladı ve hızla. Neredeyse tüm Android tabletler Honeycomb taşıyıcıları haline gelir - Motorola Xoom, Acer Iconia Tab, Samsung Galaxy Tab 10.1, Lenovo ThinkPad Tablet, vb.

Aynı 2011'de, Berlin'deki IFA 2011 teknoloji fuarında Samsung, şüphecilerin görüşüne rağmen çok popüler bir cihaz haline gelen ilk 5 inçlik phablet Glaxy Note'u tanıttı. O zaman, aslında, bu sınıfın ve hatta Android'deki ilk cihazıydı. Apple'ın bundan 3 yıl öncesini aldı, 2014'te şirket iPhone 6 Plus phablet'ini piyasaya sürdü.

Android 4: Dondurmalı Sandviçten KitKat'a

Google, akıllı telefonlar ve tabletler için iki ayrı sisteme sahip olmanın çok karlı olmadığını anlıyor. Geliştirme ve desteğe daha fazla zaman ayırın. Ve 2011 sonbaharında Google, akıllı telefonlar ve tabletler için platformlar arası ilk sürüm olan Android 4.0 Ice Cream Sandwich'i piyasaya sürdü. Montaj ayrıca, uygulamalara doğrudan kilit ekranından erişim sağlar ve AndroidMarket, Google Play olarak yeniden adlandırılır. Birçok uzmana göre, Android 4.0 sürümünden itibaren olağan şeklini ve normal işlevselliğini almaya başladı. Artık "yeşil robot" üzerindeki cihazlar da basitçe kullanılabilirdi, inekler için gadget olmaktan çıktılar.

Yeni işletim sisteminin ardından Google, açıkça Samsung ile işbirliği içinde geliştirilen yeni bir akıllı telefon olan Galaxy Nexus'u sundu. Ve yine, akıllı telefonun piyasaya sürülmesinden sonra bileşen üreticileri donanım için savaşmaya başlar. Qualcomm, güçlü Krait işlemcileri tanıtıyor ve Nvidia, 4 çekirdekli Tegra 3 yongalarını duyuruyor. 2012'de Android akıllı telefonların tartışmasız lideri, yeni Android 4.1 Jelly Bean OS tabanlı, bütçenin en çok satan ASUS Nexus 7'sine katılan Samsung Galaxy S III'tür. .

2012-2013'te, tablet ve akıllı telefon sürümlerinin birleştirilmesiyle küresel değişikliklerden sonra Android'e özel bir şey olmadı. Ancak, 2012'de Google, LG Nexus 4 akıllı telefon ve Samsung Nexus 10 tablet olmak üzere 2 markalı cihaz daha yaptı.Yeni ürünlere paralel olarak, önceki sürümü tamamlayan güncellenmiş bir Android 4.2 Jelly Bean yapısı tanıtıldı. Kullanıcılar artık GoogleNow, Cloud Messaging, Android Beam, üçlü ara belleğe alma, çok kanallı USB ses ve daha fazlasını kullanmanın avantajlarını tam olarak deneyimleyebilir. Ardından, Motorola'nın 2010 yılında Rusya pazarından ayrılması nedeniyle ülkemizde pek popüler olmayan Google Moto X akıllı telefon ve 2. nesil Google Nexus 7 tablet sunuldu.

2013 yılında LG ile yapılan işbirliği sonucunda Nexus 5 tekrar piyasaya çıktı. Ve bunun için ve diğer cihazlar için Android 4.4 KitKat'ın yeni bir sürümü geliyor. Evet, sürüm göstergesi ilk defa ticari bir ürün ismi oluyor ama bundan bahsetmeyeceğiz. Değişiklikler yalnızca bireysel sistem uygulamalarının ve öğelerinin arayüzünü etkilemedi. En üstteki bildirim çubuğunun vaat edilen şeffaflığı, daha ince yeni bir yazı tipi ve bireysel uygulamalardan tam ekran arayüz desteği ile birlikte KitKat'a geldi. KitKat'ın piyasaya sürülmesiyle Google Asistan hizmetine erişim daha kolay hale geldi. Artık araması birleştirildi - parmağınızı ekranda soldan sağa kaydırmanız yeterli. Önceden, Google Asistan'a erişim yolları akıllı telefon modeline göre değişiyordu (Ana Ekran düğmesine basmak, sallamak vb.). Ayrıca, başlangıç ​​ekranı açıldığında "OK Google" ibaresi ile hizmet etkinleştirilir. Geliştiriciler ve Hangouts programı görmezden gelmedi. Artık sadece sohbet mesajları değil, aynı zamanda SMS/MMS de göndermenize izin veriyor. Son olarak, KitKat'ta arka planda bile çalışan yerleşik adımsayarın yanı sıra Google Print bulut teknolojisi aracılığıyla yazıcılarla genişletilmiş uyumluluğu not ediyoruz. İkincisi, herhangi bir kablo olmadan, kağıt boyutunu değiştirerek ve gerekli sayfa sayısını belirterek belgeleri yazdırmak için göndermenize olanak tanır.

Fastboot veya ADB'nin nasıl çalıştığını hiç merak ettiniz mi? Veya bir Android akıllı telefonu tuğlaya dönüştürmek neden neredeyse imkansız? Veya uzun zamandır Xposed çerçevesinin büyüsünün nerede olduğunu ve /system/etc/init.d önyükleme komut dosyalarına neden ihtiyaç duyulduğunu bilmek istediniz? Kurtarma konsolu ne olacak? Bu Android'in bir parçası mı yoksa kendi başına bir şey mi ve normal kurtarma neden üçüncü taraf ürün yazılımı yüklemek için uygun değil? Tüm bu ve diğer birçok sorunun cevabını bu yazıda bulacaksınız.

Android Nasıl Çalışır?

Yazılım sistemlerinin çalışma prensibini anlayarak gizli özellikleri hakkında bilgi edinebilirsiniz. Bazı durumlarda, sistem kodu kapatılabileceğinden bunu yapmak zordur, ancak Android söz konusu olduğunda, tüm sistemin içini ve dışını inceleyebiliriz. Bu yazıda Android'in tüm nüanslarından bahsetmeyeceğim ve sadece işletim sisteminin nasıl başladığına ve güç düğmesine basma ile masaüstünün görünümü arasında hangi olayların gerçekleştiğine odaklanacağım.

Yol boyunca, bu olaylar zincirinde neleri değiştirebileceğimizi ve özel ürün yazılımı geliştiricilerinin, işletim sistemi parametrelerini ayarlamak, uygulama depolama alanını genişletmek, takası etkinleştirmek, çeşitli özelleştirmeler ve çok daha fazlası gibi şeyleri uygulamak için bu özellikleri nasıl kullandığını açıklayacağım. Tüm bu bilgiler, kendi ürün yazılımınızı oluşturmak ve çeşitli hack ve değişiklikleri uygulamak için kullanılabilir.

Adım bir. ABOOT ve bölüm tablosu

Her şey birincil önyükleyici ile başlar. Güç açıldıktan sonra sistem, cihazın kalıcı belleğinde saklanan önyükleyici kodunu çalıştırır. Ardından kontrolü, fastboot protokolü için yerleşik desteğe sahip önyükleyici önyükleyicisine aktarır, ancak mobil çip veya akıllı telefon / tablet üreticisi, tercih ettiği herhangi bir başka önyükleyiciyi seçme hakkına sahiptir. Örneğin, Rockchip, yeniden programlamak ve yönetmek için özel araçların kullanılmasını gerektiren, fastboot uyumlu olmayan kendi önyükleyicisini kullanır.

Fastboot protokolü, sırayla, bir PC'den önyükleyicinin kilidini açma, yeni bir çekirdeğin yanıp sönmesi ve kurtarma, ürün yazılımı yükleme ve diğerleri gibi eylemleri gerçekleştirmenize izin veren bir önyükleyici yönetim sistemidir. Fastboot'un amacı, diğer tüm araçların başarısız olduğu bir durumda akıllı telefonu orijinal durumuna geri getirebilmektir. Denemeler sonucunda, Android ve kurtarma içeren NAND belleğinin tüm bölümlerini akıllı telefonunuzdan silseniz bile, Fastboot yerinde kalacaktır.

Kontrolü aldıktan sonra, aboot, bölüm tablosunu kontrol eder ve kontrolü, boot adlı bölüme flaşlanmış çekirdeğe aktarır, ardından çekirdek, RAM görüntüsünü aynı bölümden belleğe çıkarır ve Android'i veya kurtarma konsolunu yüklemeye başlar. Android cihazlarda NAND belleği, koşullu olarak zorunlu altı bölüme ayrılmıştır:

  • önyükleme - genellikle yaklaşık 16 MB boyutunda olan çekirdek ve RAM diskini içerir;
  • kurtarma - kurtarma konsolu, bir çekirdek, bir dizi konsol uygulaması ve 16 MB boyutunda bir ayar dosyasından oluşur;
  • sistem - Android içerir, modern cihazlarda en az 1 GB boyutundadır;
  • önbellek - önbelleğe alınmış verileri depolamak için tasarlanmıştır, ayrıca bir OTA güncellemesi sırasında bellenimi kaydetmek için kullanılır ve bu nedenle sistem bölümünün boyutuna benzer bir boyuta sahiptir;
  • userdata - ayarları, uygulamaları ve kullanıcı verilerini içerir, kalan tüm NAND bellek alanı ona tahsis edilir;
  • misc - sistemin hangi modda önyükleneceğini belirleyen bir bayrak içerir: Android veya kurtarma.
Bunlara ek olarak, başka bölümler de olabilir, ancak genel işaretleme akıllı telefonun tasarım aşamasında belirlenir ve yeniden başlatma durumunda önyükleyici koduna dikilir. Bu şu anlama gelir: 1) bölüm tablosu öldürülemez, çünkü her zaman fastboot oem format komutu kullanılarak geri yüklenebilir; 2) bölüm tablosunu değiştirmek için, önyükleyicinin kilidini açmanız ve yeni parametrelerle yeniden başlatmanız gerekir. Ancak bu kuralın istisnaları vardır. Örneğin, aynı Rockchip'in önyükleyicisi, bölüm bilgilerini NAND belleğinin ilk bloğunda saklar, dolayısıyla değiştirmek için önyükleyicinin yanıp sönmesi gerekmez.

Bölüm tablosunu tanımlayan önyükleyici kodunun parçası


Özellikle ilginç olan çeşitli bölümdür. Başlangıçta ana sistemden bağımsız olarak çeşitli ayarları depolamak için yaratıldığına dair bir varsayım vardır, ancak şu anda yalnızca bir amaç için kullanılmaktadır: önyükleyiciye sistemi hangi bölümden başlatacağını söylemek - önyükleme veya kurtarma. Bu özellik, özellikle, otomatik üretici yazılımı kurulumu ile sistemi kurtarmaya otomatik olarak yeniden başlatmak için ROM Yöneticisi uygulamasını kullanır. Buna dayanarak, Ubuntu önyükleyicisini kurtarmaya gönderen ve bir dahaki sefere hangi sistemin önyükleneceğini kontrol etmenizi sağlayan Ubuntu Touch çift önyükleme mekanizması oluşturulmuştur. Çeşitli bölümü silin - Android yüklendi, verilerle dolu - kurtarma yüklendi ... yani Ubuntu Touch.

İkinci adım. önyükleme bölümü

Misc bölümünde kurtarma önyükleme bayrağı yoksa, aboot, denetimi önyükleme bölümünde bulunan koda aktarır. Linux çekirdeğinden başka bir şey değildir; bölümün başında bulunur ve hemen ardından Android'in çalışması için gerekli dizinleri, başlatma sistemini ve diğer araçları içeren cpio ve gzip arşivleyicileri kullanılarak paketlenmiş bir RAM disk görüntüsüdür. Önyükleme bölümünde dosya sistemi yoktur, çekirdek ve RAM diski birbirini takip eder. RAM diskinin içeriği:

  • data - aynı adı taşıyan bölümün montajı için dizin;
  • dev - cihaz dosyaları;
  • proc - procfs buraya monte edilir;
  • res - şarj cihazı için bir dizi resim (aşağıya bakın);
  • sbin - bir dizi yardımcı yardımcı program ve arka plan programı (örneğin adbd);
  • sys - sysfs buraya monte edilmiştir;
  • sistem - sistem bölümünün montajı için dizin;
  • şarj cihazı - şarj işlemini görüntülemek için bir uygulama;
  • build.prop - sistem ayarları;
  • init - başlatma sistemi;
  • init.rc - başlatma sisteminin ayarları;
  • ueventd.rc - init'te bulunan uventd arka plan programı için ayarlar.
Bu, tabiri caizse, sistemin iskeletidir: NAND bellek bölümlerinden dosya sistemlerini bağlamak için bir dizi dizin ve sistemin yeniden başlatılmasıyla ilgili işin geri kalanını halledecek bir başlatma sistemi. Buradaki ana unsur, daha sonra daha ayrıntılı olarak ele alacağım init uygulaması ve init.rc yapılandırmasıdır. Bu arada sbin, proc ve sys dizinlerinin yanı sıra şarj cihazı ve uventd.rc dosyalarına da dikkat etmek istiyorum.

Şarj dosyası, tek işi pil simgesini görüntülemek olan küçük bir uygulamadır. Android ile ilgisi yoktur ve cihaz kapalı durumdayken şarj cihazına bağlıyken kullanılır. Bu durumda, Android önyükleme yapmaz ve sistem yalnızca çekirdeği başlatır, RAM diskini bağlar ve şarj cihazını başlatır. İkincisi, resmi tüm olası durumlarda res dizini içindeki normal PNG dosyalarında saklanan pil simgesini görüntüler.

ueventd.rc dosyası, sistem önyükleme aşamasında sys dizinindeki hangi aygıt dosyalarının oluşturulması gerektiğini tanımlayan bir yapılandırmadır. Linux çekirdeği tabanlı sistemlerde, donanıma dev dizini içindeki özel dosyalar aracılığıyla erişilir ve init'in bir parçası olan uventd arka plan programı bunların Android'de oluşturulmasından sorumludur. Normalde, çekirdekten dosya oluşturmak için komutları kabul ederek otomatik modda çalışır, ancak bazı dosyaların sizin tarafınızdan oluşturulması gerekir. ueventd.rc'de listelenirler.

Stok Android'deki sbin dizini genellikle, sistemin PC'den hatalarını ayıklamaktan sorumlu olan ADB arka plan programı olan adbd'den başka bir şey içermez. İşletim sistemi önyüklemesinin erken bir aşamasında başlar ve işletim sistemi başlatma aşamasında olası sorunları belirlemenize olanak tanır. Özel bellenimde, bu dizinde, bölümlerin ext3/4'e yeniden biçimlendirilmesi gerektiğinde gerekli olabilecek mke2fs gibi bir sürü başka dosya bulabilirsiniz. Ayrıca, modcular genellikle yüzlerce Linux komutunu çağırabileceğiniz bir BusyBox koyarlar.

Linux için proc dizini standarttır, sonraki önyükleme adımlarında init, sistemdeki tüm işlemler hakkında bilgilere erişim sağlayan sanal bir dosya sistemi olan procfs'i ona bağlayacaktır. Sistem, sysfs'yi, donanım ve ayarları hakkındaki bilgilere erişimi açan sys dizinine bağlayacaktır. sysfs ile, örneğin cihazı uyku moduna alabilir veya kullanılan güç tasarrufu algoritmasını değiştirebilirsiniz.

build.prop dosyası, düşük seviyeli Android ayarlarını depolamak için tasarlanmıştır. Daha sonra sistem bu ayarları sıfırlayacak ve henüz mevcut olmayan system/build.prop dosyasındaki değerleri üzerlerine yazacaktır.


OUYA TV Box Kök Bölme


İkinci adım, alternatif. kurtarma bölümü

Çeşitli bölümünde kurtarma önyükleme bayrağının ayarlanması veya kullanıcının ses kısma tuşunu basılı tutarken akıllı telefonunu açması durumunda, aboot, kontrolü kurtarma bölümünün başında bulunan koda aktarır. Önyükleme bölümü gibi, çekirdeği ve sıkıştırılmış belleğe açılan ve dosya sisteminin kökü haline gelen bir RAM diski içerir. Ancak, RAM diskin içeriği burada biraz farklıdır.

İşletim sistemini başlatmanın farklı aşamaları arasında bir geçiş bağlantısı görevi gören önyükleme bölümünün aksine, kurtarma bölümü tamamen kendi kendine yeterlidir ve Android ile hiçbir ilgisi olmayan minyatür bir işletim sistemi içerir. Recovery'nin kendi çekirdeği, kendi uygulama grupları (komutlar) ve kullanıcının yardımcı program işlevlerini etkinleştirmesine olanak tanıyan kendi arabirimi vardır.

Standart (stok) kurtarma işleminde, genellikle bu tür yalnızca üç işlev vardır: akıllı telefon üreticisinin anahtarıyla imzalanmış ürün yazılımı yükleme, silme ve yeniden başlatma. ClockworkMod ve TWRP gibi değiştirilmiş üçüncü taraf kurtarmada çok daha fazla işlev vardır. Dosya sistemlerini biçimlendirebilir, herhangi bir anahtarla imzalanmış bellenimi kurabilir (okuma: özel), dosya sistemlerini diğer bölümlere bağlayabilir (işletim sistemi hata ayıklaması için) ve bellenim sürecini ve diğer birçok işlevi otomatikleştirmenize izin veren komut dosyası desteğini içerebilirler.

Örneğin, komut dosyalarının yardımıyla, kurtarmayı yükledikten sonra gerekli bellenimi bellek kartında otomatik olarak bulmasını, yüklemesini ve Android'de yeniden başlatılmasını sağlayabilirsiniz. Bu özellik, ROM Yöneticisi, otomatik flaşör araçları ve ayrıca CyanogenMod ve diğer donanım yazılımı için otomatik güncelleme mekanizması tarafından kullanılır.

Özel kurtarma, /system/addon.d/ dizininde bulunan yedekleme komut dosyalarını da destekler. Kurtarma işlemi, yanıp sönmeden önce komut dosyalarını kontrol eder ve yanıp sönmeden önce bunları çalıştırır. Bu tür komut dosyaları sayesinde, yeni bir bellenim sürümü yüklendikten sonra boşluklar kaybolmaz.

Adım üç. başlatma

Böylece, kontrolü alan çekirdek, RAM diskini bağlar ve tüm alt sistemlerinin ve sürücülerinin başlatılmasından sonra, Android başlatmanın başladığı başlatma işlemini başlatır. Dediğim gibi, init'in bir yapılandırma dosyası olan init.rc, sürecin sistemi yükseltmek için tam olarak ne yapması gerektiğini öğrenir. Modern akıllı telefonlarda, bu yapılandırma birkaç yüz satırlık etkileyici bir uzunluğa sahiptir ve ayrıca içe aktarma yönergesini kullanarak ana yapılandırmaya bağlanan birkaç alt yapılandırmanın bir fragmanıyla donatılmıştır. Bununla birlikte, formatı oldukça basittir ve esasen bloklara bölünmüş bir dizi komuttur.

Her blok, bir yükleme aşamasını veya Android geliştiricilerinin dilinde bir eylemi tanımlar. Bloklar, bir on yönergesi ve ardından erken başlatma veya sonrası fs gibi bir eylem adı ile birbirinden ayrılır. Komut bloğu, yalnızca aynı ada sahip tetikleyici etkinleşirse yürütülür. Önyüklenirken init, sırasıyla erken başlatma, init, erken fs, fs, post-fs, erken önyükleme ve önyükleme tetikleyicilerini tetikler, böylece uygun komut bloklarını çalıştırır.


CyanogenMod'dan init.rc yapılandırmasının bir parçası


Yapılandırma dosyası başlangıçta listelenen birkaç yapılandırmayı daha çekerse (ve bu neredeyse her zaman böyledir), o zaman içlerindeki aynı ada sahip komut blokları ana yapılandırmayla birleştirilir, böylece tetik tetiklendiğinde init yürütülür. tüm dosyaların karşılık gelen bloklarından komutlar. Bu, ana yapılandırma tüm aygıtlar için ortak komutları içerdiğinde ve her aygıt için belirli komutlar ayrı dosyalara yazıldığında, birkaç aygıt için yapılandırma dosyaları oluşturma kolaylığı için yapılır.

Ek yapılandırmaların en dikkate değer olanı, aygıt adının ro.hardware sistem değişkeninin içeriğine göre otomatik olarak belirlendiği initrc.devicename.rc'dir. Bu, cihaza özel komut bloklarını içeren platforma özel bir yapılandırma dosyasıdır. Çekirdeğin ayarlanmasından sorumlu komutlara ek olarak, bunun gibi bir şey de içerir:

kod:

Mount_all ./fstab.device_name

Bu, init'in şimdi aşağıdaki yapıya sahip ./fstab.devicename dosyasında listelenen tüm dosya sistemlerini bağlaması gerektiği anlamına gelir:

kod:

device_name (bölüm) mount_point file_system fs_options diğer seçenekler

Genellikle dosya sistemlerini dahili NAND bölümlerinden /system (OS), /data (uygulama ayarları) ve /cache (önbelleğe alınmış veriler) dizinlerine bağlamak için talimatlar içerir. Ancak, bu dosyayı biraz değiştirerek, init'i sistemi bellek çubuğundan başlatmaya zorlayabiliriz. Bunu yapmak için hafıza kartını üç 4 bölüme ayırmanız yeterlidir: 1 GB / ext4, 2 GB / ext4, 1 GB / ext4 ve kalan fat32 alanı. Ardından, /dev dizinindeki bellek kartı bölümlerinin adlarını belirlemeniz (farklı aygıtlar için farklılık gösterirler) ve fstab dosyasındaki orijinal aygıt adlarını bunlarla değiştirmeniz gerekir.


Bir fstab dosyasının tipik içeriği


Önyükleme bloğunun sonunda, init büyük olasılıkla, varsayılan sınıfla ilgili yapılandırmada listelenen tüm hizmetleri başlatmanızı söyleyen class_start varsayılan komutuyla karşılaşacaktır. Hizmetlerin açıklamaları bir hizmet yönergesi ile başlar, ardından hizmetin adı ve onu başlatmak için yürütülmesi gereken komut gelir. Bloklarda listelenen komutların aksine, servisler her zaman çalışmalıdır, bu nedenle akıllı telefonun ömrü boyunca init arka planda asılı kalacak ve bunu izleyecektir.

Modern Android düzinelerce hizmet içerir, ancak bunlardan ikisi özel bir statüye sahiptir ve sistemin tüm yaşam döngüsünü belirler.

Adım dört. Zigot ve app_process

Yüklemenin belirli bir aşamasında init, yapılandırmanın sonunda şöyle bir blokla karşılaşacaktır:

kod:

Hizmet zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server sınıfı varsayılan soket zygote akışı 660 kök sistem yeniden başlatma yazma /sys/android_power/request_state Yeniden başlatma yazma /sys/power/state on onrestart medyayı yeniden başlat onrestart netd'yi yeniden başlat

Bu, başlatma, sistem hizmetlerini başlatma, kullanıcı uygulamalarını başlatma ve durdurma ve diğer birçok görevden sorumlu olan herhangi bir Android sisteminin önemli bir bileşeni olan Zygote hizmetinin bir açıklamasıdır. Zygote, yukarıdaki yapılandırma parçasında çok açık bir şekilde görülebilen küçük bir uygulama /system/bin/app_process kullanılarak başlatılır. app_proccess'in görevi, kodu /system/lib/libandroid_runtime.so paylaşımlı kitaplığında bulunan Dalvik sanal makinesini başlatmak ve ardından bunun üzerinde Zygote'u çalıştırmaktır.

Tüm bunlar yapıldığında ve Zygote kontrolde olduğunda, çerçevenin tüm Java sınıflarını (şu anda 2000'in üzerinde) yükleyerek Java çalışma zamanı ortamını oluşturmaya başlar. Ardından, Pencere Yöneticisi, Durum Çubuğu, Paket Yöneticisi ve en önemlisi gelecekte sorumlu olacak Etkinlik Yöneticisi dahil olmak üzere yüksek seviyeli (Java ile yazılmış) sistem hizmetlerinin çoğunu içeren system_server'ı başlatır. başlangıç ​​ve bitiş sinyalleri uygulamaları alma.

Bundan sonra, Zygote /dev/socket/zygote soketini açar ve uyku moduna geçerek veri bekler. Şu anda, daha önce başlatılan Activity Manager, masaüstünü oluşturmaktan sorumlu uygulamayı bulmak için Intent.CATEGORY_HOME niyetini yayınlar ve adını soket üzerinden Zygote'a verir. İkincisi, uygulamayı sanal makinenin üzerinde çatallar ve çalıştırır. Voila, Activity Manager tarafından ekranda bulunan ve Zygote tarafından başlatılan bir masaüstümüz ve Status Bar hizmetinin bir parçası olarak system_server tarafından başlatılan bir durum çubuğumuz var. Simgeye dokunduktan sonra, masaüstü bu uygulamanın adıyla bir niyet gönderecek, Etkinlik Yöneticisi tarafından kabul edilecek ve uygulamayı Zygote arka plan programına başlatmak için komutu iletecektir.

Bütün bunlar biraz kafa karıştırıcı görünebilir, ancak en önemli şey üç basit şeyi hatırlamaktır:

  • Android başlatma süreci iki ana aşamaya ayrılmıştır: Zygote öncesi ve sonrası. Zygote'u başlatmadan önce sistem, düşük seviyeli işletim sistemi bileşenlerini başlatır. Bunlar, dosya sistemlerini monte etme (montaj), alt seviye servisleri başlatma (örneğin, bir GSM modem ile çalışmaktan sorumlu olan rild, ekranda gösterilenleri kontrol eden SurfaceFlinger, bağlı dosyayı kontrol eden vold gibi işlemlerdir. sistemler). Zygote'u başlattıktan sonra, başlatma yalnızca işletim sisteminin %80'ini oluşturan Java bileşenleriyle başlar. Bu, özellikle, kurulduğunda, app_process'i herhangi bir Java sınıfına yapılan çağrıları kesebilen ve diğerleriyle değiştiren kendi değiştirilmiş sürümüyle değiştiren iyi bilinen Xposed çerçevesi tarafından kullanılır. Bu nedenle Xposed modülleri, Android'in görünümünü ve davranışını değiştirmek için çok çeşitli seçeneklere sahiptir. Aslında, sistemdeki hiçbir şeyi değiştirmezler, sadece onu kendi bileşenleri yerine üçüncü taraf bileşenleri kullanmaya zorlarlar.
  • Java uygulamaları hiçbir zaman sıfırdan başlatılmaz. Zygote, Activity Manager'dan bir uygulama başlatma talebi aldığında, yeni bir sanal makine başlatmaz, sadece çatallanır, yani kendini kopyalar ve ardından istenen uygulamayı sanal makinenin alınan kopyasının üzerine başlatır. Bu çalışma prensibi, ilk olarak, bellek tüketimini en aza indirmeye izin verir, çünkü Linux, çatallarken, yazma üzerine kopyalama modunda belleği kopyalar (yeni işlem eskisinin belleğine atıfta bulunur) ve ikincisi, önemli ölçüde hızlandırır. uygulama başlatma: işlem çatalı, yeni bir sanal makine başlatmaktan ve uygulamanın ihtiyaç duyduğu Java sınıflarını yüklemekten çok daha hızlıdır.
  • Niyetler Android'de her yerde bulunur. Android bileşenleri, birbirleriyle iletişim kurmak için asla prosedürlere ve sınıflara yapılan doğrudan çağrıları kullanmaz. Bunun yerine, yüksek güvenlik seviyesine ek olarak, örneğin bir uygulamayı hakkında hiçbir şey bilmeden arama yeteneği gibi birçok başka özellik sağlayan bir mesaj sistemi (niyetler) kullanılır. Masaüstünü başlatmak için yukarıda yazdım, sistemin başlatıcı işlevini gerçekleştirebilen herhangi bir uygulamanın yanıt vereceği Intent.CATEGORY_HOME göndermesi yeterlidir. “Paylaş” düğmesi, sistemin diğer birçok bileşeninin yanı sıra aynı şekilde çalışır.