Bir masaüstü AIR yükleme dosyasını paketleme

Her AIR uygulaması, en az bir uygulama tanımlayıcı dosyasına ve ana SWF veya HTML dosyasına sahip olmalıdır. Uygulamayla birlikte yüklenmesi gereken diğer varlıklar da AIR dosyasında paketlenmelidir.

Bu makalede SDK bile birlikte gelen komut satırı araçları kullanılarak AIR uygulamasını paketleme anlatılır. Adobe geliştirme araçlarından birini kullanarak bir uygulamayı paketlemeyle ilgili bilgi için aşağıdakilere bakın:

Tüm AIR yükleyici dosyaları dijital sertifika kullanılarak imzalanmalıdır. AIR yükleyici, imzayı, uygulama dosyanızda siz imzaladıktan sonra değişiklik yapılmadığını doğrulamak için kullanır. Bir sertifika yetkilisinden kod imzalayıcı sertifika veya kendinden imzalı bir sertifika kullanabilirsiniz.

Güvenilen bir sertifika yetkilisi tarafından yayımlanan bir sertifika kullandığınızda, uygulamanızın kullanıcılarına yayıncı kimliğinize ilişkin bir güvence sağlarsınız. Yükleme iletişim kutusu, kimliğinizin sertifika yetkisiyle doğrulandığı gerçeğini yansıtır:

Güvenilir bir sertifikayla imzalanan uygulama için yükleme onayı iletişim kutusu

Kendinden imzalı bir sertifika kullandığınızda, kullanıcılar imzalayan olarak kimliğinizi doğrulayamaz. Ayrıca, kendinden imzalı bir sertifika paketin değişmediği güvencesini bozar. (Bunun sebebi, yasal bir yükleme dosyasının kullanıcıya ulaşmadan önce sahte bir imza ile değiştirilebilmesidir) Yükleme iletişim kutusu yayıncının kimliğinin doğrulanamadığını yansıtır. Kullanıcılar uygulamanızı yüklerken daha büyük bir güvenlik riski alır.

Kendinden imzalı bir uygulama için yükleme onayı iletişim kutusu

ADT -package komutunu kullanarak bir AIR dosyasını tek adımda paketleyebilir ve imzalayabilirsiniz. Ayrıca -prepare komutuyla ara, imzalanmamış bir paket oluşturabilirsiniz ve ara paketi ayrı bir adımda -sign komutuyla imzalayabilirsiniz.

Not: 1.5 ve üstü Java sürümleri, PKCS12 sertifika dosyalarını korumak için kullanılan şifrelerde yüksek ASCII karakterlerini kabul etmez. Kod imzalama sertifikanızı oluşturduğunuzda veya dışa aktardığınızda, şifrede yalnızca normal ASCII karakterleri kullanın.

Yükleme paketini imzalarken, ADT, zamanı doğrulamak için otomatik olarak bir zaman damgası yetkili sunucusuna başvurur. Zaman damgası bilgileri AIR dosyasında bulunmaktadır. Doğrulanmış bir zaman damgası içeren AIR dosyası, ileride herhangi bir zamanda yüklenebilir. ADT zaman damgası sunucusuna ulaşamazsa, paketleme iptal edilir. Zaman damgalama seçeneğini geçersiz kılabilirsiniz, ancak zaman damgası olmadan, yükleme dosyasını imzalamak için kullanılan sertifikanın süresi dolduktan sonra artık AIR uygulaması yüklenemez.

Mevcut bir AIR uygulamasını güncellemek için bir paket hazırlıyorsanız, paket orijinal uygulamayla aynı sertifika ile imzalı olmalıdır. Orijinal sertifika yenilendiyse, sertifikanın süresi son 180 gün içinde dolduysa veya yeni bir sertifikaya geçmek istiyorsanız, bir geçiş imzası uygulayabilirsiniz. Bir geçiş imzası uygulama AIR dosyasının hem yeni hem de eski sertifikayla imzalanmasını içerir. ADT migrate komutu bölümünde açıklandığı gibi geçiş imzasını uygulamak için -migrate komutunu kullanın.

Önemli: Orijinal sertifikanın süresi dolduktan sonra bir geçiş imzası uygulamak için 180 günlük katı bir yetkisiz kullanım süresi vardır. Bir geçiş imzası olmadan, mevcut kullanıcıların yeni sürümünüzü yüklemeden önce mevcut olan uygulamayı kaldırmaları gerekir. Yetkisiz kullanım süresi yalnızca uygulama açıklayıcısı ad alanında AIR’nin 1.5.3 sürümü veya daha sonrasını belirten uygulamalar için geçerlidir. AIR çalışma zamanının daha eski sürümlerini hedeflerken bir yetkisiz kullanım süresi yoktur.

AIR 1.1’den önce, geçiş imzaları desteklenmiyordu. Geçiş imzası uygulamak için uygulamayı 1.1 veya sonraki sürümlü bir SDK ile paketlemeniz gerekir.

AIR dosyaları kullanılarak dağıtılan uygulamalar masaüstü profil uygulamaları olarak tanınır. Uygulama açıklayıcı dosyası masaüstü profilini desteklemiyorsa, ADT’yi bir AIR uygulaması için yerel bir yükleyiciyi paketlemek için kullanamazsınız. Bu profili uygulama tanımlayıcı dosyasındaki supportedProfiles öğesini kullanarak kısıtlayabilirsiniz. Bkz. Aygıt profilleri ve supportedProfiles .

