2026'da Java ve .NET ile Android Uygulaması Nasıl Kurulur ve Derlenir?
Kısa cevap: Yerel Java geliştirme için JDK 21/24 ile Android Studio'yu, C# için ise Visual Studio + .NET MAUI (net10) kullanın. SDK 36'yı yapılandırın, Gradle veya dotnet publish aracılığıyla derleyin, yayın APK/AAB dosyasını imzalayın ve gerekli targetSdk 36 ile Google Play'e yükleyin.
Java Kurulumu (Android Studio)
- Android Studio'yu (Koala sürümü veya daha yenisi) yükleyin. Kurulum sırasında Standard setup seçeneğini belirleyin; yükleyici SDK, öykünücü ve gerekli araçları otomatik olarak indirecektir.
- SDK Manager'da şunları yükleyin: Android SDK Platform 36, Build-Tools 36.x, platform araçları ve öykünücü için System Image.
- JDK: File > Project Structure > SDK Location yolundan JDK 21 veya 24'ü belirtin. Kararlı bir OpenJDK dağıtımı önerilir.
- Proje oluşturun: New Project > Empty Activity (Java). app modülündeki build.gradle dosyasında şunları kullanın:
- compileSdk 36
- targetSdk 36
- minSdk gereksinime göre (örneğin 24)
- sourceCompatibility/targetCompatibility — JavaVersion.VERSION_21
- Hızlı derleme:
- Debug: ./gradlew assembleDebug veya Build > Build APK(s).
- Release (AAB): ./gradlew bundleRelease
- Yayın imzalama:
- Keystore oluşturun: keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
- Android Studio'da Generate Signed Bundle/APK seçeneğini veya Gradle'daki signingConfigs ayarlarını kullanın.
Boyutu küçültmek için R8/ProGuard ve Dynamic Feature Modules kullanın. Bundletool (sürüm 1.17+) AAB optimizasyonuna yardımcı olur.
.NET MAUI Kurulumu (Visual Studio)
- ".NET Multi-platform App UI" iş yükü ile birlikte Visual Studio 2022/2026'yı yükleyin. Yükleyici aracılığıyla Android SDK 36 ve öykünücü görüntülerini ekleyin.
- Proje oluşturun: File > New > .NET MAUI App. .csproj dosyasında Android için hedef platformu yapılandırın:
net10.0-android36.0 aab - Derleme:
- Debug: Build > Run (öykünücü veya USB cihaz).
- Release: dotnet publish -f net10.0-android -c Release -p:AndroidPackageFormat=aab
- İmzalama (yayınlama için örnek):
dotnet publish -f net10.0-android -c Release
/p:AndroidKeyStore=true
/p:AndroidSigningKeyAlias=alias
/p:AndroidSigningKeyStore=path/to/keystore.p12
/p:AndroidSigningKeyStorePassword=STOREPASS
/p:AndroidSigningKeyPass=KEYPASS - Hot Reload/Hot Restart yinelemeleri hızlandırır: UI düzenlemeleri için bunları etkinleştirin.
Kullandığınız Android SDK'nın Google Play yayınlama gereksinimlerine uygun olduğundan emin olun: yeni uygulamalar targetSdk 36 gerektirir.
Derleme, İmzalama ve Optimizasyon
- Formatlar: Play Store için AAB tercih edilir; dinamik teslimat uygulama boyutunu küçültür.
- İmzalama: Keystore ve parolaları her zaman güvenli bir yerde saklayın; CI için gizli anahtarlar (Key Vault/Secrets) kullanın.
- CI/CD: Java için gradle wrapper (./gradlew assembleRelease, bundleRelease); .NET için imzalama parametreleriyle dotnet build/publish.
- Optimizasyon: R8'i etkinleştirin, tree shaking ve trimming'i açın (MAUI için PublishTrimmed kullanın ancak kapsamlı test edin).
- Test: API 36 öykünücülerini ve gerçek cihazları kullanın; otomatik testleri öykünücüde veya device farm kullanarak çalıştırın.
Sık Karşılaşılan Hatalar
- Yanlış targetSdk (36'nın altında) — yayınlamada reddedilme.
- İmzalanmamış yayın paketi — Play Console'da reddedilme.
- JDK sürüm sorunları: Gradle eklentisi ve JDK24 uyumsuzluğu — projede önerilen sürümü kullanın.
- MAUI için: Visual Studio Installer'da gerekli Android bileşenlerinin eksik olması — uygulama derlenmez.
SSS
- JDK 24'e geçmek gerekir mi? Yeni özellikler için evet, ancak Gradle ve eklentilerle uyumluluğu test edin; JDK 21 şu an için daha güvenli bir seçimdir.
- Java ve .NET yığını arasında hızlıca nasıl geçiş yapılır? Her iki IDE'yi de (Android Studio ve Visual Studio) tutun, hızlı kontroller için gerçek cihaz kullanın.
- .NET MAUI'de AAB derlenebilir mi? Evet — AndroidPackageFormat=aab ayarlayın ve Release modunda dotnet publish kullanın.
Sonuç: SDK 36'yı yapılandırın, ekibin deneyimine göre yığın seçin (Java — yerel Android ekosistemi, .NET MAUI — platformlar arası tek kod), imzalama ve optimizasyonu otomatikleştirin ve mağazaya yüklemeden önce gerçek cihazlarda test edin.