OTA güncellemeleri

Glass Enterprise, kutudan çıktığı üzere Havadan (OTA) güncellemeleri gerçekleştirmek için gerekli donanıma sahip değildir. Ancak, temel OTA güncellemelerini yapılandırmanız mümkündür. EE2 OTA güncellemeleri işlevi, cihaz sahibine Hava Yolu (OTA) güncellemelerinin tam kontrolünü aşağıdaki şekilde verir:

  • Güncellemenin depolandığı yeri kontrol etmek için.
  • Güncellemenin ne zaman gerçekleşeceğini kontrol etmek için.
  • Güncelleme hedeflerinin oluşturulmasını kontrol etmek için kullanılır.

Yapılandırma

EE2 cihazlarında OTA güncellemelerine izin vermek için sunucu tarafı ve istemci taraflı yapılandırmalar gerekir.

Sunucu tarafı yapılandırma

OTA güncelleme dosyasını, ağınızda erişilebilir olan bir sunucuda indirilecek şekilde barındırmanız gerekir. Güncelleme dosyası Sistem resimleri sayfasından indirilmelidir.

Ayrıca, güncelleme akışını yönlendiren bir JSON dosyası barındırmanız gerekir. Yalnızca updater sample.json örneği olarak biçimlendirilmesi gerekir. Dosya; yük boyutu, ikili program uzunluğu ve OTA ikili programlarını kabul etmek için güncelleme motorunun ihtiyaç duyduğu diğer meta veriler gibi bilgileri içerir.

İstemci tarafı yapılandırma

Bir cihazın OTA güncellemelerini kontrol edebilmesi için OTA URL'sini ve anket aralığını ayarlamanız gerekir. Bunları kuran bir etkinlik başlatmak için niyet kullanabilirsiniz. Etkinliğin adı: com.google.android.glass.otaservice/.OtaSettingsActivity.

Desteklenen 2 işlem vardır:

  • com.google.android.glass.otaservice.UPDATE_LOCATION_ACTION
    • Arka plan programının sorgulayıp incelediği JSON meta veri dosyasının URL'si.
    • Şu anahtarı içeren bir dize ekleyin: com.google.android.glass.otaservice.UPDATE_LOCATION
  • com.google.android.glass.otaservice.UPDATE_FREQUENCY_ACTION
    • OTA arka plan programının milisaniye cinsinden ankete uyanma aralığı.
    • Şu anahtarı kullanarak bir sayı ekleyin: com.google.android.glass.otaservice.UPDATE_FREQUENCY
    • Aynı zamanda bu özellik, çalışmıyorken de bir OTA kontrolü başlatır.
    • 900.000 milisaniyeden büyük bir sayı gereklidir
    • OTA devam ediyorsa mevcut kontrol tamamlandıktan sonra sıklık aralığı güncellenir. Bu gereklidir, aksi takdirde Android Doz hizmeti kesintiye uğratabilir.

Amaç, bir startActivityForResult tarafından gönderilebilir. onActivityResult geri çağırmaya, başarılı RESULT_OK veya başarısız olursa RESULT_CANCELLED ile yanıt gönderilir. Daha sonra, sorun giderme amacıyla cihaz günlüklerine bir mesaj gönderilir.

Amaç, adb komutları tarafından da aşağıdaki gibi gönderilebilir:

adb shell am start \
-a com.google.android.glass.otaservice.UPDATE_LOCATION_ACTION \
--es com.google.android.glass.otaservice.UPDATE_LOCATION "some_URL_for_json_file" \
-n com.google.android.glass.otaservice/.OtaSettingsActivity
adb shell am start \
-a com.google.android.glass.otaservice.UPDATE_FREQUENCY_ACTION \
--el com.google.android.glass.otaservice.UPDATE_FREQUENCY 1800000 \
-n com.google.android.glass.otaservice/.OtaSettingsActivity

OTA arka plan programı, sıklık ayarına bağlı olarak 15 dakikada bir veya daha uzun süreyle JobService olarak çalışır. JobService başlatma sırasında çalışır ve güncellenen bir yük kabul edilip doğrulanana kadar çalışmaya devam eder.

Arka plan hizmeti yalnızca kablosuz ağ ve internet bağlantısı varsa anket yapar. Ancak, kablosuz bağlantının internet erişimi olması gerekmez, yalnızca LAN olması yeterlidir.

