Android Studio'daki bir proje, kaynak kod ve öğelerden test kodu ve derleme yapılandırmalarına kadar bir uygulama için çalışma alanınızı tanımlayan her şeyi içerir.
Yeni bir projeye başladığınızda Android Studio, tüm dosyalarınız için gerekli yapıyı oluşturur ve bu dosyaları Android Studio'daki Project (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 bölmenize olanak tanıyan kaynak dosyaları ve derleme ayarları koleksiyonudur. Projenizde bir veya daha fazla modül olabilir ve bir modül, başka bir modülü bağımlılık olarak kullanabilir. Her modülü bağımsız olarak oluşturabilir, test edebilir ve hatalarını ayıklayabilirsiniz. Gradle belgelerinde modüllerin "projeler" veya "alt projeler" olarak adlandırıldığını görebilirsiniz.
Ek modüller, kendi projenizde kod kitaplıkları oluştururken veya farklı cihaz türleri (ör. telefonlar ve giyilebilir cihazlar) için farklı kod ve kaynak kümeleri oluşturmak istediğinizde 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 Dosya > Yeni > Yeni Modül'ü tıklayın.
Android Studio'da birkaç farklı modül türü bulunur:
- Android uygulama modülü
Uygulamanızın kaynak kodu, kaynak dosyaları ve uygulama düzeyindeki ayarları (ör. modül düzeyindeki 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
Her modül, ilgili uygulama veya cihaz türüne uygun temel dosyalar ve bazı kod şablonları 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ü
-
Play Özellik Dağıtımı'ndan yararlanabilen, uygulamanızın modüler 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 üzerinden anlık deneyimler şeklinde sunabilirsiniz.
Android Studio aşağıdaki türlerde özellik modülleri sunar:
- Dinamik Özellik Modülü
- Anında Dinamik Özellik Kitaplığı Modülü
Daha fazla bilgi edinmek için Play Feature Delivery hakkında bilgi edinin.
- 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. Yapısal olarak bir kitaplık modülü, uygulama modülüyle aynıdır ancak oluşturulduğunda APK yerine bir kod arşivi dosyası oluşturur. Bu nedenle, bir cihaza yüklenemez.
Android Studio, Yeni Modül Oluştur penceresinde 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 hariç Android projesinde desteklenen tüm dosya türlerini içerir. Derleme sonucu, Android uygulama modülleriniz için bağımlılık olarak ekleyebileceğiniz bir Android Arşivi (AAR) dosyasıdır.
- Android Native Library: Android Library'ye benzer şekilde, bir 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ülleriniz için 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.
- Karşılaştırma > Mikro karşılaştırma: Kod performansını düzenli olarak ölçmek ve karşılaştırma sonuçları oluşturmak için gereken dosyaları içerir. Mikro karşılaştırma testi modülleri, özellikle tekrar tekrar kullanılan daha küçük kod parçalarının performansını ölçmek için yararlıdır. Daha fazla bilgi için Mikro karşılaştırma hakkında başlıklı makaleyi inceleyin.
Bir kitaplık modülü oluşturduğunuzda ve bunu Android uygulama modülünüze bağımlılık olarak eklemek istediğinizde, modülü aşağıdaki gibi bildirmeniz gerekir:
Groovy
dependencies { implementation project(':my-library-module') }
Kotlin
dependencies { implementation(project(":my-library-module")) }
- Test modülü
Testlerinizi kodunuzun geri kalanından ayrı tutar. Test modülünü belirli derleme varyantlarını hedefleyecek şekilde yapılandırabilirsiniz.
Android Studio aşağıdaki test modülü türlerini sunar:
- Temel Profil Oluşturucu: Temel profiller, kullanıcı etkileşimlerini (ör. gezinme ve kaydırma) ilk kez çalıştırıldığında daha sorunsuz hale getirir. Uygulama performansını ve kullanıcı deneyimini iyileştirmek için kritik kullanıcı yolculuklarınızda Temel Profil oluşturun.
- Karşılaştırma > Makro karşılaştırma: Kod performansını düzenli olarak ölçmek ve karşılaştırma sonuçları oluşturmak için gereken dosyaları içerir. Makro karşılaştırma testi modülleri, özellikle uygulamanızın daha büyük kullanım alanlarının (ör. listede gezinme veya diğer kullanıcı arayüzü manipülasyonları) performansını ölçmek için faydalıdır. Daha fazla bilgi için Makrobenchmark yazma başlıklı makaleyi inceleyin.
Proje dosyaları

Android Studio, varsayılan olarak proje dosyalarınızı Android görünümünde gösterir. Bu görünüm, diskteki gerçek dosya hiyerarşisini yansıtmaz. Bunun yerine, projenizin temel kaynak dosyaları arasında gezinmeyi kolaylaştırmak için modüllere ve dosya türlerine göre düzenlenir. Ayrıca, yaygın olarak kullanılmayan belirli dosyaları veya dizinleri gizler.
Android görünümü ile diskteki yapı arasındaki bazı yapısal farklar ş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 olduğunda, modül düzeyindeki bir grupta her modülün tüm manifest dosyalarını gösterir.
- Tüm alternatif kaynak dosyalarını, kaynak niteleyici başına ayrı klasörler yerine tek bir grupta gösterir. Örneğin, başlatıcı simgenizin tüm yoğunluk sürümleri yan yana görünür.
Her Android uygulama modülünde dosyalar aşağıdaki gruplar halinde gösterilir:
- manifests
- ,
AndroidManifest.xml
dosyasını içerir. - java
- JUnit test kodu da dahil olmak üzere, paket adlarına göre ayrılmış Kotlin ve Java kaynak kodu dosyalarını içerir.
- res
- Kullanıcı arayüzü dizeleri ve bit eşlem resimler gibi tüm kod dışı kaynakları, ilgili alt dizinlere bölünmüş şekilde 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 olmak üzere çok daha fazla dosya ve dizin görebilirsiniz:
module-name/
-
build/
- Derleme çıktılarını içerir.
libs/
- Özel kitaplıklar içeriyorsa
src/
- Aşağıdaki alt dizinlerde modüle ait tüm kod ve kaynak dosyalarını içerir:
androidTest/
- Android cihazda çalışan enstrümantasyon testleri için kod 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çeriyor. Daha fazla bilgi için Android NDK belgelerine 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ına ait dosyalar, kardeş dizinlerde bulunur. Örneğin, hata ayıklama derleme türü için
src/debug/
):AndroidManifest.xml
- Uygulamanın ve bileşenlerinin yapısını açıklar. Daha fazla bilgi için uygulama manifestine genel bakış konusuna bakın.
java/
- Uygulamanızda hem Kotlin hem de Java kaynak kodu varsa Kotlin veya Java kod kaynaklarını ya da her ikisini de içerir.
kotlin/
- Yalnızca Kotlin kodu kaynaklarını içerir.
res/
- Çizilebilir dosyalar ve kullanıcı arayüzü dize dosyaları gibi uygulama kaynaklarını içerir. Daha fazla bilgi için uygulama kaynaklarına genel bakış konusuna bakın.
assets/
- Bir APK dosyasına olduğu gibi derlenecek dosyaları içerir. Örneğin,
bu, dokular ve oyun verileri için iyi bir konumdur. Bu dizinde, URI'leri kullanarak normal bir dosya sisteminde olduğu gibi gezinebilir ve
AssetManager
kullanarak dosyaları bir bayt akışı olarak okuyabilirsiniz.
test/
- Ana makinenizin JVM'sinde çalışan yerel testlerle ilgili kodu içerir.
build.gradle
veyabuild.gradle.kts
(modül)- Bu, modüle özgü derleme yapılandırmalarını tanımlar.
build.gradle
, derleme komut dosyası dili olarak Groovy'yi kullanıyorsanız doğru dosya adıdır. Kotlin komut dosyası kullanıyorsanız dosya adıbuild.gradle.kts
olmalıdır.
build.gradle
veyabuild.gradle.kts
(proje)- Bu, tüm modüller için geçerli olan derleme yapılandırmanızı tanımlar.
build.gradle
, derleme komut dosyası dili olarak Groovy'yi kullanıyorsanız doğru dosya adıdır. Kotlin komut dosyası kullanıyorsanız dosya adıbuild.gradle.kts
olmalıdır. Bu dosya proje için çok önemlidir. Bu nedenle, diğer tüm kaynak koduyla birlikte revizyon kontrolünde tutun.Diğer derleme dosyaları hakkında bilgi için Derlemenizi yapılandırma başlıklı makaleyi 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 eklentisinin sürümünü ve depo konum adını ayarlar.
- SDK Konumu: Projenizin kullandığı JDK, Android SDK ve Android NDK'nin konumunu ayarlar.
- Değişkenler: Derleme komut dosyalarınızda kullanılan değişkenleri düzenlemenize olanak tanır.
-
Modüller: Hedef ve minimum SDK, uygulama imzası ve kitaplık bağımlılıkları dahil olmak üzere modüle özgü derleme yapılandırmalarını düzenlemenize olanak tanır. Her modülün ayarlar sayfası aşağıdaki sekmelere ayrılmıştır:
- Özellikler: Modülü derlemek için kullanılacak SDK ve derleme araçlarının sürümlerini belirtir.
- İmzalama: 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. Bu bölmeden bağımlılıkları 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 Çeşitleri: Projeniz için farklı türler ve derleme türleri yapılandırmanıza olanak tanır.
-
Flavors: Her bir flavor'ın, 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ını belirttiği birden fazla derleme flavor'ı oluşturmanıza olanak tanır.
Örneğin, minimum SDK'sı 21 ve hedef SDK'sı 29 olan bir varyant ile minimum SDK'sı 24 ve hedef SDK'sı 33 olan başka bir varyant 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ülde hata ayıklama ve yayın derleme türleri bulunur. İhtiyaç duyduğunuzda daha fazla derleme türü tanımlayabilirsiniz.
-