Projelere genel bakış

Android Studio'daki bir proje, kaynak koddan öğelere, test kodundan derleme yapılandırmalarına kadar bir uygulama için çalışma alanınızı tanımlayan her şeyi içerir.

Yeni bir proje başlattığınızda Android Studio, tüm dosyalarınız için gerekli yapıyı oluşturur ve bunları Android Studio'daki Proje penceresinde görünür hale getirir. Pencereyi açmak için Görünüm > Araç Pencereleri > Proje'yi seçin.

Bu sayfada, projenizdeki temel bileşenlere genel bir bakış sunulur.

Modüller

Modül, projenizi ayrı işlev birimlerine ayırmanıza olanak tanıyan bir kaynak dosyası ve derleme ayarları koleksiyonudur. Projenizde bir veya daha fazla modül bulunabilir ve bir modülde bağımlılık olarak başka bir modül kullanılabilir. Her modülü bağımsız olarak derleyebilir, test edebilir ve hata ayıklayabilirsiniz.

Ek modüller, kendi projenizde kod kitaplıkları oluştururken veya telefon ve giyilebilir cihazlar gibi farklı cihaz türleri için farklı kod ve kaynak grupları oluşturmak, ancak tüm dosyaları aynı proje kapsamında tutmak ve bazı kodlar paylaşmak istediğinizde kullanışlıdır.

Projenize yeni bir modül eklemek için File > New > New Module'u (Dosya > Yeni > Yeni Modül) tıklayın.

Android Studio birkaç farklı modül türü sunar:

Android uygulama modülü
Uygulamanızın kaynak kodu, kaynak dosyaları ve uygulama düzeyindeki ayarlar (ör. modül düzeyinde derleme dosyası ve Android Manifest dosyası) için bir kapsayıcı sağlar. Yeni bir proje oluşturduğunuzda varsayılan uygulama modülü "app" olarak adlandırılır.

Android Studio aşağıdaki uygulama modülü türlerini sunar:

  • Telefon ve Tablet
  • Automotive
  • Wear OS
  • Televizyon
  • Referans Profil Oluşturucu
  • Karşılaştırma

Her modül, ilgili uygulama veya cihaz türüne uygun temel dosyaları ve bazı kod şablonlarını sağlar.

Modül ekleme hakkında daha fazla bilgi için Yeni cihaz için modül ekleme başlıklı makaleyi inceleyin.

Özellik modülü
Uygulamanızın Play Feature Delivery'den yararlanabilen modülerleştirilmiş bir özelliğini temsil eder. Örneğin, özellik modülleriyle kullanıcılarınıza uygulamanızın belirli özelliklerini isteğe bağlı olarak veya Google Play Instant aracılığıyla hazır deneyim olarak sunabilirsiniz.

Android Studio aşağıdaki özellik modülü türlerini sunar:

  • Dinamik Özellik Modülü
  • Anında Dinamik Özellik Kitaplığı Modülü

Daha fazla bilgi edinmek için Play Feature Delivery hakkındaki makaleyi inceleyin.

Kitaplık modülü
Yeniden kullanılabilir kodunuz için bir kapsayıcı sağlar. Bu kapsayıcıyı diğer uygulama modüllerinde bağımlılık olarak kullanabilir veya diğer projelere aktarabilirsiniz. Kitaplık modülü yapısal olarak uygulama modülüyle aynıdır ancak derlendiğinde APK yerine kod arşivi dosyası oluşturur. Bu nedenle, cihaza yüklenemez.

Yeni Modül Oluştur penceresinde, Android Studio aşağıdaki kitaplık modülü türlerini sunar:

  • Android Kitaplığı: Java ve Kotlin kaynak kodu, kaynaklar ve manifest dosyaları dahil olmak üzere yerel C++ kodu dışında bir Android projesinde desteklenen tüm dosya türlerini içerir. Derleme sonucu, Android uygulama modüllerinize bağımlılık olarak ekleyebileceğiniz bir Android Arşivi (AAR) dosyasıdır.
  • Android Yerel Kitaplığı: Android kitaplığına benzer şekilde, Android projesinde desteklenen tüm dosya türlerini içerir. Ancak Android yerel kitaplıkları, yerel C++ kaynak kodu da içerebilir. Derleme sonucu, Android uygulama modüllerinize bağımlılık olarak ekleyebileceğiniz bir Android Arşivi (AAR) dosyasıdır.
  • Java veya Kotlin Kitaplığı: Yalnızca Kotlin veya Java kaynak dosyalarını içerir. Derleme sonucu, Android uygulama modülleriniz veya diğer Kotlin ya da Java projeleriniz için bağımlılık olarak ekleyebileceğiniz bir Java Arşivi (JAR) dosyasıdır.

