2012-11-14 13 views

cevap

6

Son birkaç yılda android kaynak kodu etrafında oldukça fazla zaman harcadım, bu yüzden köprünün farklı klasörlerini açıklamak için bir çekim yapmama izin verin. Bu aşağı yukarı (robot sürümüne biraz bağlı olarak):

  • biyonik

    • kullanılır ve özellikle Android için geliştirilmiş standart c kütüphanesi.

      • önyüklenebilir
    • (cihaz imalatı, normal olarak içerir) bootloader'ı ve telefon kurtarma moduna açılırken yürütmek olan geri kazanım uygulama içerir.

  • inşa

    • Android kendisi sıradan makyaj dosyaların üzerine inşa edilmiştir çok benzersiz modüler yapı sistemi vardır. Örneğin, build/target/products'da, lunch'u başlattığınızda gördüğünüz tüm genel oluşturma hedeflerini bulacaksınız.
  • cts

    • Compatibility Test Suite. Bir cihaz üretirken cihazlarını onaylamak (ve böylece Google Play ve diğer özel uygulamaları) almak istediğinde CTS'yi geçmek zorundadırlar. CTS'nin kaynağı bu dizinde bulunur.
  • Dalvik

    • The dalvik virtual machine. Android, tüm uygulamaların yanı sıra çerçevenin daha iyi bir parçası için java'yı kullanır. Her uygulama kendi işleyişinde kendi işlemcisi olarak çalıştığı için, sanal makinede, sanal makinenin oldukça küçük bir bellek alanı olmalıdır. Bu nedenle, Android, dalvik adı verilen Java için özel bir sanal makine kullanmayı seçmiştir. Dalvik'in kaynağı buraya yerleştirildi.
  • gelişme

    • Gerçekten bu depoyu kullanmadım ama buraya yerleştirilir android uygulamalar geliştirmek için malzeme destekleyen görünüyor.
  • cihaz

    • Her cihaz satıcısı buraya kendi özel aygıtları tanımlar tüm malzeme koymak. Örneğin, cihazınız için tam olarak hangi uygulamaların oluşturulması gerektiğini tanımlayan bir devices/{yourname}/products/{yourdevice}.mk sağlayabilirsiniz (bunun yanı sıra birkaç başka şey de olabilir). Bu, oluşturabileceğiniz {yourdevice} adlı öğle yemeği menüsüne bir giriş ekler.
  • dokümanlar Bildiğim kadarıyla bu aslında http://source.android.com kaynağıdır anladığım kadarıyla

    • .
  • harici

    • hemen her üçüncü parti projelerinin söz konusu Android içinde çekme ve hangi Android Linux OS burada bulunmaktadır tabanını oluşturur. Yeni sürümleri yukarı akıştan çekmeyi kolaylaştıran kendi git depolarında tutulurlar. bzip2, dbus, ping, tcpdump ve diğer birçok projeyi burada görebilirsiniz.
  • çerçeveler

    • Bu Android çerçevenin kaynağıdır. Android için bir uygulama oluştururken kullandığınız tüm şeyler. Ben% 50 Java kodu ve jni kullanarak bağlı olan% 50 C++ (ve bazen C), bir yerde olduğunu düşünüyorum. Örneğin bir uygulamada bazı sesleri çaldığınızda, muhtemelen AudioManager'a erişirsiniz. AudioManager'un yanı sıra AudioManager'u destekleyen dahili Android kaynağının kaynağı frameworks/base/media'un altına yerleştirilmiştir. Android SDK'nın bir kısmını frameworks/base/'un altında bir yerde uygulandığını göreceksiniz.
  • donanım sonra donanım (vb vibratör, ışıklar, yakınlık sensörü, gps, ses gibi) kontrol eden kütüphaneler kümesine

    • Android görüşmelere. Bu kütüphaneler topluca HAL (Donanım Soyutlama Katmanı) olarak adlandırılır. Bazı varsayılan uygulamalar, hardware klasöründe bulunur, ancak kendi kitaplıklarını uygular ve bunları hardware/{manufcaturename} (veya device/{manufacture}) içine yerleştirir.
  • libcore

    • Bununla ilgili bilmiyorum.
  • ndk

    • uygulama geliştiricileri yerli kod olarak bazı uygulamalar (ya da tüm), (c ve C++ genellikle) kod sağlar native development kit. Temel olarak Android'in çalıştığı farklı cpu mimarilerine çapraz bağlantı kurmak için kullanılan bir araç zinciri.
    • üzerinden tüm Android inşa eserler buraya yerleştirilir. Yani out klasörünü kaldırmak, kaynakları tamamen temizleyecektir. out, farklı klasörlere ayrılmıştır; ana olanlar, ana makine (ör. Adb) ve hedef aygıt için (android sisteminin çoğu) ayrılan öğelerin ayrıldığı host ve target'dir. Aşağıda daha fazla alt bölümler vardır ve genel olarak out klasörü oldukça güzel bir şekilde sıralanmıştır, bu yüzden biraz kendiniz keşfetmelisiniz.
  • paketleri

    • Bunlar içeren tüm varsayılan uygulamalar, sağlayıcıları, inputmethods ve benzeri, Android ile birlikte inşa edilirler. Telefon uygulaması, rehber, takvim, hesap makinesi, varsayılan yumuşak klavye vb. Buraya yerleştirilir. Onlar üçüncü taraf uygulamaları değildir, onlar çoğu kamu olmayan android apis karşı inşa edilmiş iç uygulamalar vardır. Bu yüzden, buradaki uygulamaların çoğu, genel Android SDK'sine (örneğin, tutulma) karşı yapılamaz, ancak tam Android oluşturma sürecinin bir parçası olarak oluşturulmalıdır. ikili olarak Android ile birlikte dağıtılır
  • önceden oluşturulmuş

    • şeyler. Burada bulunan birincil şey ARM için Android (ve şimdi de x86) oluşturmak için crosscompiler (ler) dir. Bunlar, çapraz bileşenleri kendiniz yapmak zorunda kalmayacak şekilde önceden oluşturulmuştur. (Bu olabilir çok zaman alıcı Android de vardı yanında crosscompilers derlemek eğer.)
  • sdk böyle DDMS olarak Android SDK parçası olan

    • tüm araçlar, , emülatör, sdkmanager vb
  • sistemi

    • Bir android cihaz üzerinde çalışan çekirdek sistem süreçleri. Bunlar yerel (c veya C++) programlarıdır. Mediaservice böyle bir sistem servisinin bir örneğidir.

Bu Android kaynağı ile çalışan ile benim deneyimlerinden tüm ise hiç (diğer) başvurular yok.Umarım bu, klasör yapısına genel bir bakış sağlar.

+1

Çok yardımcı. Teşekkür ederim! – jgro

+1

tam olarak ne gerekiyor ... teşekkürler – Pawan

İlgili konular