Chromebook'lar gibi ChromeOS cihazlar, Google Play Store'u ve Android uygulamalarını destekler. Bu makalede, telefon veya tabletler için tasarlanmış ve Chromebook'lar için optimize etmek istediğiniz mevcut bir Android uygulamanız olduğu varsayılmaktadır. Android uygulamaları geliştirmeyle ilgili temel bilgileri öğrenmek için İlk Android uygulamanızı oluşturma başlıklı makaleyi inceleyin.
Uygulamanızın manifest dosyasını güncelleme
Başlamak için manifest dosyanızı, Chromebook'lar ile Android çalıştıran diğer cihazlar arasındaki bazı önemli donanım ve yazılım farklılıklarını hesaba katacak şekilde güncelleyin.
ChromeOS M53 sürümü itibarıyla, android.hardware.touchscreen
özelliğini açıkça gerektirmeyen tüm Android uygulamaları, android.hardware.faketouch
özelliğini destekleyen ChromeOS cihazlarda da çalışır. Ancak uygulamanızın tüm Chromebook'larda çalışacağından emin olmak için manifest dosyanızı, aşağıdaki örnekte gösterildiği gibi android.hardware.touchscreen
özelliğinin gerekli olmadığı şekilde güncelleyin.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... > <!-- Some Chromebooks don't support touch. Although not essential, it's a good idea to explicitly include this declaration. --> <uses-feature android:name="android.hardware.touchscreen" android:required="false" /> </manifest>
Farklı donanım cihazları farklı sensör gruplarıyla donatılmıştır. Chromebook'larda Android el cihazlarında bulunan GPS ve ivme ölçerler gibi tüm sensörler bulunmayabilir. Ancak bazı durumlarda sensörün işlevi başka bir şekilde sağlanır. Örneğin, Chromebook'larda GPS sensörü olmayabilir ancak kablosuz bağlantılara dayalı konum verileri sağlanır. Android platformunun desteklediği sensörler hakkında daha fazla bilgi edinmek için sensörlere genel bakış başlıklı makaleyi inceleyin.
Uygulamanızın, sensör kullanılabilirliğinden bağımsız olarak Chromebook'larda çalışmasını istiyorsanız manifest dosyanızı, sensör gerektirmeyecek şekilde güncelleyin.
Bazı yazılım özellikleri Chromebook'larda desteklenmez. Örneğin, özel IME'ler, uygulama widget'ları, canlı duvar kağıtları ve uygulama başlatıcılar sağlayan uygulamalar desteklenmez ve Chromebook'lara yüklenemez. Chromebook'larda desteklenmeyen yazılım özelliklerinin tam listesi için uyumlu olmayan yazılım özellikleri başlıklı makaleyi inceleyin.
Hedef SDK'nızı güncelleme
Android platformundaki tüm iyileştirmelerden yararlanmak için uygulamanızın targetSdkVersion
özelliğini mevcut en yeni API düzeyine güncelleyin. Android platformunda farklı sürümler boyunca yapılan iyileştirmeleri inceleyin.
Ağ bağlantısı koşullarını kontrol etme
Chromebook'lar, Android OS'in tamamını Docker veya LXC'ye benzer şekilde bir kapsayıcıda çalıştırır. Bu, Android'in sistemin LAN arayüzüne doğrudan erişemediği anlamına gelir. Bunun yerine, IPv4 trafiği dahili bir ağ adresi çevirisi (NAT) katmanından geçer ve IPv6 tek yayın trafiği ek bir atlama noktası üzerinden yönlendirilir.
Android uygulamasından internete giden tek yayın bağlantıları genellikle olduğu gibi çalışır. Genel olarak gelen bağlantılar engellenir. Android'den gelen çoklu yayın veya yayın paketleri, güvenlik duvarı üzerinden LAN'a yönlendirilmez.
ChromeOS, çoklu yayın kısıtlamasına istisna olarak Android ile LAN arayüzü arasında mDNS trafiğini yönlendiren bir hizmet çalıştırır. Bu nedenle, LAN segmentindeki diğer cihazları bulmak için standart ağ hizmeti keşfi API'leri önerilir. Android uygulamaları, LAN'da bir cihaz bulduktan sonra bu cihazla iletişim kurmak için standart TCP veya UDP tek yayınlı soketlerini kullanabilir.
Android'den gelen IPv4 bağlantıları, ChromeOS ana makinesinin IPv4 adresini kullanır. Android uygulaması dahili olarak ağ arayüzüne atanan özel bir IPv4 adresini görür. Android kapsayıcısının özel bir herkese açık IPv6 adresi olduğundan Android'den gelen IPv6 bağlantıları, ChromeOS ana makinesinden farklı bir adres kullanır.
Bulut ve yerel depolama alanını etkili bir şekilde kullanma
Chromebook'lar, kullanıcıların bir cihazdan diğerine kolayca geçiş yapmasına olanak tanır. Bir Chromebook'u kullanmayı bırakıp başka bir Chromebook'u kullanmaya başlayan kullanıcıların tek yapması gereken oturum açmaktır. Bu durumda tüm uygulamaları gösterilir.
Bu özellik nedeniyle, cihazlar arasında senkronizasyonu etkinleştirmek için uygulamanızın verilerini buluta yedekleyin. Ancak uygulamanızın normal şekilde çalışması için internet bağlantısına ihtiyaç duymayın. Bunun yerine, cihaz çevrimdışıyken kullanıcının çalışmalarını yerel olarak kaydedin ve cihaz tekrar çevrimiçi olduğunda bulutla senkronize edin.
Chromebook'lar, okullarda olduğu gibi çok sayıda kullanıcı arasında da paylaşılabilir. Yerel depolama alanı sınırsız olmadığından, hesapların tamamı depolama alanlarıyla birlikte dilediğiniz zaman cihazdan kaldırılabilir. Eğitim ortamlarında bu senaryoyu göz önünde bulundurmak iyi bir fikirdir.
Uygulamanız için yeni test durumları geliştirme
Uygulamanız için test durumları geliştirmek istiyorsanız öncelikle doğru manifest işaretlerini belirttiğinizden emin olun. Özellikle screenOrientation
yönergesini unspecified
olarak ayarlayın. Yatay yön belirtmek istiyorsanız tabletteki deneyimin optimum olduğundan emin olmak için sensorLandscape
kullanmayı düşünebilirsiniz.
Masaüstü ortamları için özel boyut veya yön ihtiyaçlarınız varsa boyut veya yön ipucu olarak meta etiketler ekleyebilirsiniz. Telefonlarda boyut ve yön bilgisini eklemek için bunun yerine düzen defaultHeight
, defaultWidth
veya minHeight
özelliklerini belirtin.
Belirli cihaz kategorileri için belirli giriş cihazlarının işlenmesi ile ilgileniyorsanız giriş uyumluluk modunu devre dışı bırakmak için android.hardware.type.pc
değerini belirtin.
Herhangi bir ağ kullanıyorsanız bağlantı sorunu çözüldükten veya cihaz uyku modundan çıktıktan sonra uygulamanın ağa yeniden bağlanabildiğinden emin olun.
Test planınızda kullanabileceğiniz ChromeOS'ta Android uygulamaları için test durumları listesini incelemenizi öneririz. Test durumları, ChromeOS cihazlarda çalışması beklenen Android uygulamalarının hazırlanması gereken yaygın senaryoları kapsar.
Çoklu pencere ve yön değişiklikleri
ChromeOS'un çoklu pencere ortamı, durum kalıcılığı ve hatırlama sorunlarını daha belirgin hale getirebilir. Uygun olduğunda durumunuzu kaydetmek ve geri yüklemek için ViewModel
simgesini kullanın.
Durum devamlılığını test etmek için uygulamanızı bir süreliğine küçültün, kaynak yoğun başka bir işlem başlatın ve uygulamanızı geri yükleyip bıraktığınız duruma döndüğünü onaylayın.
Tam ekran tuşuna (F4) basarak, pencereyi büyütüp küçülterek ve orijinal boyutuna döndürerek pencere boyutlandırma özelliğini test edin. Ücretsiz yeniden boyutlandırma özelliğini test etmek için önce geliştirici seçeneklerinde etkinleştirin, ardından uygulamanızın kilitlenmeden sorunsuz bir şekilde yeniden boyutlandırılıp boyutlandırılmadığını kontrol edin.
ChromeOS cihazınız destekliyorsa her şeyin beklendiği gibi çalışıp çalışmadığını kontrol etmek için dizüstü bilgisayar modundan tablet moduna geçin. Yön değişikliklerini test etmek için tablet modundayken cihazı bir kez döndürün, ardından dizüstü bilgisayar moduna geri geçin. Bu adımı birkaç kez tekrarlayın.
Üst çubuğun, kullanıcı arayüzü öğelerini veya konuma dayalı dokunma girişini kaydırarak uygulamanızı bozmadığından emin olun. ChromeOS cihazlarda, uygulamanızın durum çubuğuna önemli bilgiler yerleştirmediğinden emin olun.
Kamerayı veya kalem gibi başka bir donanım özelliğini kullanıyorsanız daha önce açıklanan pencere ve cihaz değişikliklerini gerçekleştirirken düzgün şekilde çalıştığından emin olun.