Gradle, modülleri proje olarak da adlandırdığı için modüllere bazen alt projeler denir.

Bir kitaplık modülü oluşturup bunu Android uygulama modülünüze bağımlılık olarak eklemek istediğinizde bunu aşağıdaki gibi belirtmeniz gerekir:

Eski

dependencies {
    implementation project(':my-library-module')
}

Kotlin

dependencies {
    implementation(project(":my-library-module"))
}

Proje dosyaları

Android Studio, proje dosyalarınızı varsayılan olarak Android görünümünde gösterir. Bu görünüm, diskteki gerçek dosya hiyerarşisini yansıtmaz. Bunun yerine, projenizin önemli kaynak dosyaları arasında gezinmeyi kolaylaştırmak için modüllere ve dosya türlerine göre düzenlenir ve yaygın olarak kullanılmayan belirli dosyaları veya dizinleri gizler.

Android görünümü ile diskteki yapı arasındaki yapısal farklılıklardan bazıları şunlardır: Android görünümü:

  • Projenin derlemeyle ilgili tüm yapılandırma dosyalarını üst düzey bir Gradle Komut Dosyası grubunda gösterir.
  • Farklı ürün aromaları ve derleme türleri için farklı manifest dosyalarınız varsa modül düzeyinde bir gruptaki her modülün tüm manifest dosyalarını gösterir.
  • Tüm alternatif kaynak dosyalarını, kaynak tanımlayıcısı başına ayrı klasörlerde değil, tek bir grupta gösterir. Örneğin, başlatıcı simgesinin tüm yoğunluk sürümleri yan yana görünür.

Her Android uygulama modülünde dosyalar aşağıdaki gruplarda gösterilir:

manifestler
AndroidManifest.xml dosyasını içerir.
java
JUnit test kodu dahil olmak üzere Kotlin ve Java kaynak kodu dosyalarını paket adlarına göre ayrılmış şekilde içerir.
res
Kullanıcı arayüzü dizeleri ve bitmap resimler gibi kod dışı tüm kaynakları, ilgili alt dizinlere ayrılmış olarak içerir. Olası kaynak türleri hakkında daha fazla bilgi için Uygulama kaynaklarına genel bakış başlıklı makaleyi inceleyin.

Proje görünümü

Android görünümünde gizlenen tüm dosyalar da dahil olmak üzere projenin gerçek dosya yapısını görmek için Proje penceresinin üst kısmındaki menüden Proje'yi seçin.

Proje görünümünü seçtiğinizde aşağıdakiler de dahil çok daha fazla dosya ve dizin görebilirsiniz:

