Neden ve nasıl bugün Android 1.0/1.1 testi yapılır

Kerem Aydın·6 Temmuz 2026·⏱3 dk

Android 1.0 (API 1) ve 1.1 (API 2) — 2008–2009 yıllarındaki ilk ticari sürümlerdir; günümüzde retro testler ve araştırmalar için kullanılırlar. Modern SDK'da hazır imajlar neredeyse yoktur: ya AOSP'den derlemek gerekir ya da topluluk arşivlerini/yansılarını bulup eski bir emülatörde veya QEMU'da çalıştırmak gerekir.

Bu sürümler nedir ve neden gereklidir

Android 1.0 — ilk kararlı ticari sürümdür (HTC Dream/G1). Android 1.1 — hata düzeltmeleri ve birkaç işlevle (ekleri kaydetme, haritalar için iyileştirmeler) yapılan küçük bir güncellemedir. Günümüzdeki pratik uygulamaları: tarihsel araştırmalar, eski yazılımların uyumluluğunun kontrolü, arayüzün retro gösterimleri, eski projelerin yedeklerinin geri yüklenmesi.

Temel kısıtlamalar:

  • Çok sınırlı API ve eskimiş WebView/TLS.
  • Donanım beklentileri: ARM11 sınıfı CPU, onlarca–yüzlerce MB RAM.
  • Modern uygulamalar adaptasyon olmadan neredeyse kesinlikle çalışmaz.

Yalnızca kullanıcı arayüzü gösterimi gerekiyorsa, topluluk imajı veya x86 emülasyonu yeterlidir; API ve ikili uyumluluğun "temiz" kontrolü için AOSP kaynak kodlarından derlemek daha iyidir.

İmajları ve kaynak kodları nereden alınır (pratik olarak)

Öncelik sırasına göre seçenekler:

  1. AOSP'den derlemek — en temiz yöntemdir, ancak eski araç zinciri/ortam gerektirir.
  2. Topluluk arşivlerini/kurtarılmış yapıları kullanmak — daha hızlıdır, ancak kaynağı doğrulayın.
  3. Arşivlenmiş SDK'lerde/Internet Archive'de aramak — bazen eski emülatör paketlerine rastlanır.
  4. android-x86'i denemek — x86 üzerinde "benzer" bir UI simülasyonu sizin için uygunsa.

Aranacaklar: AOSP yansılarında android-1.0 / release-1.0 biçimindeki etiketler/dallar veya topluluk arşivlerinde yeniden oluşturulmuş derlemeler.

İmajı nasıl elde edip çalıştırılır — kısa adım adım kılavuz

Seçenek A — AOSP'den derlemek (temizlik açısından önerilir)

  1. Ortamı hazırlayın: Linux ile ayrı bir VM/konteyner; bazı dallarda Java 6/7 gerektiği için eski JDK kullanın.
  2. Gerekli bildirim dosyası/etiket ile repo'yu başlatın:
    • repo init -u -b android-1.0
    • repo sync
  3. Derleme:
    • source build/envsetup.sh
    • lunch aosp_arm-eng
    • make -j$(nproc) Başarılı derlemeden sonra system.img, out/target/product// dizininde bulunur.
  4. Çalıştırma: eski system.img'ler çoğunlukla eski emülatör binary'siyle veya doğrudan QEMU üzerinden çalıştırılır. Eski emülatör arşivini alıp oluşturulan imajlarla birlikte kullanmak daha iyidir.

Seçenek B — Hazır topluluk imajını kullanmak

  1. Topluluk arşivinden/deposundan doğrulanmış bir imaj indirin.
  2. Eski emülatör sürümü veya QEMU üzerinden çalıştırın; hatalarda farklı kernel/system.img/ramdisk kombinasyonlarını deneyin.

Seçenek C — x86 üzerinde emülasyon (kabul edilebilirse)

  • x86 tabanlı yeniden oluşturmaları arayın; UI işlevselliği erişilebilir olacaktır, ancak bu artık "orijinal" ARM yığını değildir.

Doğrulanmamış imajları ana makinenizde çalıştırmayın. Özellikle topluluk kaynaklarından gelen imajlar için izole edilmiş VM/konteyner kullanın.

Sık karşılaşılan hatalar

  • Repo sync, erişilemeyen dallar/bildirim dosyaları nedeniyle çöker — yansılar veya arşivler kullanın.
  • Java/derleyici sürüm uyuşmazlığı — daha eski OS/Java içeren bir VM oluşturun.
  • Modern emülatör, çok eski system.img ile başlamaz — eski emulator binary'lerinin arşivlerini arayın.
  • Eski TLS/CA nedeniyle ağ testleri bozulur — trafiği proxy'lemek veya kök sertifikaları değiştirmek gerekecektir.

SSS

  • AOSP'den derlemem gerekir mi? Temizlik ve yasal geçerlilik önemliyse evet. Hızlı gösterimler için topluluk imajı yeterlidir.
  • Bu sürümleri Android Studio'da çalıştırabilir miyim? Hayır: SDK Manager bu platformları saklamaz; eski emülatör/el ile çalıştırma gerekir.
  • İmajın güvenliğini nasıl kontrol ederim? Hash'leri/imzaları kullanın, izolasyonda çalıştırın ve ağ çağrılarını proxy üzerinden analiz edin.

Özet: Android 1.0/1.1 — tarihsel sürümlerdir, testler için ayrı bir VM hazırlamak ve ya AOSP kaynak kodlarından derlemek (maksimum doğruluk) ya da doğrulanmış topluluk imajlarını kullanmak (daha hızlı) daha iyidir. Hangi seçeneğin sizin için daha uygun olduğunu söyleyin — işletim sisteminize göre derleme için kesin yansı/arşiv listesini veya ayrıntılı bir betiği hazırlayayım.