Android 2.x (Eclair) için Uygulama Yapılandırma ve Derleme
Kısa cevap: Projeyi "saf" Android 2.0 üzerinde derlemeye gerek yok — güncel Android SDK'yı kurun, Android 2.x platform paketini (API 7–10) ekleyin, güncel compileSdkVersion ve düşük minSdkVersion kullanın ve derlemeyi Gradle veya komut satırı aracılığıyla gerçekleştirin.
Android SDK ve Eski Platformların Kurulumu
- JDK 8 ve Android Studio'yu veya yalnızca Command-line tools'u kurun.
- SDK Manager üzerinden Platform-Tools ve güncel bir platformu (compileSdkVersion için) ekleyin.
- Eski platformları kurun (varsa): Android 2.1–2.3 (API 7–10). Gerekli sürüm listede yoksa, indirilen eski SDK arşivini ayrı bir SDK yolu olarak bağlayabilirsiniz, ancak bunu yalnızca izole bir ortamda yapın.
Eski SDK'lar ve sistem imajlarına ait üçüncü taraf yansılar güvenli değildir — bunları sanal makinede veya ayrı bir bilgisayarda kullanın.
Ortam değişkenlerini yapılandırın (Unix için örnek): bash export JAVA_HOME=/usr/lib/jvm/java-8-openjdk export ANDROID_SDK_ROOT=$HOME/Android/Sdk export PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools:$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/tools/bin
IDE'ye ihtiyacınız yoksa, yalnızca Command-line tools'u kurun ve Gradle ile derleyin — bu, miras projeler için daha kolaydır.
Eski Projenin Taşınması ve Gradle Yapılandırması
Eclair altındaki projelerin yapısı genellikle Gradle kullanmaz — en iyisi yeni bir Gradle modülü oluşturmak ve kaynak kodları, kaynakları ve manifest dosyasını buna taşımaktır.
build.gradle içindeki minimum yapılandırma örneği: text android { compileSdkVersion 33 defaultConfig { applicationId "com.example.legacy" minSdkVersion 7 // veya gereksinime göre 8–10 targetSdkVersion 33 versionCode 1 versionName "1.0" } }
Kod kuralları:
- Build.VERSION.SDK_INT kontrolü olmadan yeni API'leri çağırmayın.
- Uyumsuz işlevler için fallback sürümler uygulayın.
- AndroidX/yeni support kütüphaneleri genellikle minSdk < 14'ü desteklemez — eski support-lib kütüphanelerini kullanmanız veya kendi uygulamalarınızı yazmanız gerekebilir.
Derleme, İmzalama ve Test Etme
Android Studio'da derleme: Build → Build APK(s) veya Generate Signed Bundle/APK.
Komut satırı üzerinden:
bash
./gradlew assembleDebug
./gradlew assembleRelease
APK, app/build/outputs/apk/… dizininde görünecektir.
Test etme:
- Eski bir sistem imajınız varsa, Android 2.x ile bir AVD oluşturun.
- Genellikle gerçek bir eski cihazda test etmek daha kolay ve güvenilirdir (o dönemin emülatörleri yavaş/kararsızdır).
- Yaklaşık testler için sanal makinede eski Android-x86 sürümlerini kullanabilirsiniz.
Eski imajların emülatörleri yavaş çalışır; uyumluluk kritikse gerçek donanım üzerinde test edin.
Sık Karşılaşılan Hatalar
- minSdk kontrolü olmadan modern kütüphaneleri kullanmaya çalışmak — ClassNotFound/NoSuchMethodError hatasına yol açar.
- Eski SDK'ları güvenilir olmayan kaynaklardan bağlamak ve bunları ana sistemde çalıştırmak (güvenlik riski).
- Eski kodu belgelendirmeden bırakmak — yeni geliştiriciler bakım sırasında zorluk çeker.
SSS
- Derleme için saf Android 2.0 SDK gerekli mi? — Hayır: Güncel SDK + eski platform paketi (veya API açısından yakın olan) yeterlidir.
- Hangi API'lerin mevcut olduğunu nasıl kontrol edebilirim? — API seviyelerine ilişkin belgelere bakın ve Build.VERSION kontrollerini kullanın.
- Google Play'e minSdk = 7 ile yayın yapılabilir mi? — Teknik olarak mümkündür, ancak pratikte anlamsızdır: Mağazalar ve modern kütüphaneler daha yüksek API'lere yöneliktir ve bu tür cihazların kullanıcı kitlesi minimaldir.
En iyi uygulamalar: compileSdk'i güncel tutun, düşük minSdk nedenlerini belgelerde sabitleyin, platforma bağımlı kodu kapsülleyin ve gerçek kullanım verilerine dayanarak minSdk'i kademeli olarak yükseltmeyi planlayın.