Установчий файл AIR створюється як для SWF, так і для HTML-додатки AIR за допомогою засобу AIR Developer Tool (ADT). (Якщо для створення додатка використовується Adobe Flash CS3, то для складання пакета можна використовувати команду «Створити файл AIR» в меню «Команди». Додаткову інформацію див. В розділі Оновлення Adobe AIR для Flash CS3 Professional. Відомості про використання Flash CS4 для створення додатків AIR см. в розділі Публікація в Adobe AIR керівництва з використання Adobe Flash.)
ADT - це Java-додаток, яке можна запускати з командного рядка або кошти збірки, наприклад Ant. Комплекти AIR і Flex SDK містять сценарії командного рядка, що виконують за вас програми Java.
Упаковка інсталяційний файл AIR
Кожна програма AIR має як мінімум мати файл дескриптора і основний SWF- або HTML-файл. Решта встановлені ресурси також необхідно упаковувати в файл AIR.
Всі файли AIR необхідно підписувати цифровим сертифікатом. Програма установки AIR використовує підпис для гарантії того, що файл програми не змінювався з моменту підписання. Можна використовувати сертифікат для підписання коду, виданий уповноваженим центром сертифікації, або застосовувати самозаверяющій сертифікат. Сертифікат, виданий сертифікуючим органом, викличе у користувачів більшу довіру до вас як до видавця. Самозаверяющій сертифікат не можна використовувати для вказівки себе в якості особи, яка підписала. Цей недолік також підвищує ризик того, що файл міг бути змінений після підписання, тому що справжній інсталяційний файл міг бути заміщений підробленим, перш ніж потрапити до користувача).
Файл AIR можна упакувати і підписати в один етап за допомогою команди -package кошти ADT. Також можна створити проміжний, непідписаний пакет за допомогою команди -prepare і окремо підписати проміжний пакет за допомогою команди -sign.
При підписанні установчого пакета ADT автоматично пов'язується з сервером органу, що проставив тимчасову позначку, для її перевірки. Інформація про тимчасову позначці включена в файл AIR. Файл AIR, що містить перевірену тимчасову позначку, в майбутньому може бути встановлений в будь-який момент. Якщо засіб ADT не може зв'язатися з сервером тимчасових відміток, упаковка не проводиться. Цю функцію можна скасувати, але без тимчасової позначки додаток AIR можна буде встановити після того, як закінчиться термін дії сертифіката підпису.
Якщо ви створюєте пакет для поновлення наявної програми AIR, його необхідно підписати тим же сертифікатом, що і оригінальний додаток, або сертифікатом з тими ж ідентифікаційними даними. Для цього у двох сертифікатів повинно бути одне і те ж відмітна ім'я (т. Е. Все інформаційні поля повинні збігатися) і одна і та ж ланцюжок сертифікатів, що веде до основного. Таким чином, сертифікат, продовжений сертифікуючим органом, може використовуватися, поки не будуть змінені ідентифікаційні дані.
Починаючи з AIR 1.1, можна переносити програму за допомогою команди -migrate. Для перенесення сертифіката потрібно файл AIR зі старим і новим сертифікатами. Перенесення сертифіката дозволяє замінити самозаверяющій сертифікат на комерційний сертифікат підпису коду або замінити один самозаверяющій сертифікат на інший. При перенесенні сертифіката існуючим користувачам не доведеться видаляти додаток, перш ніж встановлювати нову версію. За замовчуванням підписи перенесення забезпечуються тимчасовими позначками.
Примітка. Параметри у файлі дескриптора визначають ідентифікаційні дані додатки AIR і шлях установки за замовчуванням. Див. Розділ Структура файлу дескриптора додатка.
Упаковка і підпис файлу AIR в один етап
Використовуйте команду -package з наступним синтаксисом (в єдиній командному рядку):
SIGNING_OPTIONS. Параметри підпису визначають сховище ключів, в якому містяться закритий ключ і сертифікат підпису файлу AIR. Для підпису додатка AIR самозаверяющім сертифікатом, створеним ADT, використовуйте наступні параметри:
У цьому прикладі certificate.p12 - це ім'я файлу-сховища ключів. (Так як пароль не включається в командний рядок, ADT запитує його.) Способи підписи описані в розділі Способи підписи командного рядка за допомогою ADT.
air_file - ім'я створюваного файлу AIR.
app_xml - шлях до файлу дескриптора додатка. Можна задати абсолютний шлях або шлях щодо поточної директорії. (Файл дескриптора додатка перейменовується в файлі AIR в application.xml.)
file_or_dir - файли і каталоги для упаковки в файл AIR. Можна задати будь-яку кількість файлів і каталогів, розділивши їх пропуском. Якщо вказати каталог, то всі файли і підкаталоги в ньому, крім прихованих, будуть додані в пакет. (Крім того, якщо заданий файл дескриптора додатка - безпосередньо, за допомогою знака підстановки або підстановки каталогів, - він ігнорується і не додається в пакет повторно.) Задані файли і каталоги повинні бути в поточному каталозі або одному з його підкаталогів. Використовуйте параметр -C для зміни поточного каталогу.
Важлива інформація. Знаки підстановки не можна використовувати в аргументах file_or_dir. наступних за - C. (Перед передачею аргументів ADT командні оболонки підставляють значення замість всіх знаків підстановки, тому ADT буде шукати файли не в тому місці.) Проте для позначення поточного каталогу і раніше можна використовувати знак точки «.». Наприклад, команда "-C assets." Копіює все з каталогу assets, включаючи підкаталоги, в кореневій каталог пакета програми.
-C dir змінює робочий каталог на dir. перш ніж обробляти наступні файли і каталоги, додані в пакет програми. Файли або каталоги додаються в кореневій каталог пакета програми. Параметр - C можна використовувати багаторазово для додавання файлів з різних точок файлової системи. Якщо для dir заданий відносний шлях, за основу завжди береться робочий каталог.
В процесі обробки файлів і каталогів пакета засобом ADT зберігаються відносні шляхи від поточного каталогу до цільових файлів. При установці пакета ці шляхи підставляються в структуру каталогів додатки. Таким чином, параметр -C release / bin lib / feature.swf помістить файл release / bin / lib / feature.swf в підкаталог lib кореневої папки у програмі.
-e file dir поміщає вказаний файл в певний каталог пакета.
Примітка. елемент
приклади ADT
Упакуйте файли програми в поточному каталозі:
Упакуйте всі файли і підкаталоги в поточному робочому каталозі:
Примітка. Файл-сховище ключів містить закритий ключ, яким підписано додаток. Ні в якому разі не упаковуйте сертифікат підпису в пакет AIR! Якщо в командах ADT використовуються знаки підстановки, помістіть файл-сховище ключів в іншу папку, щоб він не потрапив в пакет. У цьому прикладі файл-сховище ключів cert.p12 знаходиться в батьківському каталозі.
Включайте в пакет тільки основні файли і підкаталог images:
Включайте в пакет файл application.xml і основний SWF-файл в робочому каталозі (release / bin):
Включайте в пакет ресурси більш ніж з одного місця в файлової системі збірки. У цьому прикладі ресурси програми до упаковки знаходяться в наступних папках:
Виконання команди ADT з каталогу / devRoot / myApp:
створює наступну структуру пакета:
Запустіть ADT як програму Java (без вказівки шляху до класу):
Запустіть ADT як програму Java (шлях до класу Java повинен включати пакет ADT.jar):
Повідомлення про помилки ADT
У наступних таблицях перераховані можливі помилки, які можуть реєструватися програмою ADT, і їх можливі причини:
Помилки при перевірці дескриптора додатка
Способи підписи командного рядка за допомогою ADT
ADT використовує криптографічний архітектуру Java (JCA) для доступу до закритих ключів і сертифікатами підпису додатків AIR. Параметри підпису дозволяють визначити сховище ключів, а також закритий ключ і сертифікат всередині нього.
У сховищі ключів повинні бути закритий ключ і пов'язана з ним ланцюжок сертифікатів. Ланцюжок сертифікатів використовується для визначення ID видавця програми. Якщо сертифікат підпису веде до надійного сертифікату на комп'ютері, загальне ім'я сертифіката виводиться в якості імені видавця в діалоговому вікні установки AIR.
ADT вимагає, щоб сертифікат відповідав стандарту x509v3 (RFC3280) і включав розширення Extended Key Usage з відповідними значеннями для підписання коду. Обмеження сертифіката дотримуються, тому деякі сертифікати можуть не підійти для підпису додатків AIR.
Примітка. Коли можливо, ADT використовує параметри проксі середовища виконання Java для підключення до інтернет-ресурсів, що необхідно для перевірки відкликаних сертифікатів та отримання тимчасових відміток. Якщо при використанні ADT у вас виникають проблеми з інтернет-підключенням, а мережеві параметри повинні включати особливі настройки проксі, можливо, слід змінити конфігурацію проксі робочого середовища Java.
Вказівка параметрів підпису AIR
Щоб визначити установки підписи ADT для команд -package і -prepare використовуйте наступний синтаксис:
-alias aliasName - псевдонім ключа в сховище. Ім'я користувача необов'язковий, якщо в сховище всього один сертифікат. Якщо псевдонім не заданий, ADT просто використовує перший ключ.
Не всі програми управління сховищами ключів дозволяють давати сертифікатами псевдоніми. Наприклад, в системному сховище ключів Windows як псевдонім потрібно використовувати відмітне ім'я сертифіката. Для виведення списку доступних сертифікатів можна використовувати утиліту Java Keytool, щоб легше було визначити псевдонім. Наприклад, виконання команди:
виводить наступну інформацію про сертифікати:
Для посилання на цей сертифікат з командного рядка ADT задайте наступний псевдонім:
У Mac OS X псевдонімом сертифіката в ланцюжку ключів (Keychain) є ім'я, що відображається в додатку Keychain Access.
-storetype type - тип сховища, заданий його реалізацією. Реалізація сховища за замовчуванням, що включається в середовища Java, підтримує типи JKS і PKCS12 types. Java 5.0 підтримує і тип PKCS11 для доступу до апаратних маркерами, і тип Keychain для доступу до ланцюжка ключів Mac OS X. Java 6.0 підтримує тип MSCAPI (в Windows). Якщо встановлені і налаштовані інші постачальники JCA, можуть бути доступні і інші типи сховищ ключів. Якщо тип сховища ключів не заданий, то за замовчуванням використовується тип постачальника JCA.
-keystore path - шлях до файлу-сховища ключів, якщо сховище є файлом.
-storepass password1 - пароль для доступу до сховища ключів. Якщо не заданий, ADT запросить пароль.
-keypass password2 - пароль для доступу до закритого ключа, яким підписано додаток AIR. Якщо не заданий, ADT запросить пароль.
-providerName className - постачальник JCA для певного типу сховища ключів. Якщо не заданий, ADT використовує постачальника за замовчуванням для цього типу сховища.
Якщо ADT не може підключитися до сервера видачі тимчасових відміток, підпис не виконується і пакет не формується. Для скасування тимчасових відміток вкажіть - tsa none. Однак додаток AIR, упаковане без тимчасової позначки, не можна буде встановити після закінчення терміну дії сертифіката.
Примітка. Параметри підпису схожі з тим же параметрами утиліти Java Keytool. Утиліту Keytool можна використовувати для вивчення і управління сховищами ключів в Windows. У Mac OS X для цієї мети використовується утиліта безпеки Apple®.
Приклади параметрів підпису
Підпис за допомогою файлу .p12:
Підпис за допомогою файлу Java keystore за замовчуванням:
Підпис за допомогою заданого файлу Java keystore:
Підпис за допомогою файлу ланцюжка ключів Mac OS X:
Підпис за допомогою файлу системного сховища ключів Windows:
Підпис за допомогою апаратного маркера (див. Інструкції виробника маркера, щоб налаштувати конфігурацію Java для використання маркера і отримання вірного значення providerName):
Підпис без включення тимчасової позначки:
Створення непідписаного проміжного файлу AIR за допомогою ADT
За допомогою команди -prepare можна створити непідписаний проміжний файл AIR. Проміжний файл AIR повинен бути підписаний командної ADT -sign. щоб вийшов дійсний файл установки AIR.
Команда -prepare приймає ті ж настройки і параметри, що і команда -package (крім параметрів підпису). Єдина різниця в тому, що отримується файл не підписується. Проміжний файл має розширення airi.
Підписати проміжний файл AIR можна за допомогою команди ADT -sign. (Див. Підпис проміжного файлу AIR за допомогою ADT.)
приклад ADT
Підпис проміжного файлу AIR за допомогою ADT
Підписати проміжний файл AIR можна за допомогою команди ADT -sign. Команда sign може використовуватися тільки з проміжними файлами AIR (з розширенням airi). Файл AIR можна підписати повторно.
Підпис файлу AIRI
Використовуйте команду ADT - sign з наступним синтаксисом:
SIGNING_OPTIONS. Параметри підпису визначають закритий ключ і сертифікат підпису файлу AIR. Вони описані в розділі Способи підписи командного рядка за допомогою ADT.
airi_file - шлях до підписаним проміжного файлу AIR, який потрібно підписати.
air_file - ім'я створюваного файлу AIR.
приклад ADT
Додаткову інформацію див. В розділі Використання цифрового підпису може файлів AIR.