ChromeOS için uygulama derlemeye başlayın

Chromebook'lar gibi ChromeOS cihazlar Google Play Store'u ve Android uygulamaları. Bu makalede, şu uygulama için tasarlanmış mevcut bir Android uygulamanız olduğu varsayılmıştır: optimize etmek istediğiniz telefon veya tabletlerdir. Temel bilgileri öğrenmek için hakkında bilgi edinmek için İlk Android'inizi geliştirme uygulamasında gösterilir.

Uygulamanızın manifest dosyasını güncelleyin

Başlamak için manifest dosyanızı güncelleyerek bazı temel donanımları ve Android çalıştıran diğer cihazlar ile arasındaki yazılım farklılıkları var.

ChromeOS sürüm M53'ten itibaren, android.hardware.touchscreen Bu özellik, şunu destekleyen ChromeOS cihazlarda da çalışır: android.hardware.faketouch özelliği. Ancak, uygulamanızın tüm cihazlarda çalıştığından emin olmak için kullanıyorsanız, manifest dosyanızı güncelleyerek android.hardware.touchscreen özelliği, şurada gösterildiği gibi gerekli değildir: örneği inceleyelim.

<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ında farklı sensörler bulunur ve Chromebook'lar, Android avuç içi cihazlarda bulunan tüm sensörlere sahip olmayabilir, cihazlar gibi farklı cihazlar kullanabilirsiniz. Ancak bazı durumlarda, başka bir yöntemle sağlanabilir. Örneğin, Chromebook'lar GPS sensörleri vardır ancak kablosuz bağlantılara dayalı konum verileri sağlarlar. Daha fazla bilgi edinmek için sensörlere genel bakış başlıklı makaleyi inceleyin. daha fazla bilgi edinin.

Uygulamanızın, sensör kullanılabilirliğinden bağımsız olarak Chromebook'larda çalışmasını isterseniz manifest dosyanızı, sensöre gerek olmayacak şekilde güncelleyin.

Bazı yazılım özellikleri Chromebook'larda desteklenmez. Örneğin, Android için özel IME'ler, uygulama widget'ları, animasyonlu duvar kağıtları ve desteklenir ve Chromebook'lara yüklenemez. Projenin tam listesi için desteklenmeyen yazılım özellikleri hakkında daha fazla bilgi için uyumsuz özellikler hakkında daha fazla bilgi edinin.

Hedef SDK'nızı güncelleyin

Uygulamanızın targetSdkVersion alanını güncelleyin özelliğini kullanıma sunulan en yeni API düzeyine en son gelişmelerden haberdar olduk. Android'deki iyileştirmeleri inceleyin farklı sürümlerde kullanılabilir.

Ağ iletişimi gereksinimlerini kontrol etme

Chromebook'lar, Android işletim sisteminin tamamını Docker veya LXC'ye benzer bir kapsayıcıda çalıştırır. Bu durumda Android, sistemin LAN'ına doğrudan erişemez. kullanır. Bunun yerine, IPv4 trafiği dahili bir ağ katmanından geçer IPv6 tek noktaya yayın trafiği, adres çevrimi (NAT) ile birlikte indi.

Çoğunlukla Android uygulamasından internete giden tek yayın bağlantıları olduğu gibi çalışmaya devam eder. Genel olarak, gelen bağlantılar engellenir. Çoklu yayın veya yayın Android'den gelen paketler, güvenlik duvarı üzerinden LAN'a yönlendirilmez.

Çoklu yayın kısıtlamasına istisna olarak ChromeOS, mDNS trafiğini Android ve LAN arayüzü arasında yönlendirir; bu nedenle, standart ağ hizmeti keşfi API'leri özellikleri, LAN segmentindeki diğer cihazları keşfetmek için önerilen yöntemdir. Şu tarihten sonra: LAN üzerinde cihaz bulduğunda Android uygulaması standart TCP veya UDP tek yayınını kullanabilir soketleri vardır.

Android'den gelen IPv4 bağlantıları, ChromeOS ana makinesinin IPv4 adresini kullanır. Android uygulaması dahili olarak ağa atanmış özel bir IPv4 adresi görür kullanır. Android'den gelen IPv6 bağlantıları farklı bir adres kullanıyor olduğundan emin olun çünkü Android kapsayıcısında özel bir herkese açık IPv6 adresi.

Bulutu ve yerel depolama alanını etkili bir şekilde kullanın

Chromebook'lar kullanıcıların bir cihazdan diğerine kolayca geçebilmesini sağlar. Bir kullanıcı bir Chromebook'tayken diğerini kullanmaya başladığında yalnızca oturum açmaları ve tüm uygulamaları görünür.