Not: Uygulama tanımlayıcı dosyasındaki ayarlar, AIR uygulamasının kimliğini ve varsayılan yükleme yolunu belirler. Bkz. AIR uygulama tanımlayıcı dosyaları .

Yayıncı Kimlikleri

AIR 1.5.3’te olduğu gibi, yayıncı kimlikleri kabul edilmez. Yeni uygulamaların (ilk defa AIR 1.5.3 veya sonrasıyla yayınlanan) bir yayıncı kimliğine ihtiyacı yoktur ve yayıncı kimliği belirtmemelidir.

AIR’nin daha önceki sürümleriyle yayınlanan uygulamaları güncellerken, uygulama açıklayıcı dosyasında orijinal yayıncı kimliğini belirtmeniz gerekir. Yoksa, uygulamanızın yüklü olan sürümü ve güncel sürümü farklı uygulamalar olarak kabul edilir. Farklı bir kimlik kullanırsanız veya publisherID etiketini çıkarırsanız, kullanıcının yeni sürümü yüklemeden önce önceki sürümü kaldırması gerekir.

Orijinal yayıncı kimliğini belirlemek için, META-INF/AIR alt dizininde orijinal uygulamanın yüklü olduğu publisherid dosyasını bulun. Bu dosyanın içindeki dize yayıncı kimliğidir. Uygulama açıklayıcınız, yayıncı kimliğinin elle belirtmek için uygulama açıklayıcısı dosyasının ad alanı bildiriminde AIR 1.5.3 çalışma zamanını (veya sonrasını) belirtmelidir.

AIR 1.5.3’ten önce yayınlanan uygulamalarda - veya uygulama açıklayıcı ad alanında AIR’nin daha eski bir sürümünü belirten ve AIR 1.5.3 SDK ile yayınlananlarda- imza sertifikasına dayanılarak bir yayıncı kimliği belirlenir. Bu kimlik, uygulama kimliğiyle beraber, uygulamanın kimliğinin belirlenmesi için kullanılır. Yayıncı kimliği mevcut olduğunda, aşağıdaki amaçlar için kullanılır:

  • Bir AIR dosyasının yüklenecek yeni bir uygulamanın yerine bir güncelleme olduğunu doğrulama

  • Şifrelenmiş yerel veri deposuna ilişkin şifreleme anahtarının bir parçası olarak

  • Uygulama depolama dizinine ilişkin yolun bir parçası olarak

  • Yerel bağlantılara ilişkin bağlantı dizesinin bir parçası olarak

  • Bir uygulamanın çağrılması için AIR tarayıcı içi API'si ile kullanılan kimlik dizesinin bir parçası olarak

  • OSID'nin bir parçası olarak (özel yükleme/kaldırma programları oluşturulurken kullanılır)

AIR 1.5.3’ten önce, uygulamanın yayıncı kimliği bir uygulama güncellemesini yeni veya yenilenmiş bir sertifika kullanarak geçiş imzasıyla imzalamanız durumunda değişebiliyordu. Bir yayıncı kimliği değiştiğinde, kimliğe bağlı herhangi bir AIR özelliğinin davranışı da değişir. Örneğin, mevcut şifrelenmiş yerel veri deposundaki verilere artık erişilemez ve uygulamaya yerel bağlantı oluşturan Flash veya AIR örnekleri, bağlantı dizesindeki yeni kimliği kullanmalıdır.

AIR 1.5.3 veya sonrasında, yayıncı kimliği imzalama sertifikasını temel almaz ve yalnızca publisherID etiketi uygulama açıklayıcısına dahilse atanır. Güncelleme AIR paketi için belirtilen yayıncı kimliği, geçerli yayıncı kimliğiyle eşleşmiyorsa uygulama güncellenemez.

ADT ile paketleme

Bir AIR uygulamasını paketlemek için AIR ADT komut satırı aracını kullanabilirsiniz. Paketlemeden önce tüm ActionScript, MXML ve uzantı kodları derlenmelidir. Ayrıca, bir kod imzalama sertifikanızın olması gerekir.

ADT komutları ve seçenekleriyle ilgili ayrıntılı bir başvuru için bkz. AIR Geliştirici Aracı (ADT) .

AIR paketi oluşturma

Bir AIR paketi oluşturmak üzere sürüm yapıları için hedef türünü air olarak ayarlayarak ADT package komutunu kullanın.

adt -package -target air -storetype pkcs12 -keystore ../codesign.p12 myApp.air myApp-app.xml myApp.swf icons

Örnek, ADT aracının yolunun komut satırı kabuğunuzun yol tanımında olduğunu varsayar. (Yardım için bkz. Path ortam değişkenleri .)

Komutu uygulama dosyalarını içeren dizinden çalıştırmalısınız. Örnekteki uygulama dosyaları myApp-app.xml (uygulama tanımlayıcı dosyası), myApp.swf ve bir simgeler dizinidir.

Komutu gösterildiği şekilde çalıştırdığınızda ADT sizden anahtar deposu şifresini ister. (Yazdığınız şifre karakterleri her zaman görüntülenmez; yazmanız bittiğinde Enter tuşuna basın.)

AIRI dosyasından AIR paketi oluşturma

Yüklenebilir bir AIR paketi oluşturmak için bir AIRI dosyası oluşturabilirsiniz.

adt -sign -storetype pkcs12 -keystore ../codesign.p12 myApp.airi myApp.air