module-name/
build/
Derleme çıkışları içerir.
libs/
Özel kitaplıklar içeriyor.
src/
Aşağıdaki alt dizinlerde bulunan modülle ilgili tüm kod ve kaynak dosyalarını içerir:
androidTest/
Android cihazda çalıştırılan araç testlerine ait kodu içerir. Daha fazla bilgi için Android Studio'da test etme başlıklı makaleyi inceleyin.
cpp/
Java Native Interface (JNI) kullanan yerel C veya C++ kodu içerir. Daha fazla bilgi için Android NDK dokümanlarına bakın.
main/
"Ana" kaynak grubu dosyalarını içerir: Tüm derleme varyantları tarafından paylaşılan Android kodu ve kaynakları (diğer derleme varyantlarının dosyaları, hata ayıklama derleme türü için src/debug/ gibi kardeş dizinlerde bulunur):
AndroidManifest.xml
Uygulamanın ve bileşenlerinin her birinin doğasını açıklar. Daha fazla bilgi için uygulama manifest dosyasına genel bakış bölümünü inceleyin.
java/
Uygulamanızda hem Kotlin hem de Java kaynak kodu varsa Kotlin veya Java kod kaynaklarını ya da ikisini birden içerir.
kotlin/
Yalnızca Kotlin kod kaynaklarını içerir.
res/
Çekilebilir dosyalar ve kullanıcı arayüzü dize dosyaları gibi uygulama kaynakları içerir. Daha fazla bilgi için uygulama kaynaklarına genel bakış bölümüne bakın.
assets/
APK dosyasına olduğu gibi derlenecek dosyaları içerir. Örneğin, bu dizin, dokular ve oyun verileri için iyi bir yerdir. Bu dizinde, URI'leri kullanarak tipik bir dosya sistemiyle aynı şekilde gezinebilir ve AssetManager kullanarak dosyaları bayt akışı olarak okuyabilirsiniz.
test/
Barındırıcı JVM'nizde çalıştırılan yerel testlerin kodunu içerir.
build.gradle veya build.gradle.kts (modül)
Bu, modüle özgü derleme yapılandırmalarını tanımlar. Derleme komut dosyası diliniz Groovy ise doğru dosya adı build.gradle, Kotlin komut dosyası kullanıyorsanız ise build.gradle.kts olmalıdır.
build.gradle veya build.gradle.kts (proje)
Bu, tüm modüller için geçerli olan derleme yapılandırmanızı tanımlar. Derleme komut dosyası diliniz Groovy ise doğru dosya adı build.gradle, Kotlin komut dosyası kullanıyorsanız ise build.gradle.kts olmalıdır. Bu dosya projenin ayrılmaz bir parçasıdır. Bu nedenle, diğer tüm kaynak kodlarıyla birlikte düzeltme kontrolünde tutun.

Diğer derleme dosyaları hakkında bilgi edinmek için Derlemenizi yapılandırma bölümünü inceleyin.

Proje yapısı ayarları

Android Studio projenizin çeşitli ayarlarını değiştirmek için Dosya > Proje Yapısı'nı tıklayarak Proje Yapısı iletişim kutusunu açın. Aşağıdaki bölümleri içerir:

  • Proje: Gradle ve Android Gradle eklentisi için sürümü ve depo konumu adını ayarlar.
  • SDK Konumu: Projenizin kullandığı JDK, Android SDK ve Android NDK'nın konumunu belirler.
  • Değişkenler: Derleme komut dosyalarınızda kullanılan değişkenleri düzenlemenizi sağlar.
  • Modüller: Hedef ve minimum SDK, uygulama imzası ve kitaplık bağımlılıklarını içeren modüle özgü derleme yapılandırmalarını düzenlemenize olanak tanır. Her modülün ayarlar sayfası aşağıdaki sekmelere ayrılır:
    • Özellikler: Modülü derlemek için kullanılacak SDK ve derleme araçlarının sürümlerini belirtir.
    • İmza: Uygulamanızı imzalamak için kullanılacak sertifikayı belirtir.
  • Bağımlılıklar: Bu modülün kitaplık, dosya ve modül bağımlılıklarını listeler. Bağımlılıkları bu bölmeden ekleyebilir, değiştirebilir ve silebilirsiniz. Modül bağımlılıkları hakkında daha fazla bilgi için Derleme varyantlarını yapılandırma başlıklı makaleyi inceleyin.

  • Derleme Varyantları: Projeniz için farklı sürümleri ve derleme türlerini yapılandırmanıza olanak tanır.

    • Lezzetler: Her biri modülün minimum ve hedef SDK sürümü ile sürüm kodu ve sürüm adı gibi bir dizi yapılandırma ayarı belirten birden fazla derleme lezzeti oluşturmanıza olanak tanır.

      Örneğin, minimum SDK'sı 21 ve hedef SDK'sı 29 olan bir tat ve minimum SDK'sı 24 ve hedef SDK'sı 33 olan başka bir tat tanımlayabilirsiniz.

    • Derleme Türleri: Derleme çeşitlerini yapılandırma bölümünde açıklandığı gibi derleme yapılandırmaları oluşturmanıza ve değiştirmenize olanak tanır. Varsayılan olarak her modülün hata ayıklama ve sürüm derleme türleri vardır. Gerekirse daha fazlasını da tanımlayabilirsiniz.