Tüm işlemler arka planda gerçekleşir. İşleme sırasında kullanıcı girişi gerekmez. Bildirim çekmecesinde bir bildirim gösterilir ve bir sonraki yeniden başlatma gerçekleştiğinde işletim sistemi otomatik olarak güncellenir.

Güncelleme Adımları

OTA güncellemelerini test etmek için şu adımları uygulayın:

  1. Mevcut güncellemeyle cihazı indirip manuel olarak ateşleyin.
  2. Glass Ayarları cihaz Bilgileri kartı şu şekilde görünmelidir: geçerli güncelleme.
  3. Kablosuz ağa bağlanın.
  4. Bir sonraki güncellemeye geçmek için json dosyanızı işaret eden adb komutları çalıştırın:

    adb shell am start \
    -a com.google.android.glass.otaservice.UPDATE_LOCATION_ACTION \
    --es com.google.android.glass.otaservice.UPDATE_LOCATION "your_json_file_location" \
    -n com.google.android.glass.otaservice/.OtaSettingsActivity
    adb shell am start \
    -a com.google.android.glass.otaservice.UPDATE_FREQUENCY_ACTION \
    --el com.google.android.glass.otaservice.UPDATE_FREQUENCY 900000 \
    -n com.google.android.glass.otaservice/.OtaSettingsActivity
  5. OTA ile ilgili devam eden bildirim görünür
  6. OTA bildirimi kayboluyor
  7. Bir sonraki manuel cihaz önyüklemesinde, cihaz güncellenmiş olmalı ve Glass Ayarları cihaz bilgi kartı gösterilmelidir: yeni güncelleme

Akış güncelleme

OTA güncellemesinin gerçekleştirildiği standart işlem şöyledir:

  1. Başlatıldığında OTA arka plan programı, ilk çalıştırmayı belirtilen aralığa göre belirler. Herhangi bir zaman aralığı sağlanmamışsa varsayılan süre 15 dakikadır.
  2. Arka plan programı, meta veri dosyasını indirmek için web sunucusunu yoklar. Herhangi bir URL sağlanmazsa arka plan programdan çıkar ve bir sonraki yürütme aralığına kadar bekler.
  3. Arka plan programı, uygun işaretlerin ayarlandığından emin olmak için meta veri dosyasında ön denetimler gerçekleştirir. Bir hata varsa arka plan programı açılır ve çıkış, günlüklere yazdırılır. Arka plan programı, daha sonra planlanan bir sonraki yürütmeye kadar bekler.
  4. Arka plan programı, JSON dosyasındaki girişleri, cihazda çalıştırılan mevcut derlemeden alınan girişlerle karşılaştırır. Bu girişlerden herhangi birinde uyuşmazlık tespit edilirse OTA indirme işlemi başlar. Meta veri dosyasındaki içerik AOSP güncelleme motoruna iletilir.

    Güncelleme duraklatılamaz. Başarılı olana, başarısız olana veya bir zaman aşımı oluşana kadar devam eder.

  5. Arka plan programı, arka planda OTA paketini otomatik olarak indirir.
  6. OTA paketi indirilip başarıyla doğrulandıysa arka plan programı, yeni güncellemeler için anket yapmayı durdurur. Yeniden başlatma sonrasında güncelleme aslında geçerli olur. Bir sonraki yeniden başlatma sonrasında, güncellemenin uygulanacağını kullanıcıya bildiren bir bildirim görünür.
  7. OTA indirme işlemi başarısız olursa arka plan programı, belirtilen aralık tekrar geçtikten sonra web sunucusunu yoklar.

Uygulama güncellemeleri

EE2'deki uygulama güncellemeleri, standart Android güncellemeleri olarak işlenmelidir. İki temel seçenek vardır:

  1. Bir MDM çözümü kullanın veya kendi cihaz sahibi uygulamanızı oluşturup uygulamayı sessizce güncelleyin. Bunun için Android API PackageInstaller aracını kullanabilirsiniz.
  2. Kendisini güncellemek için doğrudan uygulamanızdan Android API PackageInstaller aracını kullanın. Bu durumda bir sistem iletişim kutusu görünür.