Bu özellik nedeniyle, senkronizasyonu etkinleştirmek için uygulamanızın verilerini buluta yedekleyin cihazlarda kullanabilirsiniz. Ancak, uygulamanızın çalışması için internet bağlantısına normal şekilde çalışmasını sağlamalısınız. Bunun yerine, cihaz etkinken kullanıcının çalışmasını yerel olarak çevrimdışı yapabilir ve cihaz tekrar çevrimiçi olduğunda bulutla senkronize edebilirsiniz.

Ayrıca Chromebook'lar çok sayıda kişi arasında paylaşılabilir; örneğin okullar. Yerel depolama alanı sınırsız olmadığından hesapların tamamı bir arada ile birlikte saklanabilir. İstediğiniz zaman cihazdan kaldırılabilir. Örneğin, bu senaryoyu göz önünde bulundurmanız önerilir.

NDK kitaplıklarını güncelleme

Uygulamanız Android NDK kitaplıklarını kullanıyorsa ve hedef SDK sürümü 23 veya metin yer değiştirmelerinin hem ARM hem de x86'dan kaldırıldığından emin olun. (Android 6.0 (API)) ile uyumlu olmadıklarından NDK kitaplıklarınızın sürümlerini seviye 23) ve daha üst düzey müşterilerdir. Metin yer değiştirme işlemlerini NDK kitaplıklarınızda bırakarak nedeniyle Chromebook'larla uyumluluk hatalarına neden olabilir, özellikle de çalışan bir web sitesini ziyaret edin.

Uygulamanız için yeni test durumları geliştirme

Uygulamanıza ilişkin test senaryoları geliştirmek için öncelikle bildiride bulun. Özellikle, screenOrientation Hedef: unspecified. Yatay bir yön belirtmek istiyorsanız sensorLandscape ve en iyi deneyimin tablette en iyi şekilde sunulduğundan emin olun.

Masaüstü ortamları için özel boyut veya yön ihtiyaçlarınız varsa aşağıdakileri göz önünde bulundurun: meta etiketler boyut veya yön ipuçları olarak eklenir. Boyut ve yön eklemek için telefonlarda, düzeni belirtin defaultHeight, defaultWidth, veya minHeight özelliklerini kullanabilirsiniz.

Belirli bir cihaz için belirli bir giriş cihazı işlemeyle ilgileniyorsanız kategoriler, girişi devre dışı bırakmak için android.hardware.type.pc değerini belirtin uyumluluk modundan emin olun.

Herhangi bir ağ bağlantısı kullanıyorsanız uygulamanın yeniden bağlanabildiğinden emin olun bağlantı sorunu çözüldükten veya cihaz uyandıktan sonra uyku moduna geçiyorum.

Chrome'daki Android uygulamaları için test durumları listesini kontrol etmenizi öneririz. OS'yi seçin. Test senaryoları, Android uygulamalarının hazırlanması gereken yaygın senaryoları kapsar. .

Çoklu pencere ve yön değişiklikleri

ChromeOS'in çok pencereli ortamı, durum kalıcılığını ve geri çağırmasını sağlayabilir daha açık şekilde görebilirsiniz. ViewModel kullanın kullanarak durumunuzu kaydedebilir ve geri yükleyebilirsiniz.

Durum kalıcılığını test etmek için uygulamanızı bir süre küçültün, başka bir tane başlatın yoğun kaynak kullanan bir işlem olabilir ve uygulamanızı geri yükleyerek bıraktığınız duruma göre değişir.

Tam ekran tuşuna (F4) basarak pencere yeniden boyutlandırmasını, ekranı kaplamayı ve geri yükleme. Ücretsiz yeniden boyutlandırmayı test etmek için önce geliştirici seçeneklerinde bu özelliği 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 kontrol etmek için dizüstü bilgisayardan tablet moduna geçin. ve her şeyin beklendiği gibi çalışıp çalışmadığını kontrol eder. Şu işlem için cihazı tablet modunda bir kez döndürün: yön değişikliklerini test edip tekrar dizüstü bilgisayar moduna geçin. Bu adımı tekrarla birkaç kez.

Kullanıcı arayüzü öğelerini ayarlayarak üst çubuğun uygulamanızı bozmadığından emin olun veya konuma dayalı dokunmatik giriş. ChromeOS cihazlar için, uygulamanızın özelliği, durum çubuğu alanına önemli bilgiler yerleştirmez.

Kamerayı veya kalem gibi başka bir donanım özelliğini kullanıyorsanız pencere ve cihaz değişiklikleri yapılırken düzgün davrandığından emin olmak gözden geçireceğiz.