1 Vytváření aplikací prostředí ADOBE AIR2 Právní upozornění Právní upozornění Právní upozornění viz3 iii Obsah Kapitola 1: O prostředí Adobe AIR Kapit...
Kapitola 6: Vývoj aplikací AIR pro stolní počítače Pracovní postup pro vývoj aplikací AIR pro stolní počítače Nastavení vlastností aplikace pro stolní počítače Ladění aplikace AIR pro stolní počítač.
Pracovní postup vytváření aplikací AIR pro mobilní zařízení Nastavení vlastností mobilní aplikace Zabalení mobilní aplikace AIR Ladění mobilní aplikace AIR
Pracovní postup pro vývoj aplikace pro platformu AIR for TV Vlastnosti deskriptoru aplikace AIR for TV Zabalení aplikace AIR pro televizi Ladění aplikací AIR pro televizi
Kapitola 1: O prostředí Adobe AIR Prostředí Adobe® AIR® je víceobrazovkový běhový modul pro více operačních systémů, pomocí něhož můžete využít své stávající znalosti v oblasti vyvíjení webů při vytváření a zavádění aplikací RIA (Rich Internet Applications) do počítačů a mobilních zařízení. Aplikace AIR pro stolní počítače, televizory a mobilní zařízení lze vytvářet v jazyce ActionScript 3.0 pomocí prostředí Adobe® Flex a aplikace Adobe® Flash® (na základě souboru SWF). Aplikace AIR pro stolní počítače lze také vytvářet v jazyce HTML, JavaScript® a Ajax (který je založen na kódu HTML). Další informace o začátcích a používání prostředí Adobe AIR naleznete na stránkách Adobe AIR Developer Connection (http://www.adobe.com/devnet/air/). Prostředí AIR vám umožňuje pracovat ve známém prostředí a používat nástroje a postupy, které považujete za nejvhodnější. Díky podpoře aplikací a jazyků Flash, Flex, HTML, JavaScript a Ajax můžete vytvářet ty nejlepší možné zážitky splňující vaše potřeby. Při vývoji aplikací je například možné využít některou z následujících technologií nebo jejich kombinaci:
• Flash / Flex / ActionScript • HTML / JavaScript / CSS / Ajax Pro uživatele je interakce s aplikacemi AIR stejná jako s nativními aplikacemi. Běhový modul se jednou nainstaluje v počítači nebo zařízení uživatele a aplikace AIR se pak instalují a spouští stejně jako kterákoliv jiná počítačová aplikace. (V systému iOS se samostatný běhový modul AIR neinstaluje – každá aplikace AIR pro systém iOS je soběstačná.) Běhový modul poskytuje jednotnou platformu nezávislou na operačním systému a pevný rámec pro zavádění aplikací, takže eliminuje testování napříč prohlížeči, neboť zajišťuje jednotnou funkčnost a stejné interakce mezi různými počítači. Místo toho, aby se aplikace vyvíjela pro určitý operační systém, zaměří se běhový modul, což přináší následující výhody:
• Aplikace vyvinuté pro aplikaci AIR lze spouštět v různých operačních systémech, aniž by to pro vývojáře znamenalo další práci. Běhový modul zajišťuje jednotnou prezentaci dat a předvídatelné interakce napříč všemi operačními systémy, které aplikace AIR podporuje.
• Aplikace můžete vytvářet rychleji pomocí stávajících webových technologií a vzorků návrhů. Působnost webových aplikací můžete rozšířit i na stolní počítače, aniž byste se museli učit tradiční technologie vývoje aplikací pro stolní počítače nebo složitý nativní kód.
• Vyvíjení aplikací je jednodušší než při použití jazyků nižší úrovně, například C a C++. Není potřeba spravovat složitá rozhraní API nižší úrovně specifická pro jednotlivé operační systémy. Při vyvíjení aplikací pro aplikaci AIR lze využít pestrou škálu technologií a rozhraní API:
• Rozhraní API specifická pro aplikaci AIR, jež poskytuje běhový modul a technologie AIR • Rozhraní API jazyka ActionScript používaná v souborech SWF a v technologii Flex (jakož i v dalších knihovnách a technologiích založených na jazyce ActionScript)
• HTML, CSS a JavaScript • Většina technologií Ajax • Nativní rozšíření pro prostředí Adobe AIR, která poskytují rozhraní API ActionScript, poskytují přístup k funkcím specifickým pro danou platformu naprogramovaným v nativním kódu. Nativní rozšíření mohou také poskytnout přístup ke staršímu nativnímu kódu a k nativnímu kód, který poskytuje vyšší výkon.
Poslední aktualizace 19.11.2013
2
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR O prostředí Adobe AIR
Aplikace AIR výrazně mění způsob vytváření, zavádění a používání aplikací. Získáte více volnosti pro své kreativní záměry a můžete rozšířit aplikace založené na kódu Flash, Flex, HTML a AJAX pro použití ve stolních počítačích, mobilních zařízeních a televizorech. Informace o obsahu každé nové aktualizace prostředí AIR naleznete v poznámkách k vydání – Adobe AIR Release Notes (http://www.adobe.com/go/learn_air_relnotes_cz).
Poslední aktualizace 19.11.2013
3
Kapitola 2: Instalace prostředí Adobe AIR Běhové prostředí Adobe® AIR® umožňuje spouštět aplikace AIR. Modul runtime můžete nainstalovat následujícími způsoby:
• Samostatnou instalací modulu runtime (aniž byste instalovali i některou aplikaci AIR) • První instalací aplikace AIR prostřednictvím webového instalačního „symbolu“ (budete také vyzváni k instalaci běhového modulu).
• Vytvořením vlastního instalačního programu, který nainstaluje aplikace i běhové prostředí. K distribuci běhového prostředí AIR tímto způsobem musíte získat schválení od společnosti Adobe. O schválení můžete požádat na stránce Licencování běhových prostředí Adobe. Upozorňujeme, že společnost Adobe neposkytuje nástroje pro tvorbu takového instalačního programu. K dispozici je však mnoho sad nástrojů pro instalační programy jiných výrobců.
• Instalací aplikace AIR, která zabalí prostředí AIR jako kaptivní běhového prostředí. Kaptivní běhové prostředí se používá v balených aplikacích. Neslouží ke spouštění jiných aplikací AIR. Zabalení běhového prostředí je možné v systémech Mac a Windows. V systému iOS mají všechny aplikace přibalený běhový modul. Od verze AIR 3.7 mají ve výchozím nastavení všechny aplikace pro Android přibalený běhový modul (ale můžete použít samostatný běhový modul).
• Instalací některého vývojového prostředí AIR, například AIR SDK, Adobe® Flash® Builder™ nebo Adobe Flex® SDK (které zahrnuje vývojové nástroje příkazového řádku aplikace AIR). Běhový modul obsažený v sadě SDK se používá pouze při ladění aplikací – nepoužívá se ke spuštění nainstalovaných aplikací AIR. Podrobné systémové požadavky pro instalaci a spuštění prostředí AIR naleznete zde: Adobe AIR: Systémové požadavky (http://www.adobe.com/cz/products/air/systemreqs/). Instalátor běhového modulu i instalátor aplikace AIR vytváří soubory protokolu při instalaci, aktualizaci nebo odstraňování aplikací AIR nebo samotného běhového modulu AIR. Nastanou-li během instalace nějaké potíže, tyto protokoly vám pomohou stanovit příčinu. Viz Installation logs (Instalační protokoly).
Instalace prostředí Adobe AIR Aby mohl uživatel nainstalovat nebo aktualizovat běhový modul, musí mít k počítači oprávnění správce. Instalace běhového modulu v počítači s operačním systémem Windows 1 Stáhněte instalační soubor běhového modulu z adresy http://get.adobe.com/air. 2 Poklepejte na instalační soubor modulu runtime. 3 Instalaci dokončete podle výzev v instalačním okně.
Instalace modulu runtime v počítači Macintosh 1 Stáhněte instalační soubor běhového modulu z adresy http://get.adobe.com/air. 2 Poklepejte na instalační soubor modulu runtime. 3 Instalaci dokončete podle výzev v instalačním okně. 4 Pokud se v instalačním programu zobrazí okno Authenticate (Ověřit), zadejte jméno uživatele operačního systému
Mac OS a heslo.
Poslední aktualizace 19.11.2013
4
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Instalace prostředí Adobe AIR
Instalace modulu runtime v počítači s operačním systémem Linux Poznámka: V současnosti nejsou prostředí AIR 2.7 a novější podporována v operačním systému Linux. Aplikace AIR nasazené v systému Linux by měly i nadále používat sadu AIR 2.6 SDK. Pomocí binárního instalačního programu: 1 Vyhledejte binární instalační soubor na webu http://kb2.adobe.com/cps/853/cpsid_85304.html a stáhněte jej. 2 Nastavte oprávnění souboru tak, aby bylo možné spustit instalační program. V příkazovém řádku můžete nastavit
oprávnění souboru pomocí: chmod +x AdobeAIRInstaller.bin
Některé verze systému Linux umožňují nastavovat oprávnění souborů v dialogovém okně vlastností, které lze otevřít z kontextové nabídky. 3 Instalační program spustíte z příkazového řádku nebo poklepáním na instalační soubor modulu runtime. 4 Instalaci dokončete podle výzev v instalačním okně.
Prostředí Adobe AIR se nainstaluje jako nativní balík. Jinými slovy jako rpm v distribuci na základě rpm a deb v distribuci Debian. Prostředí AIR v současnosti nepodporuje žádný jiný formát balíku. Pomocí instalačních programů balíků: 1 Vyhledejte soubor balíčku AIR na webu http://kb2.adobe.com/cps/853/cpsid_85304.html. Podle toho, který formát
balíčku váš systém podporuje, stáhněte balíček rpm nebo Debian. 2 V případě potřeby poklepejte na soubor balíku prostředí AIR, čímž balík nainstalujete.
Instalaci lze také provést z příkazového řádku: a V systému Debian: sudo dpkg -i <path to the package>/adobeair-2.0.0.xxxxx.deb
b V systému na základě rpm: sudo rpm -i <path to the package>/adobeair-2.0.0-xxxxx.i386.rpm
Nebo při aktualizaci stávající verze (AIR 1.5.3 nebo novější): sudo rpm -U <path to the package>/adobeair-2.0.0-xxxxx.i386.rpm
Instalace aplikací AIR 2 a AIR vyžaduje oprávnění správce v počítači. Prostředí Adobe AIR se nainstaluje do následujícího umístění: /opt/Adobe AIR/Versions/1.0 Prostředí AIR zaregistruje typ mime „application/vnd.adobe.air-application-installer-package+zip“, což znamená, že soubory .air jsou tohoto typu mime a jsou tak zaregistrovány v běhovém modulu prostředí AIR. Instalace běhového modulu v zařízení Android Nejnovější verzi běhového modulu AIR lze nainstalovat z webu Android Market. Vývojové verze běhového modulu AIR můžete nainstalovat pomocí odkazu na webové stránce nebo pomocí příkazu -installRuntime nástroje ADT. Najednou lze nainstalovat pouze jednu verzi běhového modulu AIR; není možné mít nainstalovanou verzi k vydání i vývojovou verzi. Další informace viz „Příkaz installRuntime nástroje ADT“ na stránce 173. Instalace běhového modulu v zařízení iOS Potřebný kód běhového modulu AIR je součástí každé aplikace vytvořené pro zařízení iPhone, iTouch a iPad. Nebudete instalovat samostatnou běhovou komponentu.
Poslední aktualizace 19.11.2013
5
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Instalace prostředí Adobe AIR
Další témata Nápovědy „Prostředí AIR pro systém iOS“ na stránce 68
Odebrání prostředí Adobe AIR Nainstalovaný modul runtime prostředí AIR můžete odebrat následujícími postupy. Odebrání modulu runtime z počítače s operačním systémem Windows 1 V nabídce Start operačního systému Windows vyberte položku Nastavení > Ovládací panely. 2 Otevřete ovládací panel Programy, Programy a funkce nebo Přidat nebo odebrat programy (v závislosti na
používané verzi systému Windows). 3 Chcete-li modul runtime odebrat, vyberte položku Adobe AIR. 4 Klepněte na tlačítko Změnit nebo odebrat.
Odebrání modulu runtime z počítače Macintosh • Poklepejte na položku Adobe AIR Uninstaller, která se nachází ve složce /Applications/Utilities. Odebrání modulu runtime z počítače s operačním systémem Linux Proveďte jeden z následujících úkonů:
• Z nabídky aplikací vyberte příkaz „Adobe AIR Uninstaller“. • Spusťte binární instalační program prostředí AIR s volbou -uninstall. • Odeberte pomocí správce balíčků balíčky prostředí AIR (adobeair a adobecerts). Odebrání běhového modulu ze zařízení Android 1 Otevřete aplikaci Settings (Nastavení) v zařízení. 2 Klepněte na položku Adobe AIR v nabídce Applications (Aplikace) > Manage Applications (Správa aplikací). 3 Klepněte na tlačítko Uninstall (Odinstalovat).
Můžete také použít příkaz -uninstallRuntime nástroje ADT: Další informace viz „Příkaz uninstallRuntime nástroje ADT“ na stránce 175. Odstranění svazku běhového prostředí Chcete-li odstranit kaptivní balíček běhového prostředí, je nutné odebrat aplikaci, se kterou je nainstalován. Všimněte si, že kaptivní běhová prostředí se používají pouze ke spuštění instalované aplikace.
Instalace a spuštění ukázkových aplikací AIR Aby mohl uživatel nainstalovat nebo aktualizovat aplikaci AIR, musí mít k počítači oprávnění správce. K dispozici je několik ukázkových aplikací, které slouží k předvádění funkcí prostředí AIR. Pro přístup a instalaci můžete použít následující pokyny: 1 Stáhněte si a spusťte ukázkové aplikace AIR. K dispozici jsou kompilované aplikace i zdrojový kód.
Poslední aktualizace 19.11.2013
6
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Instalace prostředí Adobe AIR
2 Chcete-li stáhnout a spustit ukázkovou aplikaci, klepněte na tlačítko ukázkové aplikace Instalovat. Zobrazí se výzva
k instalaci a spuštění aplikace. 3 Pokud se rozhodnete stáhnout ukázkové aplikace a spouštět je později, vyberte odkazy na stažení. Aplikace AIR
můžete spouštět kdykoli následujícím postupem:
• V operačním systému Windows poklepejte na ikonu aplikace na ploše nebo ji vyberte v nabídce Start. • V operačním systému Mac OS poklepejte na ikonu aplikace, která je ve výchozím nastavení nainstalována ve složce Applications (Aplikace) ve vašem uživatelském adresáři (například Macintosh HD/Users/JoeUser/Applications/). Poznámka: Vyhledejte aktualizace těchto pokynů v poznámkách k vydání prostředí AIR na adrese http://www.adobe.com/go/learn_air_relnotes_cz.
Aktualizace prostředí Adobe AIR Společnost Adobe pravidelně aktualizuje prostředí Adobe AIR novými funkcemi nebo opravami drobných problémů. Pomocí funkce Automatické upozornění a aktualizace může společnost Adobe uživatele automaticky upozornit, že je k dispozici aktualizovaná verze prostředí Adobe AIR. Aktualizace prostředí Adobe AIR zajišťují jeho správnou funkčnost a často obsahují důležité změny v zabezpečení. Společnost Adobe uživatelům doporučuje, aby aktualizovali prostředí Adobe AIR na nejnovější verzi pokaždé, když je k dispozici nová verze, zejména pokud je zmíněna aktualizace zabezpečení. Po spuštění aplikace AIR běhový modul standardně zjišťuje, zda je k dispozici aktualizace. Tuto kontrolu provede, jestliže poslední kontrola aktualizací proběhla před více než dvěma týdny. Pokud je k dispozici aktualizace, aplikace AIR stáhne aktualizaci na pozadí. Uživatelé mohou funkci automatické aktualizace vypnout pomocí aplikace AIR SettingsManager. Aplikace AIR SettingsManager je k dispozici ke stažení na stránce http://airdownload.adobe.com/air/applications/SettingsManager/SettingsManager.air. Běžný instalační proces prostředí Adobe AIR zahrnuje připojení k webu http://airinstall.adobe.com, kam odešle základní informace o instalačním prostředí, jako je např. verze operačního systému a jazyk. Tyto informace se přenáší při každé instalaci pouze jednou a společnost Adobe se může jejich prostřednictvím ujistit, že instalace proběhla úspěšně. Žádné osobní identifikovatelné informace nejsou shromažďovány ani přenášeny. Aktualizace kaptivních běhových prostředí Pokud distribuujete aplikaci pomocí kaptivního balíčku běhového prostředí, není toto prostředí aktualizováno automaticky. Za účelem zabezpečení uživatelů je nutné sledovat aktualizace publikované společností Adobe a aktualizovat aplikaci novou verzí běhového prostředí, jakmile bude publikována relevantní změna zabezpečení.
Poslední aktualizace 19.11.2013
7
Kapitola 3: Práce s rozhraními API prostředí AIR Prostředí Adobe® AIR® obsahuje funkce, které nejsou dostupné pro obsah SWF spuštěný v přehrávači Adobe® Flash® Player. Vývojáři používající jazyk ActionScript 3.0 Dokumentaci k rozhraním API prostředí Adobe AIR naleznete v těchto dvou knihách:
• Příručka pro vývojáře jazyka ActionScript 3.0 • Referenční příručka jazyka ActionScript 3.0 pro platformu Adobe Flash Vývojáři používající jazyk HTML Pokud vytváříte aplikace AIR založené na jazyce HTML, jsou rozhraní API dostupná v jazyce JavaScript prostřednictvím souboru AIRAliases.js (viz Přístup k třídám prostředí AIR rostřednictvím prozhraní API z jazyka JavaScript) zdokumentována v těchto dvou knihách:
• Příručka vývojáře jazyka HTML pro prostředí Adobe AIR • Referenční příručka rozhraní API prostředí Adobe AIR pro vývojáře jazyka HTML
Třídy jazyka ActionScript 3.0 specifické pro prostředí AIR Následující tabulka obsahuje třídy běhového modulu specifické pro prostředí Adobe AIR. Nejsou dostupné pro obsah SWF spuštěný v přehrávači Adobe® Flash® Player v prohlížeči. Vývojáři používající jazyk HTML Třídy dostupné v jazyce JavaScript prostřednictvím souboru AIRAliases.js jsou uvedeny v části Referenční příručka rozhraní API prostředí Adobe AIR pro vývojáře jazyka HTML.
Třída
Balík jazyka ActionScript 3.0
Přidány ve verzi AIR
ARecord
flash.net.dns
2.0
AAAARecord
flash.net.dns
2.0
ApplicationUpdater
air.update
1.5
ApplicationUpdaterUI
air.update
1.5
AudioPlaybackMode
flash.media
3.0
AutoCapitalize
flash.text
3.0
BrowserInvokeEvent
flash.events
1.0
CameraPosition
flash.media
3.0
Poslední aktualizace 19.11.2013
8
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Práce s rozhraními API prostředí AIR
Třída
Balík jazyka ActionScript 3.0
Přidány ve verzi AIR
CameraRoll
flash.media
2.0
CameraRollBrowseOptions
flash.media
3.0
CameraUI
flash.media
2.5
CertificateStatus
flash.security
2.0
CompressionAlgorithm
flash.utils
1.0
DatagramSocket
flash.net
2.0
DatagramSocketDataEvent
flash.events
2.0
DNSResolver
flash.net.dns
2.0
DNSResolverEvent
flash.events
2.0
DockIcon
flash.desktop
1.0
DownloadErrorEvent
air.update.events
1.5
DRMAuthenticateEvent
flash.events
1.0
DRMDeviceGroup
flash.net.drm
3.0
DRMDeviceGroupErrorEvent
flash.net.drm
3.0
DRMDeviceGroupEvent
flash.net.drm
3.0
DRMManagerError
flash.errors
1.5
EncryptedLocalStore
flash.data
1.0
ExtensionContext
flash.external
2.5
File
flash.filesystem
1.0
FileListEvent
flash.events
1.0
FileMode
flash.filesystem
1.0
FileStream
flash.filesystem
1.0
FocusDirection
flash.display
1.0
GameInput
flash.ui
3.0
GameInputControl
flash.ui
3.0
GameInputControlType
flash.ui
3.6 a starší; vynecháno od verze 3.7
GameInputDevice
flash.ui
3.0
GameInputEvent
flash.ui
3.0
GameInputFinger
flash.ui
3.6 a starší; vynecháno od verze 3.7
GameInputHand
flash.ui
3.6 a starší; vynecháno od verze 3.7
Geolocation
flash.sensors
2.0
GeolocationEvent
flash.events
2.0
HTMLHistoryItem
flash.html
1.0
Poslední aktualizace 19.11.2013
9
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Práce s rozhraními API prostředí AIR
Třída
Balík jazyka ActionScript 3.0
Přidány ve verzi AIR
HTMLHost
flash.html
1.0
HTMLLoader
flash.html
1.0
HTMLPDFCapability
flash.html
1.0
HTMLSWFCapabiltiy
flash.html
2.0
HTMLUncaughtScriptExceptionEvent
flash.events
1.0
HTMLWindowCreateOptions
flash.html
1.0
Icon
flash.desktop
1.0
IFilePromise
flash.desktop
2.0
ImageDecodingPolicy
flash.system
2.6
InteractiveIcon
flash.desktop
1.0
InterfaceAddress
flash.net
2.0
InvokeEvent
flash.events
1.0
InvokeEventReason
flash.desktop
1.5.1
IPVersion
flash.net
2.0
IURIDereferencer
flash.security
1.0
LocationChangeEvent
flash.events
2.5
MediaEvent
flash.events
2.5
MediaPromise
flash.media
2.5
MediaType
flash.media
2.5
MXRecord
flash.net.dns
2.0
NativeApplication
flash.desktop
1.0
NativeDragActions
flash.desktop
1.0
NativeDragEvent
flash.events
1.0
NativeDragManager
flash.desktop
1.0
NativeDragOptions
flash.desktop
1.0
NativeMenu
flash.display
1.0
NativeMenuItem
flash.display
1.0
NativeProcess
flash.desktop
2.0
NativeProcessExitEvent
flash.events
2.0
NativeProcessStartupInfo
flash.desktop
2.0
NativeWindow
flash.display
1.0
NativeWindowBoundsEvent
flash.events
1.0
NativeWindowDisplayState
flash.display
1.0
NativeWindowDisplayStateEvent
flash.events
1.0
Poslední aktualizace 19.11.2013
10
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Práce s rozhraními API prostředí AIR
Třída
Balík jazyka ActionScript 3.0
Přidány ve verzi AIR
NativeWindowInitOptions
flash.display
1.0
NativeWindowRenderMode
flash.display
3.0
NativeWindowResize
flash.display
1.0
NativeWindowSystemChrome
flash.display
1.0
NativeWindowType
flash.display
1.0
NetworkInfo
flash.net
2.0
NetworkInterface
flash.net
2.0
NotificationType
flash.desktop
1.0
OutputProgressEvent
flash.events
1.0
PaperSize
flash.printing
2.0
PrintMethod
flash.printing
2.0
PrintUIOptions
flash.printing
2.0
PTRRecord
flash.net.dns
2.0
ReferencesValidationSetting
flash.security
1.0
ResourceRecord
flash.net.dns
2.0
RevocationCheckSettings
flash.security
1.0
Screen
flash.display
1.0
ScreenMouseEvent
flash.events
1.0
SecureSocket
flash.net
2.0
SecureSocketMonitor
air.net
2.0
ServerSocket
flash.net
2.0
ServerSocketConnectEvent
flash.events
2.0
ServiceMonitor
air.net
1.0
SignatureStatus
flash.security
1.0
SignerTrustSettings
flash.security
1.0
SocketMonitor
air.net
1.0
SoftKeyboardType
flash.text
3.0
SQLCollationType
flash.data
1.0
SQLColumnNameStyle
flash.data
1.0
SQLColumnSchema
flash.data
1.0
SQLConnection
flash.data
1.0
SQLError
flash.errors
1.0
SQLErrorEvent
flash.events
1.0
SQLErrorOperation
flash.errors
1.0
Poslední aktualizace 19.11.2013
11
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Práce s rozhraními API prostředí AIR
Třída
Balík jazyka ActionScript 3.0
Přidány ve verzi AIR
SQLEvent
flash.events
1.0
SQLIndexSchema
flash.data
1.0
SQLMode
flash.data
1.0
SQLResult
flash.data
1.0
SQLSchema
flash.data
1.0
SQLSchemaResult
flash.data
1.0
SQLStatement
flash.data
1.0
SQLTableSchema
flash.data
1.0
SQLTransactionLockType
flash.data
1.0
SQLTriggerSchema
flash.data
1.0
SQLUpdateEvent
flash.events
1.0
SQLViewSchema
flash.data
1.0
SRVRecord
flash.net.dns
2.0
StageAspectRatio
flash.display
2.0
StageOrientation
flash.display
2.0
StageOrientationEvent
flash.events
2.0
StageText
flash.text
3.0
StageTextInitOptions
flash.text
3.0
StageWebView
flash.media
2.5
StatusFileUpdateErrorEvent
air.update.events
1.5
StatusFileUpdateEvent
air.update.events
1.5
StatusUpdateErrorEvent
air.update.events
1.5
StatusUpdateEvent
air.update.events
1.5
StorageVolume
flash.filesystem
2.0
StorageVolumeChangeEvent
flash.events
2.0
StorageVolumeInfo
flash.filesystem
2.0
SystemIdleMode
flash.desktop
2.0
SystemTrayIcon
flash.desktop
1.0
TouchEventIntent
flash.events
3.0
UpdateEvent
air.update.events
1.5
Updater
flash.desktop
1.0
URLFilePromise
air.desktop
2.0
Poslední aktualizace 19.11.2013
12
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Práce s rozhraními API prostředí AIR
Třída
Balík jazyka ActionScript 3.0
Přidány ve verzi AIR
URLMonitor
air.net
1.0
URLRequestDefaults
flash.net
1.0
XMLSignatureValidator
flash.security
1.0
Třídy aplikace Flash Player s funkcemi specifickými pro prostředí AIR Následující třídy jsou dostupné pro obsah SWF běžící v prohlížeči, ale aplikace AIR poskytuje ještě další vlastnosti nebo metody: Balíček
Třída
Vlastnost, metoda nebo událost
Přidány ve verzi AIR
flash.desktop
Clipboard
supportsFilePromise
2.0
ClipboardFormats
BITMAP_FORMAT
1.0
FILE_LIST_FORMAT
1.0
FILE_PROMISE_LIST_FORMAT
2.0
URL_FORMAT
1.0
childSandboxBridge
1.0
parentSandboxBridge
1.0
assignFocus()
1.0
autoOrients
2.0
deviceOrientation
2.0
nativeWindow
1.0
orientation
2.0
událost orientationChange
2.0
událost orientationChanging
2.0
setAspectRatio
2.0
setOrientation
2.0
softKeyboardRect
2.6
supportedOrientations
2.6
supportsOrientationChange
2.0
owner
2.6
listOwnedWindows
2.6
owner
2.6
flash.display
LoaderInfo
Stage
NativeWindow
NativeWindowInitOptions
Poslední aktualizace 19.11.2013
13
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Práce s rozhraními API prostředí AIR
Balíček
Třída
Vlastnost, metoda nebo událost
Přidány ve verzi AIR
flash.events
Event
CLOSING
1.0
DISPLAYING
1.0
PREPARING
2.6
EXITING
1.0
HTML_BOUNDS_CHANGE
1.0
HTML_DOM_INITIALIZE
1.0
HTML_RENDER
1.0
LOCATION_CHANGE
1.0
NETWORK_CHANGE
1.0
STANDARD_ERROR_CLOSE
2.0
STANDARD_INPUT_CLOSE
2.0
STANDARD_OUTPUT_CLOSE
2.0
USER_IDLE
1.0
USER_PRESENT
1.0
HTTP_RESPONSE_STATUS
1.0
responseHeaders
1.0
responseURL
1.0
commandKey
1.0
controlKey
1.0
HTTPStatusEvent
KeyboardEvent
Poslední aktualizace 19.11.2013
14
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Práce s rozhraními API prostředí AIR
Balíček
Třída
Vlastnost, metoda nebo událost
Přidány ve verzi AIR
flash.net
FileReference
extension
1.0
událost httpResponseStatus
1.0
uploadUnencoded()
1.0
událost drmAuthenticate
1.0
událost onDRMContentData
1.5
preloadEmbeddedData(
1.5
resetDRMVouchers()
1.0
setDRMAuthenticationCredent ials()
1.0
authenticate
1.0
cacheResponse
1.0
followRedirects
1.0
idleTimeout
2.0
manageCookies
1.0
useCache
1.0
userAgent
1.0
URLStream
httpResponseStatus event
1.0
PrintJob
active
2.0
copies
2.0
firstPage
2.0
isColor
2.0
jobName
2.0
lastPage
2.0
maxPixelsPerInch
2.0
paperArea
2.0
printableArea
2.0
printer
2.0
printers
2.0
selectPaperSize()
2.0
showPageSetupDialog()
2.0
start2()
2.0
supportsPageSetupDialog
2.0
terminate()
2.0
pixelsPerInch
2.0
printMethod
2.0
NetStream
URLRequest
flash.printing
PrintJobOptions
Poslední aktualizace 19.11.2013
15
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Práce s rozhraními API prostředí AIR
Balíček
Třída
Vlastnost, metoda nebo událost
Přidány ve verzi AIR
flash.system
Capabilities
languages
1.1
LoaderContext
allowLoadBytesCodeExecution
1.0
Security
APPLICATION
1.0
KeyLocation
D_PAD
2.5
flash.ui
Většina z těchto nových vlastností a metod je dostupných pouze pro obsah v karanténě zabezpečení aplikace AIR. Avšak nové položky v třídě URLRequest jsou dostupné také pro obsah běžící v jiných karanténách. Metody ByteArray.compress() a ByteArray.uncompress() obsahují nový parametr algorithm, který umožňuje volbu mezi komprimačním algoritmem deflate a zlib. Tento parametr je dostupný pouze pro obsah spuštěný v prostředí AIR.
Komponenty Flex určené pro prostředí AIR Při vývoji obsahu pro prostředí Adobe AIR jsou k dispozici následující komponenty MX aplikace Adobe® Flex™:
• FileEvent • FileSystemComboBox • FileSystemDataGrid • FileSystemEnumerationMode • FileSystemHistoryButton • FileSystemList • FileSystemSizeDisplayMode • FileSystemTree • FlexNativeMenu • HTML • Window • WindowedApplication • WindowedSystemManager Kromě toho zahrnuje aplikace Flex 4 následující komponenty Spark prostředí AIR:
• Window • WindowedApplication Další informace týkající se komponent aplikace AIR Flex naleznete v tématu Použití komponent aplikace Flex AIR.
Poslední aktualizace 19.11.2013
16
Kapitola 4: Nástroje řešení Adobe Flash Platform pro vývoj aplikací AIR Aplikace AIR lze vyvíjet pomocí následujících vývojových nástrojů řešení Adobe Flash Platform. Pro vývojáře pracující v jazyce ActionScript 3.0 (Flash a Flex):
• Adobe Flash Professional (viz Publishing for AIR (Publikování pro prostředí AIR)) • Sady SDK Adobe Flex 3.x a 4.x (další informace v tématech „Nastavení sady Flex SDK“ na stránce 18 a „AIR Developer Tool (ADT)“ na stránce 162)
• Adobe Flash Builder (viz Developing AIR Applications with Flash Builder (Vývoj aplikací AIR pomocí aplikace Flash Builder)) Pro vývojáře pracující v jazycích HTML a Ajax:
• Sada SDK prostředí Adobe AIR (další informace v tématech „Instalace sady AIR SDK“ na stránce 16 a „AIR Developer Tool (ADT)“ na stránce 162)
• Adobe Dreamweaver CS3, CS4, CS5 (viz část Rozšíření aplikace AIR pro program Dreamweaver)
Instalace sady AIR SDK Sada SDK prostředí Adobe AIR obsahuje následující nástroje příkazového řádku, které lze použít ke spuštění nebo sbalení aplikací: Program AIR Debug Launcher (ADL) Umožňuje spustit aplikace AIR bez nutnosti jejich předchozí instalace. Viz část „Program AIR Debug Launcher (ADL)“ na stránce 156. AIR Development Tool (ADT) Sbalí aplikaci AIR do distribuovatelných instalačních balíků. Viz část„AIR Developer
Tool (ADT)“ na stránce 162. Nástroje příkazového řádku aplikace AIR vyžadují v počítači instalované prostředí Java. Lze použít modul Java Virtual Machine buď z prostředí JRE, nebo JDK (veze 1.5 nebo novější). Prostředí Java JRE a Java JDK jsou k dispozici na stránce http://java.sun.com/. Ke spuštění nástroje ADT jsou třeba alespoň 2 GB paměti počítače. Poznámka: Ke spuštění aplikací AIR není nutné, aby měli koncoví uživatelé nainstalované prostředí Java. Rychlý přehled vytvoření aplikace AIR pomocí sady AIR SDK naleznete v části „Vytvoření první aplikace AIR založené na HTML pomocí sady AIR SDK“ na stránce 32.
Stažení a instalace sady AIR SDK Sadu AIR SDK lze stáhnout a instalovat pomocí následujících pokynů: Instalace sady AIR SDK v systému Windows • Stáhněte instalační soubor sady AIR SDK.
Poslední aktualizace 19.11.2013
17
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Nástroje řešení Adobe Flash Platform pro vývoj aplikací AIR
• Sada AIR SDK je distribuována jako standardní archiv souborů. Chcete-li instalovat prostředí AIR, rozbalte obsah sady SDK do složky v počítači (například: C:\Program Files\Adobe\AIRSDK nebo C:\AIRSDK).
• Nástroje ADL a ADT jsou v sadě AIR SDK obsaženy ve složce bin. Přidejte cestu k této složce do proměnné prostředí PATH. Instalace sady AIR SDK v systému Mac OS X • Stáhněte instalační soubor sady AIR SDK.
• Sada AIR SDK je distribuována jako standardní archiv souborů. Chcete-li instalovat prostředí AIR, rozbalte obsah sady SDK do složky v počítači (například: /Users/<jménoUživatele>/Applications/AIRSDK).
• Nástroje ADL a ADT jsou v sadě AIR SDK obsaženy ve složce bin. Přidejte cestu k této složce do proměnné prostředí PATH. Instalace sady AIR SDK v systému Linux • Sada SDK je k dispozici ve formátu tbz2.
• Chcete-li instalovat sadu SDK, vytvořte složku, do níž se má sada SDK rozbalit a potom použijte následující příkaz: tar-jxvf- Informace týkající se použití nástrojů sady AIR SDK naleznete v části Vytvoření aplikace AIR pomocí nástrojů příkazového řádku.
Co zahrnuje sada AIR SDK Následující tabulka popisuje účel souborů obsažených v sadě AIR SDK: Složka SDK
Popis souborů/nástrojů
bin
Program AIR Debug Launcher (ADL) umožňuje spustit aplikaci AIR bez předchozího zabalení a instalace. Další informace o použití tohoto nástroje naleznete v části „Program AIR Debug Launcher (ADL)“ na stránce 156. Program AIR Development Tool (ADT) sbalí aplikaci jako soubor AIR k distribuci. Informace o použití tohoto nástroje naleznete v části „AIR Developer Tool (ADT)“ na stránce 162.
frameworks
Adresář libs obsahuje knihovny kódu k použití v aplikacích AIR. Adresář projects obsahuje kód pro kompilované knihovny SWF a SWC.
include
Adresář include obsahuje soubor záhlaví v jazyce C pro zápis nativního rozšíření.
install
Adresář install obsahuje ovladače USB systému Windows pro zařízení Android. (Jedná se o ovladače poskytované společností Google v rámci sady Android SDK).
lib
Obsahuje podpůrný kód pro sadu AIR SDK.
Poslední aktualizace 19.11.2013
18
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Nástroje řešení Adobe Flash Platform pro vývoj aplikací AIR
Složka SDK
Popis souborů/nástrojů
runtimes
Běhová prostředí AIR pro stolní počítače a pro mobilní zařízení. Běhové prostředí pro stolní počítače slouží programu ADL ke spuštění aplikací AIR před jejich sbalením či instalací. Běhová prostředí AIR pro Android (balíčky APK) lze nainstalovat do zařízení Android nebo jejich emulátorů pro vývoj a testování. Samostatné balíčky APK slouží pro zařízení a emulátory. (Veřejné běhové prostředí AIR pro zařízení Android je k dispozici na tržišti Android Market.)
samples
Tato složka obsahuje soubor deskriptoru vzorové aplikace, vzor plynulé instalace (badge.swf) a výchozí ikony aplikace AIR.
templates
descriptor-template.xml – Šablona souboru deskriptoru aplikace, která je vyžadována pro každou aplikaci AIR. Podrobný popis souboru deskriptoru aplikace naleznete v tématu „Soubory deskriptorů aplikací AIR“ na stránce 201. Dále v této složce naleznete také soubory schémat pro strukturu XML deskriptoru aplikace pro jednotlivé verze prostředí AIR.
Nastavení sady Flex SDK Chcete-li vyvíjet aplikace Adobe® AIR® pomocí prostředí Adobe® Flex™, máte následující možnosti:
• Můžete stáhnout a nainstalovat prostředí Adobe® Flash® Builder™, které poskytuje integrované nástroje k vytváření projektů Adobe AIR a ke zkoušení, ladění a sbalení aplikací AIR. Další informace naleznete v tématu „Vytvoření první aplikace Flex AIR pro stolní počítač v aplikaci Flash Builder“ na stránce 20.
• Můžete stáhnout sadu SDK prostředí Adobe® Flex™ a vyvíjet aplikace Flex AIR pomocí oblíbeného textového editoru a nástrojů příkazové řádky. Rychlý přehled vytvoření aplikace AIR pomocí sady Flex SDK naleznete v části „Vytvoření první aplikace AIR pro stolní počítače pomocí sady Flex SDK“ na stránce 36.
Instalace sady Flex SDK Sestavování aplikací AIR pomocí nástrojů příkazového řádku vyžaduje, aby bylo v počítači instalováno prostředí Java. Lze použít modul Java Virtual Machine buď z prostředí JRE, nebo JDK (veze 1.5 nebo novější). Sady Java JRE a JDK jsou k dispozici na adrese http://java.sun.com/. Poznámka: Ke spuštění aplikací AIR není nutné, aby měli koncoví uživatelé nainstalované prostředí Java. Sada Flex SDK poskytuje rozhraní AIR API a nástroje příkazového řádku, které lze použít ke sbalení, kompilaci a ladění aplikací AIR. 1 Pokud jste to ještě neudělali, stáhněte sadu Flex SDK z adresy
http://opensource.adobe.com/wiki/display/flexsdk/Downloads. 2 Umístěte obsah SDK do složky (například Flex SDK). 3 Zkopírujte obsah sady AIR SDK k souborům ve složce Flex SDK.
Poznámka: Pracujete-li na platformě Mac, ujistěte se, že kopírujete nebo nahrazujete jednotlivé soubory ve složkách SDK – nikoli celé adresáře. Ve výchozím nastavení v systému Mac odstraní zkopírování adresáře do adresáře se stejným názvem existující soubory v cílovém adresáři. Nesloučí tedy obsah obou adresářů. Příkaz ditto můžete použít v okně terminálu ke sloučení sady AIR SDK se sadou Flex SDK:ditto air_sdk_folder flex_sdk_folder 4 Nástroje příkazového řádku AIR se nacházejí ve složce bin.
Poslední aktualizace 19.11.2013
19
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Nástroje řešení Adobe Flash Platform pro vývoj aplikací AIR
Nastavení externích sad SDK Vývoj aplikací pro platformy Android a iOS vyžaduje stažení souborů pro zprovoznění, sad SDK a dalších vývojářských nástrojů od tvůrců platformy. Informace o stažení a instalaci sady Android SDK naleznete v částiVývojáři pro Android: Instalace sady SDK. Od verze AIR 2.6 není nutné sadu Android SDK stahovat. Sada AIR SDK nově zahrnuje základní součásti potřebné k instalaci a spouštění balíčků APK. Sada Android SDK však může přesto být užitečná u různých vývojářských úloh, včetně vytváření a spouštění softwarových emulátorů a pořizování kopií obrazovek zařízení. K vývoji na platformě iOS není nutná externí sada SDK. Jsou však třeba zvláštní certifikáty a profily pro zprovozňování. Další informace naleznete v tématu Získání vývojářských souborů od společnosti Apple.
Poslední aktualizace 19.11.2013
20
Kapitola 5: Vytvoření první aplikace AIR Vytvoření první aplikace Flex AIR pro stolní počítač v aplikaci Flash Builder Toto téma nabízí rychlé a praktické znázornění toho, jakým způsobem pracuje prostředí Adobe ® AIR®. Postupujte podle pokynů a pomocí vývojového nástroje Adobe® Flash® Builder vytvořte a sbalte jednoduchou aplikaci AIR „Hello World“ založenou na souboru SWF. Pokud jste to ještě neudělali, stáhněte si a nainstalujte aplikaci Flash Builder. Rovněž si stáhněte a nainstalujte nejnovější verzi prostředí Adobe AIR, které se nachází zde: www.adobe.com/go/air.
Vytvoření projektu v prostředí AIR Aplikace Flash Builder zahrnuje nástroje potřebné k vyvíjení a sbalení aplikací AIR. V prostředí Flash Builder nebo Flex Builder začnete vytvářet aplikace AIR stejným způsobem, jakým vytváříte ostatní projekty aplikace s architekturou Flex: definováním nového projektu. 1 Spusťte aplikaci Flash Builder. 2 Zvolte možnost Soubor > Nový > Projekt Flex. 3 Jako název projektu zadejte AIRHelloWorld. 4 V prostředí Flex jsou aplikace AIR považovány za typ aplikace. Máte dva typy možností:
• webová aplikace, která běží v přehrávači Adobe® Flash® Player • aplikace pro stolní počítače, která běží v prostředí Adobe AIR Jako typ aplikace zvolte možnost Pro stolní počítače. 5 Kliknutím na tlačítko Dokončit vytvořte projekt.
Projekty AIR zpočátku tvoří dva soubory: hlavní soubor MXML a soubor XML aplikace (označovaný jako soubor deskriptoru aplikace). Druhý soubor určuje vlastnosti aplikace. Další informace naleznete v tématu Vývoj aplikací AIR pomocí nástroje Flex Builder.
Zápis kódu aplikace AIR Když chcete zapsat kód aplikace „Hello World“, upravíte soubor MXML aplikace (AIRHelloWorld.mxml), který je otevřený v editoru. (Není-li tento soubor otevřený, otevřete jej pomocí Navigátoru projektů.) Aplikace Flex AIR ve stolním počítači jsou umístěny uvnitř tagu MXML WindowedApplication. Tag MXML WindowedApplication vytvoří jednoduché okno obsahující základní ovládací prvky okna, např. titulní pruh a zavírací tlačítko. 1 Přidejte komponentě WindowedApplication atribut title a přiřaďte mu hodnotu „Hello World":
Poslední aktualizace 19.11.2013
21
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vytvoření první aplikace AIR
2 Přidejte do aplikace komponentu Label (umístěte ji do tagu WindowedApplication). Nastavte vlastnost text
komponenty Label na hodnotu „Hello AIR" a nastavte omezení rozvržení tak, aby byla stále uprostřed, jak je znázorněno zde: <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" title="Hello World"> <s:Label text="Hello AIR" horizontalCenter="0" verticalCenter="0"/>
3 Hned za počáteční tag WindowedApplication a ještě před tag právě zadané komponenty label přidejte následující
Tato nastavení stylu platí pro celou aplikaci a vykreslují pozadí okna mírně průhlednou šedou barvou. Kód aplikace nyní vypadá takto: <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" title="Hello World"> @namespace s "library://ns.adobe.com/flex/spark"; s|WindowedApplication { skinClass:ClassReference("spark.skins.spark.SparkChromeWindowedApplicationSkin"); background-color:#999999; background-alpha:"0.7"; } <s:Label text="Hello AIR" horizontalCenter="0" verticalCenter="0"/>
Poslední aktualizace 19.11.2013
22
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vytvoření první aplikace AIR
Nyní změníte některá nastavení v deskriptoru aplikace, aby daná aplikace mohla být průhledná: 1 V okně Navigátor prostředí Flex vyhledejte ve zdrojovém adresáři projektu soubor deskriptoru aplikace. Pokud jste
projekt nazvali AIRHelloWorld, má tento soubor název AIRHelloWorld-app.xml. 2 Poklepejte na soubor deskriptoru aplikace, aby jej bylo možné upravovat v prostředí Flash Builder. 3 V kódu XML vyhledejte řádky s komentářem pro vlastnosti systemChrome a transparent (vlastnosti initialWindow). Komentář odstraňte. (Odstraňte oddělovače komentáře „".)
4 Nastavte textovou hodnotu vlastnosti systemChrome na možnost none jako v následujícím kódu: <systemChrome>none
5 Nastavte textovou hodnotu vlastnosti transparent na možnost true jako v následujícím kódu: true
6 Uložte soubor.
Testování aplikace AIR Jestliže chcete otestovat právě vytvořený kód aplikace, spusťte jej v režimu ladění. 1 Klepněte na tlačítko Ladění
na hlavním panelu nástrojů aplikace
Rovněž můžete zvolit příkaz Spustit > Ladění > AIRHelloWorld. Výsledná aplikace AIR by měla vypadat jako v následujícím příkladu:
2 Pomocí vlastností horizontalCenter a verticalCenter ovládacího prvku Label se text umístí do středu okna.
Přesuňte okno nebo změňte jeho velikost jako u jakékoliv jiné počítačové aplikace. Poznámka: Jestliže se aplikace nezkompiluje, opravte chyby v syntaxi nebo hláskování, jež byly neúmyslně zadány do kódu. Chyby a upozornění se v aplikaci Flash Builder zobrazují v náhledu Problémy.
Poslední aktualizace 19.11.2013
23
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vytvoření první aplikace AIR
Sbalení, podepsání a spuštění aplikace AIR Nyní jste připraveni sbalit aplikaci „Hello World“ do souboru AIR určeného k distribuci. Soubor AIR je archivní soubor obsahující soubory aplikace, což jsou všechny soubory obsažené ve složce bin daného projektu. V tomto jednoduchém příkladu se jedná o soubory SWF a soubory XML aplikace. Balík AIR předáte uživatelům, kteří jej použijí k instalaci aplikace. Povinným krokem v tomto procesu je jeho opatření digitálním podpisem. 1 Ujistěte se, že aplikace neobsahuje žádné chyby kompilace a funguje podle očekávání. 2 Zvolte možnost Projekt > Export sestavení vydání. 3 Zkontrolujte, zda jako projekt a aplikace jsou uvedeny projekt AIRHelloWorld a aplikace AIRHelloWorld.mxml. 4 Vyberte možnost Export as signed AIR package (Exportovat jako podepsaný balíček AIR). Potom klepněte na
tlačítko Next (Další). 5 Jestliže máte existující digitální certifikát, pomocí tlačítka Procházet jej vyhledejte a vyberte. 6 Pokud je třeba vytvořit nový digitální certifikát s vlastním podpisem, zvolte možnost Vytvořit. 7 Zadejte požadované informace a klikněte na tlačítko OK. 8 Kliknutím na tlačítko Dokončit vygenerujte balík aplikace AIR, který bude mít název AIRHelloWorld.air.
Nyní lze nainstalovat a spustit aplikaci z Navigátoru projektů v aplikaci Flash Builder nebo ze souborového systému poklepáním na soubor AIR.
Vytvoření první aplikace AIR pro stolní počítače pomocí aplikace Flash Professional Toto téma nabízí rychlou a praktickou demonstraci toho, jakým způsobem pracuje prostředí Adobe® AIR®. Postupujte podle pokynů a pomocí programu Adobe® Flash® Professional vytvořte a zabalte jednoduchou aplikaci „Hello World“. Pokud jste to ještě neudělali, stáhněte a nainstalujte si prostředí Adobe AIR, které je umístěno zde: www.adobe.com/go/air_cz.
Vytvoření aplikace „Hello World“ v programu Flash Vytvoření aplikace Adobe AIR v programu Flash se velice podobá vytvoření jakéhokoli jiného souboru FLA. Následující postup vás provede procesem vytvoření jednoduché aplikace „Hello World“ pomocí programu Flash Professional. Vytvoření aplikace „Hello World“ 1 Spusťte program Flash. 2 Klepněte na úvodní obrazovce na položku AIR, abyste vytvořili prázdný soubor FLA s nastavením publikování
prostředí Adobe AIR. 3 Vyberte v panelu Nástroje textový nástroj a vytvořte ve středu vymezené plochy pole statického textu (výchozí
volba). Pole musí být dostatečně široké, aby obsáhlo 15–20 znaků. 4 Zadejte do tohoto textového pole text „Hello World“. 5 Uložte soubor a pojmenujte ho (například HelloAIR).
Poslední aktualizace 19.11.2013
24
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vytvoření první aplikace AIR
Testování aplikace 1 Chcete-li aplikaci otestovat v prostředí Adobe AIR, stiskněte klávesy Ctrl+Enter nebo vyberte příkaz Ovládání-
>Testovat film->Testovat. 2 Abyste mohli použít funkci Ladit film, musíte nejdříve do aplikace přidat kód jazyka ActionScript. Toho rychle
dosáhnete, když přidáte příkaz trace, jako je například tento: trace("Running AIR application using Debug Movie");
3 Chcete-li aplikaci spustit s funkcí Ladit film, stiskněte klávesy Ctrl+Shift+Enter nebo vyberte příkaz Ladění->Ladit
film->Ladit. Aplikace „Hello World“ vypadá jako v této ukázce:
Sbalení aplikace 1 Vyberte příkaz Soubor > Publikovat. 2 Podepište balík Adobe AIR pomocí existujícího digitálního certifikátu nebo podle následujícího postupu vytvořte
certifikát podepsaný sebou samým: a Klepněte na tlačítko Nový vedle pole Certifikát. b Vyplňte položky Jméno vydavatele, Útvar organizace, Název organizace, E-mail, Země, Heslo a Potvrzení hesla. c Určete typ certifikátu. Volba Typ certifikátu označuje úroveň zabezpečení: 1024-RSA používá 1024bitový klíč
(méně zabezpečený) a 2048-RSA používá 2048bitový klíč (více zabezpečený). d Uložte informaci do souboru certifikátu – vyplňte položku Uložit jako nebo přejděte do umístění složky po
klepnutí na tlačítko Procházet. (Například C:/Temp/mujcert.pfx.) Po skončení klikněte na tlačítko OK. e Program Flash vás vrátí do dialogového okna Digitální podpis. V textovém poli Certifikát se objeví cesta a název
souboru certifikátu s vlastním podpisem, který jste vytvořili. Pokud k tomu nedojde, zadejte cestu a název souboru nebo je najděte a vyberte po klepnutí na tlačítko Procházet. f
Do pole Heslo dialogového okna Digitální podpis zadejte stejné heslo, jež bylo přiřazeno v kroku b. Další informace o podepisování aplikací Adobe AIR naleznete v části „Digitální podepisování souboru AIR“ na stránce 186.
Poslední aktualizace 19.11.2013
25
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vytvoření první aplikace AIR
3 Vytvořte soubor aplikace a instalátoru klepnutím na tlačítko Publikovat. (Ve verzích Flash CS4 a CS5 klepněte na
tlačítko OK.) Abyste vytvořili soubory SWF a soubory .xml aplikace před vytvořením souboru AIR, musíte spustit příkaz Testovat film nebo Ladit film. 4 Chcete-li aplikaci nainstalovat, poklepejte na soubor AIR (aplikace.air), který je umístěný ve stejné složce, do které
jste svou aplikaci uložili. 5 V dialogovém okně Instalace aplikace klepněte na tlačítko Instalovat. 6 Zkontrolujte nastavení instalačních předvoleb a umístění a ujistěte se, zda je zaškrtnuto zaškrtávací políčko Spustit
aplikaci po dokončení instalace. Pak klepněte na tlačítko Pokračovat. 7 Až se objeví zpráva o dokončení instalace, klepněte na tlačítko Dokončit.
Vytvoření první aplikace AIR pro systém Android pomocí aplikace Flash Professional Chcete-li vyvíjet aplikace AIR pro systém Android, je nutné si stáhnout rozšíření aplikace Flash Professional CS5 pro systém Android z webu Adobe Labs. Také je nutné si z webu pro systém Android stáhnout a nainstalovat sadu Android SDK, jak je popsáno zde: Vývojáři systému Android: Instalace sady SDK. Vytvoření projektu 1 Spusťte aplikaci Flash CS5. 2 Vytvořte nový projekt AIR pro systém Android.
Domovská obrazovka aplikace Flash Professional obsahuje odkaz umožňující vytvořit aplikaci AIR pro systém Android. Můžete také vybrat položky Soubor > Nový a poté vybrat šablonu AIR pro systém Android. 3 Uložte dokument jako soubor HelloWorld.fla.
Zápis kódu Protože se tato výuková lekce ve skutečnosti nezabývá psaním kódu, napište na plochu pomocí nástroje Text jen „Hello, World!“. Nastavení vlastností aplikace 1 Vyberte položky Soubor > Nastavení aplikace AIR Android. 2 Na záložce Všeobecné proveďte následující nastavení:
• Výstupní soubor: HelloWorld.apk • Název aplikace: HelloWorld • ID aplikace: HelloWorld • Číslo verze: 0.0.1 • Poměr stran: Na výšku 3 Na záložce Nasazení proveďte následující nastavení:
• Certifikát: Nastavte odkaz na platný certifikát pro podepisování kódu AIR. Klepnutím na tlačítko Vytvořit můžete vytvořit nový certifikát. (Aplikace pro systém Android nasazované prostřednictvím webu Android Marketplace musejí mít certifikát s platností nejméně do roku 2033.) Do pole Heslo zadejte heslo certifikátu.
Poslední aktualizace 19.11.2013
26
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vytvoření první aplikace AIR
• Typ nasazení zařízení Android: Ladění • Po publikování: Vyberte obě možnosti. • Zadejte cestu k nástroji ADB v podadresáři tools sady Android SDK. 4 Zavřete dialogové okno nastavení Android klepnutím na tlačítko OK.
Aplikace v této fázi vývoje nepotřebuje ikony ani oprávnění. Většina aplikací AIR pro systém Android vyžaduje určitá oprávnění pro přístup k chráněným funkcím. Měli byste nastavit pouze ta oprávnění, která daná aplikace skutečně vyžaduje, protože uživatelé mohou aplikaci odmítnout v případě, že vyžaduje příliš mnoho oprávnění. 5 Uložte soubor.
Zabalení a instalace aplikace v zařízení Android 1 Ujistěte se, zda je v zařízení povoleno ladění přes port USB. Ladění přes port USB můžete zapnout v aplikaci Settings (Nastavení) v části Applications (Aplikace) > Development (Vývoj). 2 Připojte zařízení k počítači pomocí kabelu USB. 3 Nainstalujte běhový modul AIR, pokud jste tak dosud neučinili, a to tak, že přejdete na web Android Market a
stáhnete prostředí Adobe AIR. (Prostředí AIR můžete také nainstalovat místně pomocí „Příkaz installRuntime nástroje ADT“ na stránce 173. Balíčky systému Android pro použití v zařízeních Android a příslušných emulátorech jsou součástí sady AIR SDK.) 4 Vyberte příkaz Soubor > Publikovat.
Aplikace Flash Professional vytvoří soubor APK, nainstaluje aplikaci na připojené zařízení Android a spustí ji.
Vytvoření první aplikace AIR pro systém iOS Prostředí AIR 2.6 nebo novější, systém iOS 4.2 nebo novější Základní funkce aplikace pro systém iOS můžete kódovat, vytvářet a testovat pouze pomocí nástrojů od společnosti Adobe. Instalace aplikace pro systém iOS v zařízení a její distribuce však vyžaduje, abyste se připojili k programu Apple iOS Developer (což je placená služba). Jakmile se k programu iOS Developer připojíte, získáte přístup k portálu iOS Provisioning Portal, kde můžete od společnosti Apple získat následující položky a soubory, které jsou nutné pro instalaci aplikace v zařízení za účelem testování a pro následnou distribuci. Tyto položky a soubory zahrnují:
• vývojářské a distribuční certifikáty, • ID aplikací, • prováděcí soubory pro vývoj a distribuci.
Vytvoření obsahu aplikace Vytvořte soubor SWF, který zobrazuje text „Hello world!“. Tento úkol můžete provést pomocí aplikace Flash Professional či Flash Builder nebo jiného prostředí IDE. V tomto příkladu se jednoduše používá textový editor a kompilátor souboru SWF na příkazovém řádku, který je součástí sady Flex SDK. 1 Ve vhodném umístění vytvořte adresář pro ukládání souborů aplikace. Vytvořte soubor s názvem HelloWorld.as a
upravte jej v oblíbeném editoru kódu. 2 Přidejte následující kód:
Poslední aktualizace 19.11.2013
27
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vytvoření první aplikace AIR
public class HelloWorld extends Sprite { public function HelloWorld():void { var textField:TextField = new TextField(); textField.text = "Hello World!"; textField.autoSize = TextFieldAutoSize.LEFT; var format:TextFormat = new TextFormat(); format.size = 48; textField.setTextFormat ( format ); this.addChild( textField ); } } }
3 Zkompilujte třídu pomocí kompilátoru amxmlc: amxmlc HelloWorld.as
Ve stejné složce se vytvoří soubor SWF HelloWorld.swf. Poznámka: V tomto příkladu se předpokládá, že jste nastavili proměnnou prostředí pro cestu tak, aby zahrnovala adresář obsahující kompilátor amxmlc. Informace o nastavení cesty naleznete v části „Proměnné prostředí pro cestu“ na stránce 300. Alternativou je zadání úplné cesty ke kompilátoru amxmlc a jiným nástrojům příkazového řádku použitým v tomto příkladu.
Vytvoření obrazu ikony a úvodní obrazovky pro aplikaci Všechny aplikace pro systém iOS obsahují ikony, které budou zobrazeny na uživatelském rozhraní aplikace iTunes i na obrazovce zařízení. 1 Vytvořte pod složkou projektu složku s názvem icons (Ikony). 2 Ve složce ikon vytvořte tři soubory PNG. Pojmenujte je Icon_29.png, Icon_57.png a Icon_512.png. 3 Tyto soubory PNG upravte a vytvořte pro svou aplikaci příslušné obrazy. Je třeba, aby soubory měly velikost 29 x
29 obr. bodů, 57 x 57 obr. bodů a 512 x 512 obr. bodů. V rámci tohoto testu můžete obrazy jednoduše nahradit plnobarevnými čtverci. Poznámka: Při odeslání aplikace do obchodu App Store společnosti Apple použijete u souboru s 512 obr. body verzi ve formátu JPEG (a nikoli verzi ve formátu PNG). Verze ve formátu PNG slouží k testování vývojových verzí aplikace. Všechny aplikace pro zařízení iPhone při načítání aplikace do zařízení iPhone zobrazují počáteční obraz. Počáteční obraz definujte jako soubor PNG: 1 V hlavní vývojové složce vytvořte soubor PNG s názvem Default.png. (Tento soubor neumísťujte do podsložky
ikon. Je nezbytné, abyste jako název souboru použili výraz „Default“, kde „D“ bude velké písmeno.) 2 Rozměry souboru upravte na šířku 320 obr. bodů a výšku 480 obr. bodů. Obsahem může být zatím prostý bílý
obdélník. (To změníme později.)
Poslední aktualizace 19.11.2013
28
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vytvoření první aplikace AIR
Podrobné informace o této grafice naleznete v části „Ikony aplikace“ na stránce 85.
Vytvoření souboru deskriptoru aplikace Vytvořte soubor deskriptoru aplikace, která určuje základní vlastnosti aplikace. Tento úkol můžete provést pomocí prostředí IDE, jako je aplikace Flash Builder nebo textový editor. 1 Ve složce projektu, která obsahuje soubor HelloWorld.as, vytvořte soubor XML s názvem HelloWorld-app.xml.
Upravte tento soubor ve svém oblíbeném editoru XML. 2 Přidejte následující kód XML: change_to_your_idHello World iOS0.0.1HelloWorld <supportedProfiles>mobileDevice HelloWorld.swfHello World!icons/AIRApp_29.pngicons/AIRApp_57.pngicons/AIRApp_512.png
V zájmu zjednodušení se v tomto příkladu nastavuje pouze několik dostupných vlastností. Poznámka: Pokud používáte prostředí AIR 2 nebo starší, je nutné použít element namísto elementu . 3 Změňte ID aplikace tak, aby odpovídalo ID aplikace určenému na portálu iOS Provisioning Portal. (Nezahrnujte
náhodnou část představující zdroj balíku na začátku ID.) 4 Otestujte aplikaci pomocí programu ADL: adl HelloWorld-app.xml -screensize iPhone
Program ADL by měl otevřít okno ve stolním počítači, ve kterém se zobrazí text: Hello World!. Pokud jej neotevře, zkontrolujte zdrojový kód a deskriptor aplikace z hlediska možných chyb.
Kompilace souboru IPA Nyní můžete pomocí nástroje ADT zkompilovat soubor instalátoru IPA. Musíte mít vývojářský certifikát od společnosti Apple a soukromý klíč ve formátu souboru P12 a prováděcí profil pro vývoj od společnosti Apple. Spusťte nástroj ADT s následujícími možnostmi, přičemž hodnoty keystore, storepass a provisioning-profile nahraďte vlastními: adt -package -target ipa-debug -keystore iosPrivateKey.p12 -storetype pkcs12 -storepass qwerty12 -provisioning-profile ios.mobileprovision HelloWorld.ipa HelloWorld-app.xml HelloWorld.swf icons Default.png
Poslední aktualizace 19.11.2013
29
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vytvoření první aplikace AIR
(Použijte jediný příkazový řádek; tento příklad je rozdělen na řádky pouze s cílem usnadnit jeho čtení.) Nástroj ADT vygeneruje soubor instalátoru aplikace pro systém iOS, HelloWorld.ipa, v adresáři projektu. Kompilace souboru IPA může několik minut trvat.
Instalace aplikace v zařízení Instalace aplikace pro systém iOS pro testování: 1 Otevřete aplikaci iTunes. 2 Pokud jste tak ještě neučinili, přidejte do aplikace iTunes prováděcí soubor pro svou aplikaci. V aplikaci iTunes
vyberte položky File (Soubor) > Add to Library (Přidat do knihovny). Poté vyberte soubor prováděcího profilu (bude označen jako typ souboru mobileprovision). K testování aplikace ve vývojářském zařízení zatím používejte vývojový prováděcí profil. Až budete později aplikaci distribuovat do obchodu iTunes Store, použijte distribuční profil. Chcete-li aplikaci distribuovat ad hoc (do více různých zařízení a bez obchodu iTunes Store), použijte ad hoc prováděcí profil. Další informace o prováděcích profilech naleznete v části „Nastavení systému iOS“ na stránce 64. 3 Některé verze aplikace iTunes aplikaci nenahradí, pokud je již nainstalována stejná verze aplikace. V takovém
případě svou aplikaci odstraňte ze zařízení i ze seznamu aplikací v aplikaci iTunes. 4 Poklepejte na soubor IPA aplikace. Aplikace by se měla objevit v seznamu aplikací v aplikaci iTunes. 5 Připojte zařízení k portu USB v počítači. 6 V aplikaci iTunes vyhledejte zařízení na záložce Application (Aplikace) a ujistěte se, že je aplikace vybrána v
seznamu aplikací určených k instalaci. 7 Vyberte zařízení v levém seznamu aplikace iTunes. Poté klepněte na tlačítko Sync (Synchronizovat). Aplikace Hello
World se po dokončení synchronizace objeví v zařízení iPhone. Pokud není nová verze nainstalována, odstraňte ji ze zařízení i ze seznamu aplikací v aplikaci iTunes a následně celý tento postup opakujte. K této situaci může dojít, pokud aktuálně nainstalovaná verze používá stejné ID i verzi aplikace.
Úprava grafiky úvodní obrazovky Před zkompilováním aplikace jste vytvořili soubor Default.png. (Další informace naleznete v části „Vytvoření obrazu ikony a úvodní obrazovky pro aplikaci“ na stránce 27. Tento soubor PNG slouží jako počáteční obraz během načítání aplikace. Možná jste si během testování aplikace v zařízení iPhone všimli při spouštění této prázdné obrazovky. Tento obraz doporučujeme změnit tak, aby odpovídal úvodní obrazovce aplikace („Hello World!“).: 1 Spusťte v zařízení aplikaci. Až bude poprvé zobrazen text „Hello World“, stiskněte a podržte tlačítko Domů pod
obrazovkou. Stále držte tlačítko Domů a stiskněte v horní části zařízení iPhone tlačítko Napájení/režim spánku. Tímto postupem pořídíte snímek obrazovky a odešlete jej do složky Camera Roll. 2 Obraz převeďte do vývojového počítače. Použijte k tomu převod fotografií z aplikace iPhoto nebo jiné aplikace
umožňující převod fotografií. (V systému MacOS můžete také použít aplikaci Image Capture.) Stejně tak můžete fotografii do vývojového počítače odeslat e-mailem:
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vytvoření první aplikace AIR
• Poklepejte na obraz a poté poklepejte v levém dolním rohu na tlačítko (šipku) vpřed. Poté klepněte na tlačítko Email Photo (Odeslat fotografii e-mailem) a odešlete obraz sami sobě. 3 Soubor Default.png (ve vývojové složce) nahraďte verzí obrazu zachycené obrazovky ve formátu PNG. 4 Znovu aplikaci zkompilujte (další informace naleznete v části „Kompilace souboru IPA“ na stránce 28) a aplikaci v
zařízení přeinstalujte. Aplikace bude nyní během načítání používat novou úvodní obrazovku. Poznámka: Pro soubor Dafault.png můžete vytvořit libovolnou grafiku se správnými rozměry (320 x 480 obr. bodů). Často je ale nejlepší, pokud obraz v souboru Default.png odpovídá počátečnímu stavu aplikace.
Vytvoření první aplikace AIR založené na HTML pomocí programu Dreamweaver Toto téma nabízí rychlé a praktické znázornění toho, jakým způsobem pracuje prostředí Adobe ® AIR®. Postupujte podle pokynů a pomocí rozšíření aplikace Adobe® AIR® pro program Dreamweaver® vytvořte a sbalte jednoduchou aplikaci AIR „Hello World“ založenou na HTML. Pokud jste to ještě neudělali, stáhněte a nainstalujte si prostředí Adobe AIR, které je umístěno zde: www.adobe.com/go/air_cz. Pokyny k instalaci rozšíření aplikace Adobe AIR pro program Dreamweaver naleznete v části Instalace rozšíření aplikace AIR pro program Dreamweaver. Přehled rozšíření, včetně systémových požadavků, naleznete v části Rozšíření aplikace AIR pro program Dreamweaver. Poznámka: Aplikace AIR založené na jazyce HTML lze vyvíjet pouze pro profily desktop a extendedDesktop. Mobilní profil není podporovaný.
Příprava souborů aplikace Aplikace Adobe AIR musí mít na webovém místě programu Dreamweaver definovanou úvodní stránku i všechny ostatní stránky: 1 Spusťte program Dreamweaver a ujistěte se, že máte definované webové místo. 2 Otevřete novou stránku HTML: zvolte možnost Soubor > Nový, ve sloupci Typ stránky vyberte možnost HTML,
ve sloupci Rozvržení zvolte možnost Žádný a klikněte na tlačítko Vytvořit. 3 Na novou stránku zadejte Hello World!
Tento příklad je extrémně jednoduchý, ale pokud chcete změnit styl textu podle vlastního přání, přidejte na stránku další obsah, propojte s touto úvodní stránkou další stránky atd. 4 Uložte soubor (Soubor > Uložit) jako hello_world.html. Ujistěte se, že je soubor uložen na webovém místě
programu Dreamweaver. Další informace o webových místech programu Dreamweaver naleznete v Nápovědě programu Dreamweaver.
Vytvoření aplikace Adobe AIR 1 Ujistěte se, že je v okně Dokument programu Dreamweaver otevřena stránka hello_world.html. (Pokyny k jeho
vytvoření naleznete v předchozí části.)
Poslední aktualizace 19.11.2013
31
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vytvoření první aplikace AIR
2 Zvolte možnost Webové místo > Nastavení aplikace AIR.
Většina požadovaných nastavení v aplikaci AIR a v dialogovém okně Nastavení se doplní automaticky. Nicméně je třeba vybrat počáteční obsah (neboli úvodní stránku) aplikace. 3 Kliknutím na tlačítko Procházet umístěné u volby Počáteční obsah přejděte na stránku hello_world.html a vyberte ji. 4 Vedle volby Digitální podpis klikněte na tlačítko Nastavit.
Digitální podpis poskytuje záruku, že kód aplikace nebyl od vytvoření autorem softwaru změněn ani poškozen, a je vyžadován u všech aplikací Adobe AIR. 5 V dialogovém okně Digitální podpis zvolte možnost Podepsat balík AIR pomocí digitálního certifikátu a klikněte
na tlačítko Vytvořit. (Pokud již máte přístup k digitálnímu certifikátu, můžete jej vybrat pomocí tlačítka Procházet.) 6 Doplňte vyžadovaná pole v dialogovém okně Digitální certifikát s vlastním podpisem. Musíte zadat své jméno,
zadat heslo a potvrdit je a zadat název souboru digitálního certifikátu. Program Dreamweaver uloží digitální certifikát do kořene webového místa. 7 Klepnutím na tlačítko OK přejděte zpět do dialogového okna Digitální podpis. 8 V dialogovém okně Digitální podpis zadejte heslo, které jste přiřadili digitálnímu podpisu a klikněte na tlačítko OK.
Doplněné dialogové okno Nastavení aplikace AIR a instalátoru může vypadat například takto:
Poslední aktualizace 19.11.2013
32
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vytvoření první aplikace AIR
Další vysvětlení všech možností dialogových oken a způsobů jejich úprav naleznete v části Vytvoření aplikace AIR v programu Dreamweaver. 9 Klikněte na tlačítko Vytvořit soubor AIR.
Program Dreamweaver vytvoří soubor aplikace Adobe AIR a uloží jej do kořenové složky daného webového místa. Kromě toho program Dreamweaver vytvoří soubor application.xml a uloží jej na stejné místo. Tento soubor slouží jako manifest definující různé vlastnosti aplikace.
Instalace aplikace ve stolním počítači Když je nyní vytvořen soubor aplikace, lze jej instalovat v libovolném stolním počítači. 1 Přesuňte soubor aplikace Adobe AIR z webového místa programu Dreamweaver do vlastního či jiného počítače.
Tento krok je volitelný. Ve skutečnosti je možné novou aplikaci instalovat v počítači přímo z adresáře webového místa programu Dreamweaver. 2 Dvakrát klikněte na proveditelný soubor aplikace (soubor .air) a nainstalujte aplikaci.
Náhled aplikace Adobe AIR Stránky, jež budou součástí aplikací AIR, lze kdykoliv zobrazit v náhledu. To znamená, že není nutné aplikaci sbalit, aby bylo možné zkontrolovat, jak bude vypadat po instalaci. 1 Ujistěte se, že je v okně Dokument programu Dreamweaver otevřena stránka hello_world.html. 2 Na panelu nástrojů Dokument klikněte na tlačítko Náhled/Ladění v prohlížeči a zvolte možnost Náhled v aplikaci AIR.
Rovněž lze stisknout klávesy Ctrl+Shift+F12 (Windows) nebo Cmd+Shift+F12 (Macintosh). V náhledu této stránky v podstatě vidíte to, co uvidí uživatel jako úvodní stránku aplikace po nainstalování aplikace ve stolním počítači.
Vytvoření první aplikace AIR založené na HTML pomocí sady AIR SDK Toto téma nabízí rychlé a praktické znázornění toho, jakým způsobem pracuje prostředí Adobe ® AIR®. Postupujte podle pokynů a vytvořte a sbalte jednoduchou aplikaci AIR „Hello World“ založenou na HTML. Nejprve je nutné mít nainstalovaný běhový modul a nastavenou sadu AIR SDK. V této výukové lekci použijete programy AIR Debug Launcher (ADL) a AIR Developer Tool (ADT). ADL a ADT jsou pomocné programy příkazového řádku, které naleznete v adresáři bin sady AIR SDK (další informace v tématu „Instalace sady AIR SDK“ na stránce 16). Tato výuková lekce předpokládá, že jste již obeznámeni se spouštěním programů z příkazového řádku a víte, jak se nastavují nezbytné proměnné prostředí cest pro daný operační systém. Poznámka: Jste-li uživatelem programu Adobe® Dreamweaver®, přečtěte si část „Vytvoření první aplikace AIR založené na HTML pomocí programu Dreamweaver“ na stránce 30. Poznámka: Aplikace AIR založené na jazyce HTML lze vyvíjet pouze pro profily desktop a extendedDesktop. Mobilní profil není podporovaný.
Poslední aktualizace 19.11.2013
33
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vytvoření první aplikace AIR
Vytvoření souborů projektu Každý projekt AIR založený na HTML musí zahrnovat následující dva soubory: soubor deskriptoru aplikace, který určuje metadata aplikace, a stránku HTML nejvyšší úrovně. Kromě těchto vyžadovaných souborů zahrnuje tento projekt také soubor s kódem JavaScript AIRAliases.js, který definuje vhodné proměnné zástupců pro třídy rozhraní API aplikace AIR. 1 Vytvořte adresář s názvem HelloWorld, v němž budou uloženy soubory projektu. 2 Vytvořte soubor XML s názvem HelloWorld-app.xml. 3 Vytvořte soubor HTML s názvem HelloWorld.html. 4 Zkopírujte soubor AIRAliases.js ze složky rámců sady AIR SDK do adresáře projektu.
Vytvoření souboru deskriptoru aplikace AIR Aby bylo možné zahájit vytváření aplikace AIR, vytvořte soubor XML deskriptoru aplikace s následující strukturou: …………… <width>… …
1 Otevřete soubor HelloWorld-app.xml k provádění úprav. 2 Přidejte kořenový element včetně atributu jmenného prostoru aplikace AIR:
Poslední segment jmenného prostoru „2.7“ určuje verzi běhového modulu vyžadovaného aplikací. 3 Přidejte element :
examples.html.HelloWorld ID aplikace jednoznačně označuje aplikaci spolu s ID vydavatele (které aplikace AIR získá z certifikátu použitého k podepsání balíku aplikace). ID aplikace slouží k instalaci, přístupu k adresáři úložiště systému souborů soukromé aplikace, přístupu k soukromému šifrovanému úložišti a komunikaci mezi aplikacemi. 4 Přidejte element :
0.1 Pomáhá uživatelům určit, jakou verzi aplikace instalují. Poznámka: Pokud používáte prostředí AIR 2 nebo starší, je nutné použít element namísto elementu .
5 Přidejte element :
HelloWorld Název použitý pro spustitelný soubor aplikace, instalační adresář a další odkazy na aplikaci v operačním systému. 6 Přidejte element obsahující následující podřízené elementy, jež určí vlastnosti úvodního okna
aplikace: HelloWorld.html Určuje kořenový soubor HTML, který má aplikace AIR načíst.
Poslední aktualizace 19.11.2013
34
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vytvoření první aplikace AIR
true Ihned okno zviditelní. <width>400 Nastavuje šířku okna (v obrazových bodech). 200 Nastavuje výšku okna. 7 Uložte soubor. Dokončený soubor deskriptoru aplikace by měl vypadat následovně: examples.html.HelloWorld0.1HelloWorldHelloWorld.htmltrue <width>400 200
V tomto příkladu se nastaví jen několik možných vlastností aplikace. Kompletní sadu vlastností aplikace, pomocí nichž lze určit například systémové prvky okna, velikost okna, průhlednost, výchozí instalační adresář, přiřazené typy souborů a ikony aplikace, naleznete v části „Soubory deskriptorů aplikací AIR“ na stránce 201.
Vytvoření stránky HTML aplikace Je třeba vytvořit jednoduchou stránku HTML, která bude sloužit jako hlavní soubor pro aplikaci AIR. 1 Otevřete soubor HelloWorld.html k provádění úprav. Přidejte následující kód HTML: Hello World
Hello World
2 Do části kódu HTML importujte soubor AIRAliases.js: <script src="AIRAliases.js" type="text/javascript">
Aplikace AIR definuje u objektu okna HTML vlastnost s názvem runtime. Vlastnost runtime poskytuje přístup k vestavěným třídám AIR pomocí úplného názvu balíku třídy. Pokud byste například chtěli vytvořit objekt AIR File, mohli byste přidat následující příkaz v jazyce JavaScript: var textFile = new runtime.flash.filesystem.File("app:/textfile.txt");
Soubor AIRAliases.js definuje vhodné zástupce pro nejužitečnější rozhraní API aplikace AIR. Pomocí souboru AIRAliases.js lze zkrátit odkaz na třídu File následovně: var textFile = new air.File("app:/textfile.txt");
3 Pod tag scriptu AIRAliases přidejte další tag scriptu obsahující funkci JavaScript pro zpracování události onLoad:
Poslední aktualizace 19.11.2013
35
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vytvoření první aplikace AIR
<script type="text/javascript"> function appLoad(){ air.trace("Hello World"); }
Funkce appLoad() jednoduše zavolá funkci air.trace(). Zpráva trace se tiskne do příkazové konzoly při spuštění aplikace pomocí programu ADL. Příkazy trace mohou být velmi užitečné při ladění. 4 Uložte soubor.
Soubor HelloWorld.html by teď měl vypadat následovně: Hello World <script type="text/javascript" src="AIRAliases.js"> <script type="text/javascript"> function appLoad(){ air.trace("Hello World"); }
Hello World
Testování aplikace Chcete-li aplikaci spustit a otestovat z příkazového řádku, použijte pomocný program ADL (AIR Debug Launcher). Proveditelný soubor programu ADL naleznete v adresáři bin sady AIR SDK. Pokud jste ještě nenainstalovali sadu AIR SDK, podívejte se na téma „Instalace sady AIR SDK“ na stránce 16. 1 Otevřete příkazovou konzolu nebo interpreta shell. Přejděte do adresáře, který jste vytvořili pro tento projekt. 2 Spusťte následující příkaz. adl HelloWorld-app.xml
Otevře se okno aplikace AIR, v němž bude zobrazena nová aplikace. V okně konzoly se rovněž zobrazí výsledná zpráva volání funkce air.trace(). Další informace naleznete v části „Soubory deskriptorů aplikací AIR“ na stránce 201.
Vytvoření instalačního souboru aplikace AIR Po úspěšném spuštění aplikace můžete pomocí pomocného programu ADL aplikaci sbalit do instalačního souboru AIR. Instalační soubor AIR je archivní soubor obsahující všechny soubory aplikace, který lze předat uživatelům. Před instalací sbaleného souboru AIR je nutné instalovat aplikaci Adobe AIR. Aby byla zajištěna bezpečnost aplikace, musí být všechny instalační soubory AIR opatřeny digitálním podpisem. Pro účely vývoje aplikace lze pomocí programu ADT či jiného nástroje pro generování certifikátů vygenerovat základní certifikát s vlastním podpisem. Rovněž je možné zakoupit komerční certifikát pro podpis kódu od komerční certifikační autority, např. VeriSign nebo Thawte. Když uživatel instaluje soubor AIR s vlastním podpisem, zobrazuje se vydavatel během procesu instalace jako „neznámý“. Je tomu tak proto, že certifikát s vlastním podpisem zaručuje
Poslední aktualizace 19.11.2013
36
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vytvoření první aplikace AIR
pouze to, že soubor AIR nebyl od svého vytvoření změněn. Proti tomu, aby někdo připojil vlastní podpis k fingovanému souboru AIR a vydával jej za vaši aplikaci, neexistuje žádná obrana. Pro veřejně vydávané soubory AIR se rozhodně doporučuje použít ověřitelný komerční certifikát. Přehled otázek týkajících se zabezpečení aplikace AIR naleznete v tématu Zabezpečení aplikace AIR (pro vývojáře používající jazyk ActionScript) nebo Zabezpečení aplikace AIR (pro vývojáře používající jazyk HTML). Generování certifikátu s vlastním podpisem a klíče ❖ Z příkazového řádku zadejte následující příkaz (proveditelný soubor programu ADT je umístěn v adresáři bin sady AIR SDK): adt -certificate -cn SelfSigned 1024-RSA sampleCert.pfx samplePassword
Program ADT vygeneruje soubor keystore s názvem sampleCert.pfx, který obsahuje certifikát a odpovídající soukromý klíč. V tomto příkladu se použije minimální počet atributů, které lze nastavit pro certifikát. Typ klíče musí být buď 1024RSA nebo 2048-RSA (viz „Podepisování aplikací AIR“ na stránce 186). Vytvoření instalačního souboru aplikace AIR ❖ Z příkazového řádku zadejte následující příkaz (na jediném řádku): adt -package -storetype pkcs12 -keystore sampleCert.pfx HelloWorld.air HelloWorld-app.xml HelloWorld.html AIRAliases.js
Budete vyzváni k zadání hesla souboru keystore. Argument HelloWorld.air je soubor AIR vytvořený programem ADT. HelloWorld-app.xml je soubor deskriptoru aplikace. Následné argumenty jsou soubory používané aplikací. V tomto příkladu jsou použity pouze dva soubory, ale lze zahrnout libovolný počet souborů a adresářů. Nástroj ADT ověří, zda je hlavní soubor obsahu, HelloWorld.html, součástí balíčku, ale pokud jste zapomněli zahrnout soubor AIRAliases.js, pak aplikace jednoduše nebude fungovat. Po vytvoření balíku AIR je možné instalovat a spustit aplikaci dvojitým kliknutím na soubor balíku. Název souboru AIR lze rovněž zadat jako příkaz do interpreta shell nebo do příkazového okna.
Další postup V aplikaci AIR se kód HTML a JavaScript obvykle chová stejně jako v běžném webovém prohlížeči. (Aplikace AIR ve skutečnosti používá stejný vykreslovací modul WebKit jako webový prohlížeč Safari.) Nicméně zde existuje několik důležitých rozdílů, které je při vývoji aplikací HTML v prostředí AIR nutné znát. Více informací o těchto rozdílech a další důležitá témata naleznete v článku Programování v jazyce HTML a JavaScript.
Vytvoření první aplikace AIR pro stolní počítače pomocí sady Flex SDK Pro rychlé a praktické znázornění práce prostředí Adobe® AIR® použijte tyto pokyny k vytvoření jednoduché aplikace AIR „Hello World“ založené na formátu SWF pomocí sady Flex SDK. V této výukové lekci se dozvíte, jak zkompilovat, otestovat a zabalit aplikaci AIR pomocí nástrojů příkazového řádku, které jsou k dispozici v sadě Flex SDK (sada Flex SDK obsahuje sadu AIR SDK).
Poslední aktualizace 19.11.2013
37
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vytvoření první aplikace AIR
Nejprve je nutné nainstalovat běhový modul a nastavit aplikaci Adobe® Flex™. V této výukové lekci se používá kompilátor AMXMLC, aplikace AIR Debug Launcher (ADL) a nástrojAIR Developer Tool (ADT). Tyto programy naleznete v adresáři bin sady Flex SDK ( viz „Nastavení sady Flex SDK“ na stránce 18).
Vytvoření souboru deskriptoru aplikace AIR V této části je popsán postup vytvoření deskriptoru aplikace, což je soubor XML s touto strukturou: ......……… <width>… …
1 Vytvořte soubor XML s názvem HelloWorld-app.xml a uložte jej do adresáře projektu. 2 Přidejte element včetně atributu jmenného prostoru aplikace AIR:
Poslední segment jmenného prostoru „2.7“ určuje verzi běhového modulu vyžadovaného aplikací. 3 Přidejte element :
samples.flex.HelloWorld ID aplikace jednoznačně určuje aplikaci spolu s ID vydavatele (které aplikace AIR získá z certifikátu použitého k podepsání balíku aplikace). Doporučovaný tvar je řetězec s hodnotami oddělenými tečkou v obráceném stylu DNS, například "com.company.AppName". ID aplikace slouží k instalaci, přístupu k adresáři úložiště systému souborů soukromé aplikace, přístupu k soukromému šifrovanému úložišti a komunikaci mezi aplikacemi. 4 Přidejte element :
1.0 Pomáhá uživatelům určit, jakou verzi aplikace instalují. Poznámka: Pokud používáte prostředí AIR 2 nebo starší, je nutné použít element namísto elementu . 5 Přidejte element :
HelloWorld Název použitý pro spustitelný soubor aplikace, instalační adresář a obdobný pro odkazy v operačním systému. 6 Přidejte element obsahující následující podřízené elementy, jež určí vlastnosti úvodního okna
aplikace: HelloWorld.swf Určuje kořenový soubor SWF, který má prostředí AIR načíst. true Ihned okno zviditelní. <width>400 Nastavuje šířku okna (v obrazových bodech). 200 Nastavuje výšku okna. 7 Uložte soubor. Úplný soubor deskriptoru aplikace by měl vypadat takto:
Poslední aktualizace 19.11.2013
38
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vytvoření první aplikace AIR
V tomto příkladu se nastaví jen několik možných vlastností aplikace. Kompletní sadu vlastností aplikace, pomocí nichž lze určit například systémové prvky okna, velikost okna, průhlednost, výchozí instalační adresář, přiřazené typy souborů a ikony aplikace, naleznete v části „Soubory deskriptorů aplikací AIR“ na stránce 201.
Zápis kódu aplikace Poznámka: Aplikace AIR založené na formátu SWF mohou využívat hlavní třídu definovanou pomocí jazyka MXML nebo Adobe® ActionScript® 3.0. V tomto příkladu je k určení hlavní třídy použit soubor MXML. Proces vytváření aplikace AIR s hlavní třídou jazyka ActionScript je podobný. Namísto kompilace souboru MXML do souboru SWF zkompilujete soubor třídy jazyka ActionScript. Používáte-li jazyk ActionScript, hlavní třída musí rozšiřovat třídu flash.display.Sprite. Podobně jako všechny aplikace vytvořené v prostředí Flex, aplikace AIR sestavené v prostředí Flex obsahují hlavní soubor MXML. Aplikace AIR pro stolní počítače využívají jako kořenový element komponentu WindowedApplication a nikoli komponentu Application. Komponenta WindowedApplication poskytuje vlastnosti, metody a události pro řízení aplikace a jejího úvodního okna. V platformách a profilech, pro něž prostředí AIR nepodporuje více oken, používejte nadále komponentu Application. V mobilních aplikacích Flex můžete používat také komponentu View nebo TabbedViewNavigatorApplication. Následující procedura vytvoří aplikaci Hello World: 1 Pomocí textového editoru vytvořte soubor s názvem HelloWorld.mxml a přidejte tento kód MXML: <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" title="Hello World">
2 Pak přidejte do aplikace komponentu Label (umístěte ji dovnitř tagu WindowedApplication). 3 Vlastnost text komponenty Label nastavte na řetězec "Hello AIR". 4 Omezení rozvržení nastavte tak, aby bylo stále zachováno vystředění.
Následující příklad zobrazuje dosavadní kód: <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" title="Hello World"> <s:Label text="Hello AIR" horizontalCenter="0" verticalCenter="0"/>
Poslední aktualizace 19.11.2013
39
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vytvoření první aplikace AIR
Kompilace aplikace Než budete moci aplikaci spustit a ladit, zkompilujte kód MXML pomocí kompilátoru amxmlc do souboru SWF. Kompilátor amxmlc naleznete v adresáři bin sady Flex SDK. Podle potřeby můžete nastavit prostředí cesty počítače tak, aby zahrnovalo adresář bin sady Flex SDK. Nastavení cesty usnadňuje spuštění utilit na příkazovém řádku. 1 Spusťte příkazové prostředí nebo terminál a přejděte do složky projektu aplikace AIR. 2 Zadejte následující příkaz: amxmlc HelloWorld.mxml
Spuštěním kompilátoru amxmlc vytvoříte soubor HelloWorld.swf, který obsahuje zkompilovaný kód aplikace. Poznámka: Pokud se aplikace nezkompiluje, opravte syntaktické nebo pravopisné chyby. Chyby a upozornění se zobrazí v okně konzoly, které slouží ke spouštění kompilátoru amxmlc. Další informace naleznete v tématu „Kompilace zdrojových souborů MXML a ActionScript pro aplikaci AIR“ na stránce 152.
Testování aplikace Chcete-li spouštět a testovat aplikaci pomocí příkazového řádku, použijte program AIR Debug Launcher (ADL) ke spuštění aplikace s použitím jejího souboru deskriptoru aplikace. (Program ADL naleznete v adresáři bin sady Flex SDK.) ❖ Pomocí příkazového řádku zadejte tento příkaz: adl HelloWorld-app.xml
Výsledná aplikace AIR vypadá podobně jako na tomto obrázku:
Pomocí vlastností horizontalCenter a verticalCenter ovládacího prvku Label se text umístí do středu okna. Přesuňte okno nebo změňte jeho velikost jako u jakékoliv jiné počítačové aplikace. Další informace naleznete v části „Program AIR Debug Launcher (ADL)“ na stránce 156.
Vytvoření instalačního souboru aplikace AIR Po úspěšném spuštění aplikace můžete pomocí pomocného programu ADL aplikaci sbalit do instalačního souboru AIR. Instalační soubor AIR je archivní soubor obsahující všechny soubory aplikace, který lze předat uživatelům. Před instalací sbaleného souboru AIR je nutné instalovat aplikaci Adobe AIR. Aby byla zajištěna bezpečnost aplikace, musí být všechny instalační soubory AIR opatřeny digitálním podpisem. Pro účely vývoje aplikace lze pomocí programu ADT či jiného nástroje pro generování certifikátů vygenerovat základní certifikát s vlastním podpisem. Můžete také zakoupit komerční certifikát pro podpis kódu od komerční certifikační autority. Když uživatel instaluje soubor AIR s vlastním podpisem, zobrazuje se vydavatel během procesu instalace jako „neznámý“. Je tomu tak proto, že certifikát s vlastním podpisem zaručuje pouze to, že soubor AIR nebyl od svého
Poslední aktualizace 19.11.2013
40
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vytvoření první aplikace AIR
vytvoření změněn. Proti tomu, aby někdo připojil vlastní podpis k fingovanému souboru AIR a vydával jej za vaši aplikaci, neexistuje žádná obrana. Pro veřejně vydávané soubory AIR se rozhodně doporučuje použít ověřitelný komerční certifikát. Přehled otázek týkajících se zabezpečení aplikace AIR naleznete v tématu Zabezpečení aplikace AIR (pro vývojáře používající jazyk ActionScript) nebo Zabezpečení aplikace AIR (pro vývojáře používající jazyk HTML). Generování certifikátu s vlastním podpisem a klíče ❖ Z příkazového řádku zadejte následující příkaz (spustitelný soubor programu ADT je umístěn v adresáři bin sady Flex SDK): adt -certificate -cn SelfSigned 1024-RSA sampleCert.pfx samplePassword
V tomto příkladu se použije minimální počet atributů, které lze nastavit pro certifikát. Typ klíče musí být buď 1024RSA nebo 2048-RSA (viz „Podepisování aplikací AIR“ na stránce 186). Vytvoření balíčku AIR ❖ Z příkazového řádku zadejte následující příkaz (na jediném řádku): adt -package -storetype pkcs12 -keystore sampleCert.pfx HelloWorld.air HelloWorld-app.xml HelloWorld.swf
Budete vyzváni k zadání hesla souboru keystore. Zadejte heslo a stiskněte klávesu Enter. Znaky hesla nebudou z bezpečnostních důvodů zobrazeny. Argument HelloWorld.air je soubor AIR vytvořený programem ADT. HelloWorld-app.xml je soubor deskriptoru aplikace. Následné argumenty jsou soubory používané aplikací. V tomto příkladu jsou použity pouze tři soubory, ale lze zahrnout libovolný počet souborů a adresářů. Po vytvoření balíku AIR je možné instalovat a spustit aplikaci dvojitým kliknutím na soubor balíku. Název souboru AIR lze rovněž zadat jako příkaz do interpreta shell nebo do příkazového okna. Další informace naleznete v tématu „Balení instalačního souboru aplikace AIR pro stolní počítač“ na stránce 52.
Vytvoření první aplikace AIR pro systém Android pomocí sady Flex SDK Nejprve musíte mít nainstalovány a nastaveny sady AIR SDK a Flex SDK. V této výukové lekci se používá kompilátor AMXMLC ze sady Flex SDK a nástroje AIR Debug Launcher (ADL) a AIR Developer Tool (ADT) ze sady AIR SDK. Viz „Nastavení sady Flex SDK“ na stránce 18. Také je nutné si z webu pro systém Android stáhnout a nainstalovat sadu Android SDK, jak je popsáno zde: Vývojáři systému Android: Instalace sady SDK. Poznámka: Informace o vývoji pro zařízení iPhone naleznete v tématu Creating a Hello World iPhone application with Flash Professional CS5 (Vytvoření aplikace Hello World pro zařízení pomocí aplikace iPhone Flash Professional CS5).
Vytvoření souboru deskriptoru aplikace AIR V této části je popsán postup vytvoření deskriptoru aplikace, což je soubor XML s touto strukturou:
Poslední aktualizace 19.11.2013
41
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vytvoření první aplikace AIR
......…… <supportedProfiles>...
1 Vytvořte soubor XML s názvem HelloWorld-app.xml a uložte jej do adresáře projektu. 2 Přidejte element včetně atributu jmenného prostoru aplikace AIR:
Poslední segment jmenného prostoru „2.7“ určuje verzi běhového modulu vyžadovaného aplikací. 3 Přidejte element :
samples.android.HelloWorld ID aplikace jednoznačně označuje aplikaci spolu s ID vydavatele (které aplikace AIR získá z certifikátu použitého k podepsání balíku aplikace). Doporučovaný tvar je řetězec s hodnotami oddělenými tečkou v obráceném stylu DNS, například "com.company.AppName". 4 Přidejte element :
0.0.1 Pomáhá uživatelům určit, jakou verzi aplikace instalují. 5 Přidejte element :
HelloWorld Název použitý pro spustitelný soubor aplikace, instalační adresář a obdobný pro odkazy v operačním systému. 6 Přidejte element obsahující následující podřízené elementy, jež určí vlastnosti úvodního okna
aplikace: HelloWorld.swf Určuje kořenový soubor HTML, který má prostředí AIR načíst. 7 Přidejte element <supportedProfiles>:
<supportedProfiles>mobileDevice Určuje, že se aplikace spustí pouze v mobilním profilu. 8 Uložte soubor. Úplný soubor deskriptoru aplikace by měl vypadat takto: samples.android.HelloWorld0.0.1HelloWorldHelloWorld.swf <supportedProfiles>mobileDevice
V tomto příkladu se nastaví jen několik možných vlastností aplikace. K dispozici jsou další nastavení, která můžete v souboru deskriptoru aplikace použít. Například můžete přidat položku true do elementu initialWindow, čímž vytvoříte celoobrazovkovou aplikaci. Chcete-li povolit vzdálené ladění a funkce s řízeným přístupem v systému Android, bude rovněž nutné do deskriptoru aplikace přidat oprávnění systému Android. Pro tuto jednoduchou aplikaci nejsou oprávnění potřebná, takže není nutné je nyní přidávat. Další informace naleznete v tématu „Nastavení vlastností mobilní aplikace“ na stránce 69.
Poslední aktualizace 19.11.2013
42
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vytvoření první aplikace AIR
Zápis kódu aplikace Vytvořte soubor s názvem HelloWorld.as a pomocí textového editoru přidejte následující kód: package { import flash.display.Sprite; import flash.text.TextField; public class HelloWorld extends Sprite { public function HelloWorld() { var textField:TextField = new TextField(); textField.text = "Hello, World!"; stage.addChild( textField ); } } }
Kompilace aplikace Než budete moci aplikaci spustit a ladit, zkompilujte kód MXML pomocí kompilátoru amxmlc do souboru SWF. Kompilátor amxmlc naleznete v adresáři bin sady Flex SDK. Podle potřeby můžete nastavit prostředí cesty počítače tak, aby zahrnovalo adresář bin sady Flex SDK. Nastavení cesty usnadňuje spuštění utilit na příkazovém řádku. 1 Spusťte příkazové prostředí nebo terminál a přejděte do složky projektu aplikace AIR. 2 Zadejte následující příkaz: amxmlc HelloWorld.as
Spuštěním kompilátoru amxmlc vytvoříte soubor HelloWorld.swf, který obsahuje zkompilovaný kód aplikace. Poznámka: Pokud se aplikace nezkompiluje, opravte syntaktické nebo pravopisné chyby. Chyby a upozornění se zobrazí v okně konzoly, které slouží ke spouštění kompilátoru amxmlc. Další informace naleznete v tématu „Kompilace zdrojových souborů MXML a ActionScript pro aplikaci AIR“ na stránce 152.
Testování aplikace Chcete-li spouštět a testovat aplikaci pomocí příkazového řádku, použijte program AIR Debug Launcher (ADL) ke spuštění aplikace s použitím jejího souboru deskriptoru aplikace. (Program ADL naleznete v adresáři bin sady AIR SDK a Flex SDK.) ❖ Pomocí příkazového řádku zadejte tento příkaz: adl HelloWorld-app.xml
Další informace naleznete v části „Simulace zařízení pomocí programu ADL“ na stránce 96.
Vytvoření souboru balíčku APK Po úspěšném spuštění aplikace můžete pomocí programu ADL aplikaci sbalit do souboru balíčku APK. Soubor balíčku APK je nativní formát souboru aplikace Android, který můžete distribuovat uživatelům.
Poslední aktualizace 19.11.2013
43
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vytvoření první aplikace AIR
Všechny aplikace AIR musejí být podepsané. Na rozdíl od souborů AIR je zvykem podepisovat aplikace pro systém Android certifikátem s vlastním podpisem. Operační systém Android se nepokusí zjistit totožnost vývojáře aplikace. K podepsání balíčků pro systém Android můžete použít certifikát generovaný nástrojem ADT. Certifikáty použité pro aplikace odesílané na web Android Market musejí mít dobu platnosti nejméně 25 let. Generování certifikátu s vlastním podpisem a klíče ❖ Z příkazového řádku zadejte následující příkaz (spustitelný soubor programu ADT je umístěn v adresáři bin sady Flex SDK): adt -certificate -validityPeriod 25 -cn SelfSigned 1024-RSA sampleCert.pfx samplePassword
V tomto příkladu se použije minimální počet atributů, které lze nastavit pro certifikát. Typ klíče musí být buď 1024RSA nebo 2048-RSA (viz „Příkaz certificate nástroje ADT“ na stránce 170). Vytvoření balíčku AIR ❖ Z příkazového řádku zadejte následující příkaz (na jediném řádku): adt -package -target apk -storetype pkcs12 -keystore sampleCert.p12 HelloWorld.apk HelloWorld-app.xml HelloWorld.swf
Budete vyzváni k zadání hesla souboru keystore. Zadejte heslo a stiskněte klávesu Enter. Další informace naleznete v tématu „Zabalení mobilní aplikace AIR“ na stránce 89. Instalace běhového modulu AIR Nejnovější verzi běhového modulu AIR můžete do svého zařízení nainstalovat z webu Android Market. Můžete také nainstalovat běhový modul, který je součástí sady SDK, a to buď do zařízení, nebo do emulátoru systému Android. ❖ Z příkazového řádku zadejte následující příkaz (na jediném řádku): adt -installRuntime -platform android -platformsdk
Příznak -platformsdk nastavte na adresář sady Android SDK (zadejte nadřazený adresář složky tools). Nástroj ADT nainstaluje soubor Runtime.apk, který je součástí sady SDK. Další informace naleznete v části „Instalace běhového modulu AIR a aplikací pro vývoj“ na stránce 104. Instalace aplikace AIR ❖ Z příkazového řádku zadejte následující příkaz (na jediném řádku): adt -installApp -platform android -platformsdk path-to-android-sdk -package path-to-app
Příznak -platformsdk nastavte na adresář sady Android SDK (zadejte nadřazený adresář složky tools). Další informace naleznete v části „Instalace běhového modulu AIR a aplikací pro vývoj“ na stránce 104. Aplikaci můžete spustit klepnutím na ikonu aplikace na obrazovce zařízení nebo emulátoru.
Poslední aktualizace 19.11.2013
44
Kapitola 6: Vývoj aplikací AIR pro stolní počítače Pracovní postup pro vývoj aplikací AIR pro stolní počítače Základní pracovní postup pro vývoj aplikace AIR je stejný jako většina tradičních vývojových modelů: vytvoření kódu, kompilace, test a na konci cyklu zabalení do instalačního souboru. Kód aplikace můžete napsat pomocí jazyků Flash, Flex a ActionScript a zkompilovat jej pomocí nástroje Flash Professional, Flash Builder nebo kompilátorů příkazového řádku mxmlc a compc. Kód aplikace můžete napsat také pomocí jazyka HTML a JavaScript a krok kompilace přeskočit. Aplikace AIR pro stolní počítače můžete testovat pomocí nástroje ADL, který spustí aplikaci bez nutnosti předchozího zabalení a instalace. Programy Flash Professional, Flash Builder, Dreamweaver a Aptana IDE jsou integrovány s debuggerem Flash. Ladicí program, FDB, lze spustit také ručně pomocí nástroje ADL z příkazového řádku. Samotný nástroj ADL nezobrazí chyby a výstup příkazu trace. Všechny aplikace AIR musí být zabaleny do instalačního souboru. Formát souboru AIR pro více platforem se nedoporučuje v následujících případech:
• Potřebujete získat přístup k rozhraním API závislým na platformě, jako je třída NativeProcess. • Aplikace používá nativní rozšíření. V takových případech můžete vytvořit balíček aplikace AIR jako nativní instalační soubor specifický pro platformu.
Aplikace založené na SWF 1 Napište kód v jazyce MXML nebo ActionScript. 2 Vytvořte potřebné prostředky, jako bitmapové soubory ikon. 3 Vytvořte deskriptor aplikace. 4 Zkompilujte kód jazyka ActionScript. 5 Otestujte aplikaci. 6 Zabalte a podepište jako soubor AIR pomocí cíle air.
Aplikace založené na jazyce HTML 1 Napište kód HTML a JavaScript. 2 Vytvořte potřebné prostředky, jako bitmapové soubory ikon. 3 Vytvořte deskriptor aplikace. 4 Otestujte aplikaci. 5 Zabalte a podepište jako soubor AIR pomocí cíle air.
Poslední aktualizace 19.11.2013
45
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro stolní počítače
Vytváření nativních instalačních programů pro aplikace AIR 1 Napište kód (ActionScript nebo HTML a JavaScript). 2 Vytvořte potřebné prostředky, jako bitmapové soubory ikon. 3 Vytvořte deskriptor aplikace určující profil extendedDesktop. 4 Zkompilujte všechen kód jazyka ActionScript. 5 Otestujte aplikaci. 6 Zabalte aplikaci na jednotlivých cílových platformách pomocí cíle native.
Poznámka: Nativní instalační program pro cílovou platformu musí být vytvořen na dané platformě. Není například možné vytvořit instalační soubor systému Windows v počítači Mac. Můžete použít virtuální počítač, například VMWare, pro spuštění více platforem na stejném počítačovém hardwaru.
Vytváření aplikací AIR s kaptivním balíčkem běhového prostředí 1 Napište kód (ActionScript nebo HTML a JavaScript). 2 Vytvořte potřebné prostředky, jako bitmapové soubory ikon. 3 Vytvořte deskriptor aplikace určující profil extendedDesktop. 4 Zkompilujte všechen kód jazyka ActionScript. 5 Otestujte aplikaci. 6 Zabalte aplikaci na jednotlivých cílových platformách pomocí cíle bundle. 7 Vytvořte instalační program pomocí souborů svazku. (Sada AIR SDK neposkytuje nástroje pro vytváření takového
instalačního programu, ale k dispozici je řada sad nástrojů jiných výrobců.) Poznámka: Svazek pro cílovou platformu musí být vytvořen na dané platformě. Není například možné vytvořit svazek systému Windows v počítači Mac. Můžete použít virtuální počítač, například VMWare, pro spuštění více platforem na stejném počítačovém hardwaru.
Nastavení vlastností aplikace pro stolní počítače Nastavte základní vlastnosti aplikace v souboru deskriptoru aplikace. Tato část obsahuje vlastnosti týkající se aplikací AIR pro stolní počítače. Elementy soubor deskriptoru aplikace jsou kompletně popsány v tématu „Soubory deskriptorů aplikací AIR“ na stránce 201.
Vyžadovaná verze běhového modulu AIR Určete verzi běhového modulu AIR požadovanou pro aplikaci využívající obor názvů souboru deskriptoru aplikace. Obor názvů, přiřazený elementu application, určuje z velké části, které funkce může daná aplikace používat. Například pokud aplikace používá obor názvů AIR 1.5 a uživatel má nainstalovánu aplikaci AIR 3.0, vidí aplikace chování verze AIR 1.5 (a to i v případě, že bylo chování ve verzi AIR 3.0 změněno). Aplikace získá přístup k novému chování a funkcím pouze v případě, že změníte obor názvů a publikujete aktualizaci. Primárními výjimkami této zásady jsou změny zabezpečení a sady WebKit. Určete obor názvů pomocí atributu xmlns kořenového elementu application:
Poslední aktualizace 19.11.2013
46
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro stolní počítače
Další témata Nápovědy „application“ na stránce 207
Identita aplikace Několik nastavení by mělo být jedinečných pro každou aplikaci, kterou publikujete. Jedinečná nastavení zahrnují ID, název a název souboru. com.example.MyApplicationMy ApplicationMyApplication
Další témata Nápovědy „id“ na stránce 221 „filename“ na stránce 217 „name“ na stránce 229
Verze aplikace Ve verzích prostředí AIR starších než verze 2.5 zadejte aplikaci v elementu version. Můžete použít libovolný řetězec. Běhové prostředí AIR neinterpretuje řetězec; 2.0 není považována za vyšší verzi než 1.0. 1.23 Beta 7
V prostředí AIR 2.5 a novějších zadejte verzi aplikace do elementu versionNumber. Element version již není možné používat. Při zadávání hodnoty elementu versionNumber je nutné použít posloupnost až tří čísel oddělených tečkami, například: „0.1.2“. Každý segment čísla verze může mít až tři číslice. (Jinými slovy, nejvyšší přípustné číslo verze je „999.999.999“.) Není nutné uvést všechny tři segmenty čísla; hodnoty „1“ a „1.0“ jsou také přípustná čísla verzí. Můžete také zadat popisek verze pomocí elementu versionLabel. Při přidání popisku verze se popisek zobrazí místo čísla verze na takových místech, jako jsou dialogová okna instalačního programu aplikace AIR. 1.23.71.23 Beta 7
Další témata Nápovědy „version“ na stránce 237 „versionLabel“ na stránce 238 „versionNumber“ na stránce 238
Vlastnosti hlavního okna Po spuštění vytvoří aplikace AIR na ploše okno a načte do něj hlavní soubor SWF nebo stránku HTML. Aplikace AIR použije podřízené elementy elementu initialWindow k řízení úvodního vzhledu a chování tohoto počátečního okna aplikace.
• content – hlavní soubor SWF aplikace v podřízeném elementu content elementu initalWindow. K identifikaci zařízení v profilu stolního počítače můžete použít soubor SWF nebo soubor HTML.
Poslední aktualizace 19.11.2013
47
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro stolní počítače
MyApplication.swf
Soubor je nutné zahrnout do balíčku AIR (pomocí nástroje ADT nebo vašeho prostředí IDE). Prosté uvedení názvu v deskriptoru aplikace nevede k automatickému zahrnutí souboru do balíčku.
• depthAndStencil – určuje, zda se má použít vyrovnávací paměť pro hloubku nebo šablonu. Tyto vyrovnávací paměti se běžně používají při práci s 3D obsahem. <depthAndStencil>true
• height – výška úvodního okna. • maximizable – zda je zobrazen systémový styl okolí pro maximalizaci okna. • maxSize – maximální povolená velikost. • minimizable – zda je zobrazen systémový styl okolí pro minimalizaci okna. • minSize – minimální povolená velikost. • renderMode – V prostředí AIR 3 nebo novější lze režim vykreslování v případě aplikací pro stolní počítače nastavit na auto, cpu, direct či gpu. Ve starších verzích aplikace AIR je toto nastavení ignorováno na platformách stolních počítačů. Nastavení renderMode nelze provést za běhu.
• auto – v podstatě stejný jako režim cpu. • CPU – objekty zobrazení jsou vykresleny a zkopírovány do paměti zobrazení v softwaru. Možnost StageVideo je dostupná, pouze když je okno v režimu na celou obrazovku. Možnost Stage3D používá softwarové vykreslení.
• direct – objekty zobrazení jsou vykresleny softwarem běhového prostředí, ale kopírování vykresleného snímku do paměti zobrazení (blitting) je hardwarově akcelerováno. StageVideo je k dispozici. Možnost Stage3D využívá hardwarovou akceleraci, pokud je to jinak možné. Pokud je průhlednost okna nastavena na hodnotu true, posune se okno zpět do softwarového vykreslování a blittingu. Poznámka: Aby bylo možné využít akceleraci obsahu Flash pomocí GPU v prostředí AIR pro mobilní platformy, společnost Adobe doporučuje, abyste použili volbu renderMode="direct" (tzn. Stage3D) a nikoli renderMode="gpu". Společnost Adobe oficiálně podporuje a doporučuje tato prostředí založená na rozhraní Stage3D – Starling (2D) a Away3D (3D). Podrobnější informace o rozhraní Stage3D a prostředí Starling/Away3D naleznete na webu http://gaming.adobe.com/getstarted/.
• gpu – pokud je k dispozici, použije se hardwarová akcelerace. • requestedDisplayResolution – Určuje, zda má vaše aplikace v počítačích MacBook Pro s displeji s vysokým rozlišením používat režim rozlišení standard nebo high. Ve všech ostatních platformách je tato hodnota ignorována. Pokud je určena hodnota standard, každý obrazový bod plochy se vykreslí jako čtyři obrazové body na displeji. Pokud je určena hodnota high, každý obrazový bod plochy odpovídá jednomu fyzickému obrazovému bodu na displeji. Zadané hodnota se používá pro všechna okna aplikace. Element requestedDisplayResolution lze používat pro aplikace AIR pro stolní počítače (jako podřízený prvek elementu intialWindow) v prostředí AIR 3.6 a novějších.
• resizable – určuje, zda je zobrazen systémový styl okolí pro změnu velikosti okna. • systemChrome – zda je použit standardní vzhled okna operačního systému. Nastavení systemChrome okna nelze změnit za běhu.
• title – název okna. • transparent – Určuje, zda je okno prolnuté proti pozadí pomocí prolnutí alfa. Okno nemůže používat systémový styl okolí, pokud je zapnuta průhlednost. Nastavení průhlednosti okna nelze změnit za běhu.
Poslední aktualizace 19.11.2013
48
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro stolní počítače
• visible – zda se okno zobrazí hned po vytvoření. Ve výchozím nastavení se okno na začátku nezobrazí, aby aplikace mohla vykreslit jeho obsah dříve, než se zviditelní.
• width – šířka okna. • x – vodorovné umístění okna. • y – svislé umístění okna.
Další témata Nápovědy „content“ na stránce 211 „depthAndStencil“ na stránce 213 „height“ na stránce 220 „maximizable“ na stránce 228 „maxSize“ na stránce 228 „minimizable“ na stránce 229 „minimizable“ na stránce 229 „minSize“ na stránce 229 „renderMode“ na stránce 231 „requestedDisplayResolution“ na stránce 232 „resizable“ na stránce 233 „systemChrome“ na stránce 235 „title“ na stránce 236 „transparent“ na stránce 237 „visible“ na stránce 238 „width“ na stránce 239 „x“ na stránce 239 „y“ na stránce 240
Funkce pro stolní počítač Následující elementy řídí funkce instalace a aktualizace na ploše stolního počítače.
• customUpdateUI – umožňuje zadat vlastní dialogová okna pro aktualizaci aplikace. Pokud je nastaven na výchozí hodnotu false, budou použita standardní dialogová okna aplikace AIR.
• fileTypes – určuje typy souborů, které chce aplikace zaregistrovat jako výchozí aplikace pro otevírání. Pokud je jiná aplikace již nastavena jako výchozí pro otevírání určitého typu souborů, aplikace AIR nepřepíše stávající registraci. Aplikace však může změnit registraci za běhu pomocí metody setAsDefaultApplication() objektu NativeApplication. Je vhodné požádat uživatele o povolení před přepsáním stávajících přidružení typů souboru. Poznámka: Registrace typu souboru je ignorována při zabalení aplikace jako kaptivního balíčku běhového prostředí (pomocí cíle -bundle). K registraci daného typu souboru, je nutné vytvořit instalační program, který provede registrací.
Poslední aktualizace 19.11.2013
49
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro stolní počítače
• installFolder – Určuje relativní cestu ke standardní instalační složce aplikace, do které je aplikace nainstalována. Toto nastavení lze použít k zadání názvu vlastní složky i ke seskupení více aplikací do společné složky.
• programMenuFolder – určuje hierarchii nabídky pro nabídku Všechny programy systému Windows. Toto nastavení slouží k seskupení více aplikací do společné nabídky. Pokud není zadána žádná složka nabídek, bude zástupce aplikace přidán přímo do hlavní nabídky.
Další témata Nápovědy „customUpdateUI“ na stránce 213 „fileTypes“ na stránce 218 „installFolder“ na stránce 225 „programMenuFolder“ na stránce 231
Podporované profily Pokud má vaše aplikace smysl pouze ve stolním počítači, můžete zabránit její instalaci do zařízení v jiném profilu vyloučením tohoto profilu ze seznamu podporovaných profilů. Pokud aplikace používá třídu NativeProcess nebo nativní rozšíření, musí podporovat profil extendedDesktop. Ponecháte-li prvek supportedProfile mimo deskriptor aplikace, pak se předpokládá, že aplikace podporuje všechny definované profily. Chcete-li omezit přístup aplikace na určitý seznam profilů, zadejte seznam profilů oddělený mezerou: <supportedProfiles>desktop extendedDesktop
Seznam tříd jazyka ActionScript podporovaných v profilu desktop a extendedDesktop naleznete v tématu „Schopnosti různých profilů“ na stránce 242.
Další témata Nápovědy „supportedProfiles“ na stránce 235
Požadovaná nativní rozšíření Aplikace, které podporují profil extendedDesktop, mohou využívat nativní rozšíření. Deklarujte všechna nativní rozšířená, která aplikace AIR používá, v deskriptoru aplikace. Následující příklad ukazuje syntaxi pro zadání dvou požadovaných nativních rozšíření: <extensions> <extensionID> com.example.extendedFeature <extensionID> com.example.anotherFeature
Element extensionID má stejnou hodnotu jako element id v souboru deskriptoru rozšíření. Soubor deskriptoru rozšíření je soubor XML s názvem extension.xml. Je zabalen v souboru ANE, který obdržíte od vývojáře nativního rozšíření.
Ikony aplikace Ve stolním počítači se ikony zadané v deskriptoru aplikace používají jako soubor aplikace, zástupce a ikony v nabídce programů. Ikona aplikace by měla být dodána jako sada obrázků PNG o rozměrech 16 x 16, 32 x 32, 48 x 48 a 128 x 128 obrazových bodů. Cestu k souborům ikon určete v elementu icon v souboru deskriptoru aplikace:
Poslední aktualizace 19.11.2013
50
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro stolní počítače
Pokud nezadáte ikonu dané velikosti, bude použita další největší velikost a přizpůsobena rozměrům. Pokud nezadáte žádné ikony, bude použita výchozí ikona systému.
Další témata Nápovědy „icon“ na stránce 221 „imageNxN“ na stránce 222
Ignorovaná nastavení Aplikace ve stolním počítači bude ignorovat nastavení aplikace, která platí pro funkce mobilního profilu. Ignorována nastavení zahrnují:
• android • aspectRatio • autoOrients • fullScreen • iPhone • renderMode (před vydáním verze prostředí AIR 3) • requestedDisplayResolution • softKeyboardBehavior
Ladění aplikace AIR pro stolní počítač. Pokud vyvíjíte aplikaci pomocí prostředí IDE, například Flash Builder, Flash Professional nebo Dreamweaver, jsou obvykle jeho součástí ladicí nástroje. Aplikaci můžete jednoduše ladit spuštěním v režimu ladění. Pokud nepoužíváte prostředí IDE podporující ladění přímo, můžete použít nástroje AIR Debug Launcher (ADL) a Flash Debugger (FDB), které vám pomohou při ladění aplikace.
Další témata Nápovědy De Monsters: Monster Debugger „Ladění pomocí prohlížeče Introspector HTML aplikace AIR“ na stránce 278
Spuštění aplikace pomocí nástroje ADL Aplikaci AIR můžete spustit bez zabalení a instalace pomocí nástroje ADL. Soubor deskriptoru aplikace předejte nástroji ADL jako parametr, jak je znázorněno v následujícím příkladu (kód ActionScript v aplikaci musí být nejprve kompilován): adl myApplication-app.xml
Poslední aktualizace 19.11.2013
51
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro stolní počítače
Nástroj ADL vytiskne příkazy trace, výjimky běhového modulu a chyby analyzátoru HTML v okně terminálu. Pokud proces FDB čeká na příchozí připojení, připojí se nástroj ADL k debuggeru. Pomocí nástroje ADL se lze rovněž ladit aplikaci AIR, která používá nativní rozšíření. Například: adl -extdir extensionDirs myApplication-app.xml
Další témata Nápovědy „Program AIR Debug Launcher (ADL)“ na stránce 156
Tisk příkazů trace Chcete-li tisknout příkazy trace do konzoly použité ke spuštění programu ADL, přidejte příkazy trace do kódu pomocí funkce trace(). Poznámka: Pokud se příkazy trace() nezobrazí v konzole, zkontrolujte, zda jste v souboru mm.cfg neurčili vlastnost ErrorReportingEnable nebo TraceOutputFileEnable. Další informace o umístěních tohoto souboru specifických
pro platformu naleznete v článku Úpravy souboru mm.cfg. Příklad jazyka ActionScript: //ActionScript trace("debug message");
Příklad jazyka JavaScript: //JavaScript air.trace("debug message");
V kódu JavaScript lze pomocí funkcí alert() a confirm() zobrazit zprávy ladění z vlastní aplikace. Mimo to se do konzoly vytisknou čísla řádků pro chyby syntaxe, jakož i jakékoliv nezachycené výjimky jazyka JavaScript. Poznámka: Pokud chcete použít předponu air znázorněnou v příkladu jazyka JavaScript, musíte do stránky importovat soubor AIRAliases.js. Tento soubor je umístěn v adresáři frameworks sady AIR SDK.
Připojení k programu Flash Debugger (FDB) Chcete-li aplikaci AIR ladit pomocí nástroje Flash Debugger, spusťte relaci programu FDB a poté spusťte aplikaci pomocí programu ADL. Poznámka: V aplikacích AIR založených na SWF je třeba zkompilovat zdrojové soubory ActionScript s příznakem debug. (V aplikaci Flash Professional zkontrolujte v dialogovém okně Nastavení publikování volbu Povolit ladění.)
1 Spusťte program FDB. Program FDB naleznete v adresáři bin sady Flex SDK.
Konzola zobrazí výzvu programu FDB: 2 Spusťte příkaz run: run [Enter] 3 V odlišném příkazu nebo konzole skořepiny spusťte verzi ladění své aplikace: adl myApp.xml
4 Pomocí příkazů programu FDB nastavte dle potřeby body rozdělení. 5 Zadejte: continue [Enter]
Pokud aplikace AIR vychází z formátu SWF, ovládá ladicí program pouze spuštění kódu jazyka ActionScript. Pokud aplikace AIR vychází z jazyka HTML, pak ovládá ladicí program pouze spuštění kódu jazyka JavaScript. Chcete-li nástroj ARL spustit a přitom se nepřipojovat k ladicímu programu, zařaďte do příkazu volbu -nodebug:
Poslední aktualizace 19.11.2013
52
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro stolní počítače
adl myApp.xml -nodebug
Potřebujete-li základní informace o příkazech programu FDB, spusťte příkaz help: help [Enter]
Podrobnosti o příkazech programu FDB naleznete v dokumentaci aplikace Flex v tématu Using the command-line debugger commands (Používání ladicích příkazů příkazového řádku).
Balení instalačního souboru aplikace AIR pro stolní počítač Každá aplikace AIR musí mít minimálně soubor deskriptoru aplikace a hlavní soubor SWF nebo HTML. Jakékoliv další datové zdroje, které mají být s aplikací nainstalovány, musí být rovněž zabaleny do souboru AIR. Tento článek pojednává o balení aplikace AIR pomocí nástrojů příkazového řádku, které jsou součástí sady SDK. Informace o balení aplikace pomocí některého z nástrojů vytváření aplikace Adobe naleznete v následujících dokumentech:
• Adobe® Flex® Builder™, viz téma Balení aplikací AIR pomocí nástroje Flex Builder. • Adobe® Flash® Builder™, viz téma Balení aplikací AIR pomocí nástroje Flash Builder. • Adobe® Flash® Professional, viz téma Publikování pro prostředí Adobe Air. • Adobe® Dreamweaver® viz téma Vytvoření aplikace AIR v programu Dreamweaver. Všechny soubory instalátoru AIR musí být podepsány pomocí digitálního certifikátu. Instalátor AIR používá podpis k ověření, zda váš soubor aplikace nebyl od podepsání pozměněn. Můžete použít certifikát podpisu kódu z certifikační autority nebo certifikát s vlastním podpisem. Když použijete certifikát vydaný důvěryhodnou autoritou poskytnete uživatelům vaší aplikace určité záruky vaší totožnosti jako vydavatele. Dialog instalace obsahuje informace, že vaše identita byla ověřena certifikační autoritou:
Dialog potvrzení instalace pro aplikaci, která je podepsána důvěryhodným certifikátem
Když použijete certifikát podepsaný svým držitelem, uživatelé nemohou ověřit vaši identitu jako podepisující osoba. Certifikát podepsaný svým držitelem rovněž oslabuje záruku toho, že balík nebyl změněn. (Protože než se legitimní instalační soubor dostal k uživateli, mohl být nahrazen nepravým souborem.) Instalační dialog obsahuje informaci, že identitu vydavatele nelze ověřit. Když uživatelé vaši aplikaci nainstalují, podstupují vyšší riziko.
Poslední aktualizace 19.11.2013
53
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro stolní počítače
Dialog potvrzení instalace pro aplikaci, která je podepsána certifikátem podepsaným svým držitelem
Soubor AIR můžete zabalit a podepsat v jediném kroku pomocí příkazu ADT -package. Pomocí příkazu preparemůžete také vytvořit dočasný nepodepsaný balík a tento přechodný balík můžete podepsat pomocí příkazu sign v samostatném kroku. Poznámka: Jazyk Java verze 1.5 a vyšší nepřijímá hesla obsahující znaky high-ASCII pro ochranu souborů certifikátů PKCS12. Když vytvoříte nebo exportujete kód podepisující soubor certifikátu, používejte v heslu pouze znaky ze sady ASCII. Při podepisování balíku instalace připojit ADT automaticky autoritu časové známky pro ověření času. Informace časové známky je obsažena v souboru AIR. Soubor AIR, který obsahuje ověřenou časovou známku, lze nainstalovat kdykoliv v budoucnosti. Jestliže se ADT nemůže připojit k serveru časové známky, je zabalení zrušeno. Volbu časové známky můžete potlačit, ale bez časové známky nelze aplikaci AIR po vypršení certifikátu použitého k podepsání instalačního souboru nainstalovat. Pokud vytváříte balík k aktualizaci stávající aplikace AIR, musí být tento balík podepsán stejným certifikátem jako původní aplikace. Pokud byl původní certifikát obnoven, jeho platnost v posledních 180 dnech vypršela, nebo pokud chcete provést změnu na nový certifikát, můžete použít podpis migrace. Podpis migrace zahrnuje podepsání souboru aplikace AIR novým i starým certifikátem. Použijte příkaz -migrate k použití podpisu migrace, jak je popsáno v tématu „Příkaz migrate nástroje ADT“ na stránce 170. Důležité: Striktně je stanovena doba odkladu 180 dní k použití podpisu migrace po vypršení platnosti původního certifikátu. Bez podpisu migrace musí stávající uživatelé před instalací nové verze odinstalovat svoji stávající aplikaci. Období odkladu se vztahuje pouze na aplikace, které mají ve jmenném prostoru deskriptoru aplikace uvedenu verzi prostředí AIR 1.5.3 nebo vyšší. Doba odkladu není stanovena, když se zaměříte na dřívější verze běhového modulu AIR. Před verzí AIR 1.1 nebyly podpisy migrace podporovány. Chcete-li použít podpis migrace, musíte sbalit aplikaci se sadou SDK verze 1.1 nebo novější. Aplikace rozmístěné pomocí souborů AIR jsou známy jako aplikace s profilem plochy. Nemůžete použít ADT k zabalení nativního instalátoru pro aplikaci AIR, pokud soubor deskriptoru aplikace nepodporuje profil plochy. Tento profil nemůžete omezit pomocí prvku supportedProfiles v souboru deskriptoru aplikace. Viz témata „Profily zařízení“ na stránce 241 a „supportedProfiles“ na stránce 235. Poznámka: Nastavení v souboru deskriptoru aplikace určuje identitu aplikace AIR a její výchozí cestu instalace. Viz „Soubory deskriptorů aplikací AIR“ na stránce 201. ID vydavatele Od verze AIR 1.5.3 jsou ID vydavatele nepřípustné. Nové aplikace (původně publikované s verzí AIR 1.5.3 nebo novější) nepotřebují a neměly by určovat ID vydavatele.
Poslední aktualizace 19.11.2013
54
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro stolní počítače
Při aktualizaci aplikací publikovaných s předchozími verzemi AIR musíte v souboru deskriptoru aplikace určit původní ID vydavatele. V opačném případě budou nainstalovaná verze aplikace a aktualizovaná verze považovány za různé aplikace. Použijete-li různé ID nebo vynecháte tag publisherID, uživatel musí před instalací nové verze odinstalovat předchozí verzi. Chcete-li zjistit původní ID vydavatele, vyhledejte soubor publisherid v podadresáři META-INF/AIR, kde je nainstalována původní aplikace. Řetězec uvnitř tohoto souboru je ID vydavatele. Deskriptor vaší aplikace musí určovat běhový modul AIR 1.5.3 (nebo novější) v deklaraci jmenného prostoru deskriptoru aplikace, aby bylo možné zadat ID vydavatele ručně. Pro aplikace publikované ve starších verzích než AIR 1.5.3, nebo publikované pomocí verze AIR 1.5.3 SDK s určenou předchozí verzí AIR ve jmenném prostoru deskriptoru aplikace je ID vydavatele vypočítáno na základě podpisového certifikátu. Toto ID je použito spolu s ID aplikace ke stanovení identity aplikace. ID vydavatele, pokud je přítomno, slouží k těmto účelům:
• Ověření, zda je soubor AIR aktualizací spíše než nově instalovanou aplikací • Jako součást šifrovacího klíče pro šifrované místní úložiště • Jako součást cesty pro adresář úložiště aplikace • Jako součást připojovacího řetězce pro místní připojení • Jako součást řetězce identity používaného k vyvolání aplikace pomocí rozhraní API v prohlížeči prostředí AIR • Jako součást specifikace OSID (používané při vytváření vlastních instalačních a odinstalačních programů) Před verzí AIR 1.5.3 bylo možné změnit ID vydavatele, pokud jste podepsali aktualizaci aplikace podpisem migrace pomocí nového nebo obnoveného certifikátu. Když se změní ID vydavatele, změní se i chování veškerých funkcí prostředí AIR, které na tomto ID závisí. Například data ve stávajícím zašifrovaném úložišti již nejsou přístupná a veškeré instance prostředí Flash nebo AIR, které vytvářejí místní připojení k aplikaci, musí v připojovacím řetězci používat nové ID. Ve verzi AIR 1.5.3 nebo novější je ID vydavatele založeno na podpisovém certifikátu a je přiřazeno, pouze pokud je tag publisherID obsažen v deskriptoru aplikace. Aplikaci nelze aktualizovat, pokud ID se vydavatele, které je určeno pro aktualizační balík AIR, neshoduje s aktuálním ID vydavatele.
Zabalení pomocí nástroje ADT Ke sbalení aplikace AIR můžete použít nástroj příkazového řádku ADT. Před zabalením musí být zkompilován veškerý kód ActionScript a MXML a případných rozšíření. Musíte také mít certifikát pro podepsání kódu. Podrobné informace o příkazech a možnostech nástroje ADT naleznete v části věnované „AIR Developer Tool (ADT)“ na stránce 162. Vytvoření balíčku AIR Chcete-li vytvořit balíček aplikace AIR, použijte příkaz package nástroje ADT s nastavením typu cíle air pro výsledná sestavení. adt -package -target air -storetype pkcs12 -keystore ../codesign.p12 myApp.air myApp-app.xml myApp.swf icons
V příkladu se předpokládá, že cesta k nástroji ADT se nachází v definici cesty v prostředí příkazového řádku. (Nápovědu naleznete v části „Proměnné prostředí pro cestu“ na stránce 300.) Příkaz je nutné spustit z adresáře obsahujícího soubory aplikace. Soubory aplikace v uvedeném příkladu jsou myAppapp.xml (soubor deskriptoru aplikace), myApp.swf a adresář icons.
Poslední aktualizace 19.11.2013
55
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro stolní počítače
Při spuštění příkazu, jak je uveden, vás nástroj ADT vyzve k zadání hesla pro úložiště klíčů. (Znaky hesla nejsou vždy zobrazeny; po dokončení zadávání stiskněte klávesu Enter.) Vytvoření balíčku aplikace AIR ze souboru AIRI Můžete vytvořit podepsaný soubor AIRI za účelem vytvoření instalačního balíčku aplikace AIR: adt -sign -storetype pkcs12 -keystore ../codesign.p12 myApp.airi myApp.air
Sbalení nativního instalátoru pro stolní počítač Od verze AIR 2 můžete použít nástroj ADT k vytvoření nativních instalátorů aplikace pro distribuci aplikací AIR. Můžete například sestavit soubor instalátoru ve formátu EXE k distribuci aplikace AIR v operačním systému Windows. Můžete sestavit soubor instalátoru ve formátu DMG k distribuci aplikace AIR v operačním systému Mac OS. V prostředí AIR 2.5 a AIR 2.6 můžete sestavit soubor instalátoru ve formátu DEB nebo RPM k distribuci aplikace AIR v operačním systému Linux. Aplikace instalované pomocí nativního instalátoru aplikace jsou označovány jako aplikace s rozšířeným profilem plochy. Nemůžete použít ADT k zabalení nativního instalátoru pro aplikaci AIR, pokud soubor deskriptoru aplikace nepodporuje rozšířený profil plochy. Tento profil nemůžete omezit pomocí prvku supportedProfiles v souboru deskriptoru aplikace. Viz témata „Profily zařízení“ na stránce 241 a „supportedProfiles“ na stránce 235. Nativní verzi instalátoru aplikace AIR můžete sestavit dvěma způsoby:
• Nativní instalátor můžete sestavit na základě souboru deskriptoru aplikace a dalších zdrojových souborů. (Ostatní zdrojové soubory mohou obsahovat soubory SWF, HTML a další datové zdroje.)
• Nativní instalátor můžete sestavit na základě souboru AIR nebo na základě souboru AIRI. ADT musíte používat ve stejném operačním systému, jako je ten, pro který chcete generovat soubor nativního instalátoru. Chcete-li tedy vytvořit soubor EXE pro Windows, spusťte ADT v operačním systému Windows. Chceteli vytvořit soubor DMG pro Mac OS, spusťte ADT v operačním systému Mac OS. Chcete-li vytvořit soubor DEB nebo RPG pro Linux, spusťte ADT ze sady AIR 2.6 SDK v operačním systému Linux. Když vytvoříte nativní instalátor k distribuování aplikace AIR, tato aplikace získá následující schopnosti:
• Pomocí třídy NativeProcess může spouštět a ovlivňovat nativní procesy. Podrobnosti najdete v následujících zdrojích:
• Komunikace s nativními procesy v prostředí AIR (pro vývojáře pracující s jazykem ActionScript) • Komunikace s nativními procesy v AIR (pro vývojáře pracující s jazykem HTML) • Může použít nativní rozšíření. • Může použít metodu File.openWithDefaultApplication() k otevření libovolného souboru pomocí výchozí systémové aplikace definované k jeho otevření bez ohledu na jeho typ souboru. (Existují omezení pro aplikace, které nejsou instalovány pomocí nativního instalátoru. Podrobnosti najdete v referenční příručce v části týkající se metody File.openWithDefaultApplication().) Pokud je však soubor zabalen jako nativní instalační program, ztrácí aplikace některé výhody formátu souborů AIR. Jeden soubor již nelze distribuovat do všech stolních počítačů. Integrované funkce aktualizace (ani rozhraní aktualizačního programu) nefungují.
Poslední aktualizace 19.11.2013
56
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro stolní počítače
Když uživatel poklepe na soubor nativního instalátoru, aplikaci AIR nainstaluje. Pokud není zatím v počítači nainstalována požadovaná verze Adobe AIR, instalátor ji nejdříve stáhne ze sítě a nainstaluje. Není-li k dispozici síťové připojení, ze kterého by bylo možné správnou verzi Adobe AIR (podle potřeby) získat, instalace se nezdaří. Instalace se rovněž nezdaří, pokud operační systém není podporován v aplikaci Adobe AIR 2. Poznámka: Chcete-li, aby byl soubor spustitelný ve vaší nainstalované aplikaci, přesvědčte se, zda je spustitelný v systému souborů, až budete balit aplikaci. (V operačních systémech Mac a Linux můžete podle potřeby nastavit příznak spustitelného souboru pomocí příkazu chmod.) Vytváření nativního instalátoru ze zdrojových souborů aplikace Chcete-li sestavit nativní instalátor ze zdrojových souborů dané aplikace, použijte příkaz -package s následující syntaxí (na jednom příkazovém řádku): adt -package AIR_SIGNING_OPTIONS -target native [WINDOWS_INSTALLER_SIGNING_OPTIONS] installer_file app_xml [file_or_dir | -C dir file_or_dir | -e file dir ...] ...
Tato syntaxe je podobná pro balík souboru AIR (bez nativního instalátoru). Existuje však několik rozdílů:
• Můžete k příkazu přidat možnost -target
native. (Pokud určíte -target air, ADT vygeneruje soubor AIR
namísto souboru nativního instalátoru.)
• Můžete určit cílový soubor DMG nebo EXE jako installer_file. • Volitelně můžete v operačním systému Windows přidat druhou sadu možností podepsání, které jsou ve výpisu syntaxe označeny jako [WINDOWS_INSTALLER_SIGNING_OPTIONS]. V operačním systému Windows můžete podepsat nejen soubor AIR, ale také soubor instalátoru. Použijte stejný typ certifikátu a syntaxi možností podepsání, které byste použili k podepsání souboru AIR (další informace v tématu „Možnosti podpisu kódu nástroje ADT“ na stránce 176). Můžete použít stejný certifikát k podepsání souboru AIR i souboru instalátoru, nebo můžete určit různé certifikáty. Když uživatel stáhne podepsaný soubor instalátoru pro Windows z internetu, operační systém Windows rozpozná zdroj souboru na základě tohoto certifikátu. Podrobné informace o dalších možnostech ADT kromě možnosti -target naleznete v tématu „AIR Developer Tool (ADT)“ na stránce 162. Následující příklad vytvoří soubor DMG (soubor nativního instalátoru pro Mac OS): adt -package -storetype pkcs12 -keystore myCert.pfx -target native myApp.dmg application.xml index.html resources
Následující příklad vytvoří soubor EXE (soubor nativního instalátoru pro Windows): adt -package -storetype pkcs12 -keystore myCert.pfx -target native myApp.exe application.xml index.html resources
Poslední aktualizace 19.11.2013
57
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro stolní počítače
Následující příklad vytvoří soubor EXE a podepíše ho: adt -package -storetype pkcs12 -keystore myCert.pfx -target native -storetype pkcs12 -keystore myCert.pfx myApp.exe application.xml index.html resources
Vytváření nativního instalačního programu pro aplikaci, která používá nativní rozšíření Můžete sestavit nativní instalátor ze zdrojových souborů pro danou aplikaci a balíčky nativního rozšíření, které aplikace požaduje. Použijte příkaz -package s následující syntaxí (na jediném příkazovém řádku): adt -package AIR_SIGNING_OPTIONS -migrate MIGRATION_SIGNING_OPTIONS -target native [WINDOWS_INSTALLER_SIGNING_OPTIONS] installer_file app_xml -extdir extension-directory [file_or_dir | -C dir file_or_dir | -e file dir ...] ...
Tato syntaxe je stejná jako syntaxe používaná při balení nativního instalátoru, je ale doplněna o další dvě volby. Pomocí možnosti-extdir extension-directory určíte adresář obsahující soubory ANE (nativní rozšíření), které bude aplikace používat. Volitelný příznak -migrate a parametry MIGRATION_SIGNING_OPTIONS použijte k podpisu aktualizace pro aplikaci s podpisem přenosu, když se prvotní podpisový certifikát kódu liší od certifikátu používaného předchozí verzí. Další informace naleznete v části „Podepisování aktualizované verze aplikace AIR“ na stránce 196. Podrobnosti o možnostech programu ADT naleznete v části „AIR Developer Tool (ADT)“ na stránce 162. Následující příklad vytvoří soubor DMG (soubor nativního instalačního programu pro Mac OS) pro aplikaci, která používá nativní rozšíření: adt -package -storetype pkcs12 -keystore myCert.pfx -target native myApp.dmg application.xml -extdir extensionsDir index.html resources
Vytváření nativního instalátoru ze souboru AIR nebo AIRI Program ADT můžete použít k vygenerování souboru nativního instalátoru na základě souboru AIR nebo na základě souboru AIRI. Chcete-li sestavit nativní instalátor na základě souboru AIR, použijte příkaz -package s následující syntaxí (na jednom příkazovém řádku): adt -package -target native [WINDOWS_INSTALLER_SIGNING_OPTIONS] installer_file air_file
Poslední aktualizace 19.11.2013
58
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro stolní počítače
Tato syntaxe je podobná syntaxi k vytváření nativního instalátoru na základě zdrojových souborů pro aplikaci AIR. Existuje však několik rozdílů:
• Jako zdroj určete soubor AIR a ne soubor deskriptoru aplikace a další zdrojové soubory pro aplikaci AIR. • Neurčujte pro soubor AIR možnosti podepsání, protože je již podepsán. Chcete-li sestavit nativní instalátor na základě souboru AIRI, použijte příkaz -package s následující syntaxí (na jednom příkazovém řádku): adt AIR_SIGNING_OPTIONS -package -target native [WINDOWS_INSTALLER_SIGNING_OPTIONS] installer_file airi_file
Tato syntaxe je podobná syntaxi k vytváření nativního instalátoru na základě souboru AIR. Existuje však několik rozdílů:
• Jako zdroj určete soubor AIRI. • Určete možnosti podepsání pro cílovou aplikaci AIR. Následující příklad vytvoří soubor DMG (soubor nativního instalátoru pro Mac OS) založený na souboru AIR: adt -package -target native myApp.dmg myApp.air
Následující příklad vytvoří soubor EXE (soubor nativního instalátoru pro Windows) založený na souboru AIR: adt -package -target native myApp.exe myApp.air
Následující příklad vytvoří soubor EXE (založený na souboru AIR) a podepíše ho: adt -package -target native -storetype pkcs12 -keystore myCert.pfx myApp.exe myApp.air
Následující příklad vytvoří soubor DMG (soubor nativního instalátoru pro Mac OS) založený na souboru AIRI: adt -storetype pkcs12 -keystore myCert.pfx -package -target native myApp.dmg myApp.airi
Následující příklad vytvoří soubor EXE (soubor nativního instalátoru pro Windows) založený na souboru AIRI: adt -storetype pkcs12 -keystore myCert.pfx -package -target native myApp.exe myApp.airi
Následující příklad vytvoří soubor EXE (založený na souboru AIRI) a podepíše jej podpisem AIR i nativním podpisem systému Windows: adt -package -storetype pkcs12 -keystore myCert.pfx -target native -storetype pkcs12 -keystore myCert.pfx myApp.exe myApp.airi
Zabalení kaptivního balíčku běhového prostředí pro stolní počítače Kaptivní balíček běhového prostředí je balíček, který obsahuje kód aplikace spolu s vyhrazenou verzí běhového prostředí. Aplikace zabalená tímto způsobem používá běhové prostředí svazku, nikoli sdílené běhové prostředí nainstalováno někde jinde v počítači uživatele. Vytvořený svazek je samostatná složka souborů aplikace v systému Windows a svazek .app v systému Mac OS. Musíte vytvořit svazek pro cílový operační systém při spouštění v tomto operačním systému. (Virtuální počítač, například je VMWare, lze používat ke spouštění více operačních systémů na jednom počítači.)
Poslední aktualizace 19.11.2013
59
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro stolní počítače
Aplikace může se měl spouštět z této složky nebo svazku bez instalace. Výhody • Vytváří samostatnou aplikaci.
• Pro instalaci není vyžadován přístup k Internetu. • Aplikace je izolována od aktualizací běhového prostředí. • Organizace mohou certifikovat specifické kombinace aplikace a běhového prostředí. • Podporuje tradiční model nasazení softwaru. • Není nutné samostatná redistribuce běhového prostředí. • Může používat rozhraní API NativeProcess. • Může používat nativní rozšíření. • Může používat funkci File.openWithDefaultApplication() bez omezení. • Může být spuštěna z disku USB nebo optického disku bez instalace. Nevýhody • Důležité opravy zabezpečení nejsou uživatelům k dispozici utomaticky, když společnost Adobe publikuje opravu zabezpečení.
• Nemůže používat formát souboru .air. • V případě potřeby je nutné vytvořit vlastní instalační program. • Aktualizace prostředí AIR v rozhraní API a rozhraní nejsou podporovány. • Rozhraní API integrovaného prohlížeče aplikace AIR pro instalaci a spuštění aplikace AIR z webové stránky není podporováno.
• Registrace souboru v systému Windows musí být provedeny instalačním programem. • Otisk disku větší aplikace
Vytvoření kaptivního balíčku běhového prostředí v systému Windows Chcete-li vytvořit kaptivní balíček běhového prostředí systému Windows, je nutné zabalit aplikace při spuštění v operačním systému Windows. Zabalte aplikaci pomocí cíle bundle nástroje ADT: adt -package -keystore ..\cert.p12 -storetype pkcs12 -target bundle myApp myApp-app.xml myApp.swf icons resources
Tento příkaz vytvoří svazek v adresáři s názvem myApp. Adresář obsahuje soubory pro vaši aplikaci spolu se soubory běhového prostředí. Program bude možné spouštět přímo ze složky. Chcete-li však vytvořit položku nabídky programu, zaregistrovat typy souborů nebo obslužné rutiny schématu URI, je nutné vytvořit instalační program, který nastaví požadované položky registru). Sady AIR SDK nezahrnují nástroje pro vytváření takových instalačních programů, ale k dispozici je několik programy jiných výrobců, včetně komerčních i bezplatných sad nástrojů instalačního programu s otevřeným kódem.
Poslední aktualizace 19.11.2013
60
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro stolní počítače
Nativní spustitelné soubory můžete podepsat v systému Windows zadáním druhé sady možností podpisu za položku -target bundlena příkazovém řádku. Tyto možnosti podpisu určují osobní klíč a přidružené certifikáty, které se použijí při použití nativního podpisu systému Windows. (Obvykle lze použít certifikát podpisu kódu prostředí AIR.) Podepsán bude pouze primární spustitelný soubor. Žádné další spustitelné soubory zabalené s aplikací nebudou tímto procesem podepsány. Přiřazení typu souboru Chcete-li aplikaci přiřadit veřejné nebo vlastní typy souborů v systému Windows, musí instalační program nastavit správné položky registru. Typy souborů by měly být uvedeny také v elementu fileTypes souboru deskriptoru aplikace. Další informace o typech souborů systému Windows naleznete v části Knihovna MSDN: Typy souborů a přiřazení souborů Registrace obslužné rituny URI Aby mohla aplikace zpracovat spuštění adresy URL pomocí daného schématu URI, musí instalační program nastavit požadované položky registru. Další informace o registraci aplikace pro zpracování schématu URI naleznete v tématu Knihovna MSDN: Registrace aplikace v protokolu URL
Vytvoření kaptivního balíčku běhového prostředí v systému Mac OS X Chcete-li vytvořit kaptivní balíček běhového prostředí systému Mac OS X, je nutné zabalit aplikace při spuštění v operačním systému Macintosh. Zabalte aplikaci pomocí cíle bundle nástroje ADT: adt -package -keystore ../cert.p12 -storetype pkcs12 -target bundle myApp.app myApp-app.xml myApp.swf icons resources
Tento příkaz vytvoří svazek aplikace s názvem myApp.app. Svazek obsahuje soubory pro vaši aplikaci spolu se soubory běhového prostředí. Můžete spustit aplikaci dvojitým kliknutím na ikonu myApp.app a nainstalovat ji přetažením do vhodného umístění, například do složky Applications (Aplikace). Pokud ale chcete zaregistrovat typy souborů nebo obslužné rutiny schématu URI, je nutné upravit soubor seznamu vlastností uvnitř balíku aplikace. Za účelem distribuce můžete vytvořit soubor bitové kopie disku (.dmg). Sada SDK prostředí Adobe AIR neposkytuje nástroje pro vytváření souboru DMG pro kaptivní balíček běhového prostředí. Přiřazení typu souboru Chcete-li přiřadit aplikaci k veřejným nebo vlastním typům souborů v systému Mac OS X, musíte upravit soubor info.plist ve svazku na nastavení vlastnosti CFBundleDocumentTypes. Viz Knihovna vývojáře Mac OS X: reference klíčů seznamu informačních vlastností, CFBundleURLTypes. Registrace obslužné rituny URI Aby mohla aplikace zpracovat spouštění adresy URL daného schématu URI, je nutné upravit soubor info.plist ve svazku na nastavení vlastnosti CFBundleURLTypes. Viz Knihovna vývojáře Mac OS X: reference klíčů seznamu informačních vlastností, CFBundleURLTypes.
Poslední aktualizace 19.11.2013
61
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro stolní počítače
Distribuce balíčků aplikace AIR pro stolní počítače Aplikace AIR mohou být distribuovány jako balíček AIR, který obsahuje kód aplikace a veškeré prostředky. Tento balíček můžete distribuovat prostřednictvím jakýchkoliv obvyklých prostředků, například stažením, odesláním emailem, nebo pomocí fyzických médií, například disku CD-ROM. Uživatelé mohou aplikaci nainstalovat poklepáním na soubor AIR. Můžete použít rozhraní API integrovaného prohlížeče AIR (knihovnu jazyka ActionScript založenou na webu) k povolení instalace aplikace AIR (a v případě potřeby prostředí Adobe® AIR®) pro uživatele kliknutím na jeden odkaz na webové stránce. Aplikaci AIR lze také zabalit a distribuovat jako nativní instalační program (jinými slovy, jako soubory EXE v systému Windows, soubory DMG v systému Mac a soubory DEB nebo RPM v systému Linux). Nativní instalační balíčky můžete distribuovat a na instalovat podle příslušných konvencí platformy. Při distribuci aplikace jako nativního balíčku dojde ke ztrátě některých výhod formátu souboru AIR. Konkrétně, jediný instalační soubor již nelze použít na většině platforem, nelze již použít rozhraní aktualizace AIR a rozhraní API integrovaného prohlížeče.
Instalace a spuštění aplikace AIR v počítači Soubor AIR můžete jednoduše odeslat příjemci. Soubor AIR můžete například odeslat jako přílohu e-mailu nebo jako odkaz na webové stránce. Jakmile si uživatel stáhne aplikaci AIR, řídí se pro instalaci těmito pokyny: 1 Poklepejte na soubor AIR.
Prostředí Adobe AIR musí již být v počítači nainstalováno. 2 V okně instalace ponechte zvolené výchozí nastavení a klepněte na tlačítko Pokračovat.
V OS Windows provede AIR automaticky následující:
• Nainstaluje aplikaci do adresáře Program Files • Vytvoří pro aplikaci odkaz na pracovní ploše • Vytvoří odkaz v nabídce Start • Přidá záznam pro aplikaci do ovládacího panelu Přidat / Odebrat programy V OS Mac je aplikace implicitně přidána do adresáře Aplikace. Jestliže je aplikace již nainstalovaná, umožní instalátor uživateli vybrat si mezi spuštěním stávající verze aplikace nebo aktualizací na verzi ve staženém souboru AIR. Instalátor určí aplikaci pomocí ID aplikace a ID vydavatele v souboru AIR. 3 Po dokončení instalace klepněte na možnost Dokončit.
V OS Mac potřebuje uživatel pro instalaci aktualizované verze aplikace odpovídající systémová oprávnění pro instalaci do adresáře aplikace. V systémech Windows a Linux potřebuje uživatel oprávnění správce. Aplikace může také nainstalovat novou verzi skrze jazyk ActionScript nebo JavaSript. Další informace naleznete v části „Aktualizace aplikací AIR“ na stránce 254. Jakmile je aplikace AIR nainstalována, uživatel jednoduše poklepe na ikonu aplikace pro její spuštění, jako v případě jakékoliv jiné aplikace pracovní plochy.
• V OS Windows poklepejte na ikonu aplikace (která je buď nainstalovaná na pracovní ploše nebo ve složce) nebo vyberte aplikaci z nabídky Start.
• V systému Linux poklepejte na ikonu aplikace (která je buď nainstalovaná na pracovní ploše nebo ve složce) nebo vyberte aplikaci z nabídky aplikací.
Poslední aktualizace 19.11.2013
62
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro stolní počítače
• V OS Mac poklepejte na aplikaci ve složce, do které byla nainstalovaná. Výchozím instalačním adresářem je adresář /Aplikace. Poznámka: V operačním systému Linux lze instalovat pouze aplikace AIR vyvinuté pro prostředí AIR 2.6 nebo starší. Funkce AIR hladká instalace umožňuje uživateli nainstalovat aplikaci AIR klepnutím na odkaz na webové stránce. Funkce AIR iniciace prohlížečeumožňuje uživateli spustit nainstalovanou aplikaci AIR klepnutím na odkaz na webové stránce. Tyto funkce jsou popsány v následující části.
Instalace a spuštění aplikací AIR pro stolní počítač z webové stránky Rozhraní API integrovaného prohlížeče aplikace AIR umožňuje nainstalovat a spustit aplikaci AIR z webové stránky. Rozhraní API integrovaného prohlížeče aplikace AIR je k dispozici v knihovně SWF, air.swf, která je hostována systémem Adobe. Sada AIR SDK obsahuje ukázkovou štítkovou aplikaci používající tuto knihovnu k instalaci, aktualizaci nebo spuštění aplikace AIR (a v případě potřeby i běhového modulu). Můžete upravit zadanou ukázkovou štítkovou aplikaci nebo vytvořit vlastní webovou aplikaci využívající knihovnu online air.swf přímo. Libovolnou aplikaci AIR lze nainstalovat prostřednictvím štítku webové stránky. Pomocí webového štítku však lze spustit pouze aplikace, které obsahují element true ve svém souboru deskriptoru aplikace.
Další témata Nápovědy „Rozhraní API integrovaného prohlížeče AIR.SWF“ na stránce 245
Nasazení v podnikovém prostředí pro stolní počítače IT správci mohou nainstalovat runtime Adobe AIR a aplikace AIR tiše pomocí standardních nástrojů nasazení plochy. IT správci mohou provést následující:
• Tiše nainstalovat runtime Adobe AIR pomocí nástrojů, například Microsoft SMS, IBM Tivoli, nebo jakýchkoliv nástrojů nasazení, které umožňují tiché instalace používající počáteční zavádění.
• Tiše nainstalovat aplikaci AIR pomocí stejných nástrojů použitých k nasazení runtime Více informací naleznete v tématu Příručky správce Adobe AIR (http://www.adobe.com/go/learn_air_admin_guide_cz).
Protokoly o instalaci pro stolní počítače Protokoly o instalaci se zaznamenávají buď při instalaci samotného běhového modulu AIR nebo aplikace AIR. Chceteli stanovit příčiny jakýchkoliv problémů, které mohou při instalaci nebo aktualizaci nastat, prozkoumejte soubory protokolů. Soubory protokolů se vytvoří v následujících místech:
• Mac: standardní systémový protokol (/private/var/log/system.log) Protokol systému Mac můžete zobrazit otevřením aplikace konzoly (obvykle se nachází ve složce Nástroje).
• Windows XP: C:\Documents
and Settings\<jméno uživatele>\Local Settings\Application
Data\Adobe\AIR\logs\Install.log
• Windows Vista, Windows 7: C:\Users\<jméno • Linux: /home/<jméno
Poznámka: Tyto soubory protokolu nebyly vytvářeny ve starších verzích AIR než AIR 2.
Poslední aktualizace 19.11.2013
63
Kapitola 7: Vývoj aplikací AIR pro mobilní zařízení Aplikace AIR v mobilních zařízeních se nasazují jako nativní aplikace. Používají formát aplikace zařízení, nikoli formát souboru AIR. Aktuálně prostředí AIR podporuje balíčky Android APK a balíčky iOS IPA. Po vytvoření prodejní verze balíčku aplikace můžete aplikaci distribuovat prostřednictvím standardního mechanismu platformy. V případě systému Android to obvykle znamená Android Market; v případě systému iOS se jedná o Apple App Store. K vytváření aplikací AIR pro mobilní zařízení můžete použít sadu AIR SDK a aplikaci Flash Professional, Flash Builder nebo jiný nástroj pro vývoj jazyka ActionScript. Mobilní aplikace AIR založené na jazyce HTML nejsou aktuálně podporovány. Poznámka: Pro tablet BlackBerry Playbook poskytuje společnost Research In Motion (RIM) vlastní sadu SDK pro vývoj aplikací AIR. Informace o vývoji pro tablety Playbook naleznete v tématu RIM: BlackBerry Tablet OS Development (RIM: Vývoj operačního systému pro tablet BlackBerry). Poznámka: Tento dokument popisuje, jak vyvíjet aplikace pro systém iOS pomocí sady AIR 2.6 SDK nebo novější. Aplikace vytvořené pomocí prostředí AIR 2.6+ lze instalovat do zařízení iPhone 3G, iPhone 4 a iPad se systémem iOS 4 nebo novějším. K vývoji aplikací AIR pro starší verze systému iOS je nutné použít nástroj AIR 2 Packager for iPhone, jak je popsáno v tématu Vytváření aplikací pro zařízení iPhone. Další informace o doporučených postupech při ochraně osobních údajů najdete v příručce k ochraně osobních údajů pro sadu Adobe AIR SDK. Úplné požadavky na systém pro spouštění aplikací AIR naleznete v tématu Systémové požadavky prostředí Adobe AIR.
Nastavení vývojového prostředí Mobilní platformy mají další požadavky na nastavení, a to nad rámec obvyklého nastavení vývojového prostředí AIR, Flex a Flash. (Další informace o nastavení základního vývojového prostředí AIR naleznete v části „Nástroje řešení Adobe Flash Platform pro vývoj aplikací AIR“ na stránce 16.)
Nastavení systému Android V prostředí AIR 2.6+ normálně není vyžadováno žádné speciální nastavení pro Android. Nástroj ADB pro Android je obsažený v sadě SDK pro prostředí AIR (ve složce lib/android/bin). Sada AIR SDK využívá nástroj ADB k instalaci, odinstalaci a spuštění balíčků aplikací v zařízení. Nástroj ADB můžete také použít k zobrazení systémových protokolů. Chcete-li vytvořit a spustit emulátor systému Android, je nutné stáhnout samostatnou sadu Android SDK. Pokud aplikace přidá k elementu <manifestAdditions> v deskriptoru aplikace elementy, které současná verze prostředí AIR nerozpozná jako platné, bude třeba nainstalovat novější verzi sady Android SDK. Nastavte proměnnou prostředí AIR_ANDROID_SDK_HOME nebo parametr příkazového řádku -platformsdk na cestu k sadě SDK. Balicí nástroj pro aplikace AIR, ADT, použije tuto sadu SDK k ověření položek v elementu <manifestAdditions>. V prostředí AIR 2.5 je nutné stáhnout samostatnou kopii sady Android SDK ze služby Google. Proměnnou prostředí AIR_ANDROID_SDK_HOME můžete nastavit tak, aby odkazovala na složku Android SDK. Pokud tuto proměnnou prostředí nenastavíte, je třeba zadat cestu k sadě Android SDK v argumentu -platformsdk příkazového řádku nástroje ADT.
Poslední aktualizace 19.11.2013
64
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Další témata Nápovědy „Proměnné prostředí nástroje ADT“ na stránce 184 „Proměnné prostředí pro cestu“ na stránce 300
Nastavení systému iOS Chcete-li v zařízení nainstalovat a otestovat aplikaci iOS a tuto aplikaci distribuovat, je třeba, abyste se připojili k programu Apple iOS Developer (což je placená služba). Jakmile se k programu iOS Developer připojíte, získáte přístup k portálu iOS Provisioning Portal, kde můžete od společnosti Apple získat následující položky a soubory, které jsou nutné pro instalaci aplikace v zařízení za účelem testování a pro následnou distribuci. Tyto položky a soubory zahrnují:
• vývojářské a distribuční certifikáty, • ID aplikací, • prováděcí soubory pro vývoj a distribuci.
Faktory ovlivňující návrh mobilních aplikací Provozní kontext a fyzikální vlastnosti mobilních zařízení vyžadují pečlivé kódování a navrhování. Například je mimořádně důležité zjednodušit kód tak, aby se prováděl co nejrychleji. Optimalizací kódu toho samozřejmě lze docílit. Rovněž platí, že inteligentní řešení, které pracuje v rámci omezení daných zařízením, může přispět k tomu, aby vizuální prezentace nepřetěžovala systém vykreslování. Kód Zrychlení běhu kódu je vždy prospěšné, avšak vzhledem k pomalejší rychlosti procesoru u většiny mobilních zařízení se přínos úsilí věnovaného psaní jednoduchého kódu dále zvyšuje. Kromě toho jsou mobilní zařízení téměř vždy napájena z baterií. Při dosažení stejného výsledku prostřednictvím menšího množství operací se spotřebuje méně energie z baterií. Návrh Při navrhování uživatelského rozhraní aplikace je třeba vzít v úvahu faktory, jako je malá velikost obrazovky, režim interakce ve formě dotykové obrazovky a dokonce i neustále se měnící prostředí mobilních uživatelů. Kód i návrh Pokud aplikace používá animace, je velmi důležitá optimalizace vykreslování. Samotná optimalizace kódu však často nestačí. Vizuální aspekty aplikace je třeba navrhnout tak, aby je kód mohl vykreslovat efektivně. Důležité postupy optimalizace jsou popsány v průvodci optimalizací obsahu na platformě Flash. Postupy uvedené v tomto průvodci se týkají veškerého obsahu Flash a AIR, ale jejich význam je naprosto zásadní pro vývoj aplikací, které mají dobře fungovat v mobilních zařízeních.
• Paul Trani: Tips and Tricks for Mobile Flash Development (Tipy a triky pro vývoj obsahu Flash pro mobilní zařízení)
• roguish: GPU Test App AIR for Mobile (Testovací aplikace GPU pro prostředí AIR pro mobilní zařízení) • Jonathan Campos: Optimization Techniques for AIR for Android apps (Optimalizační postupy v prostředí AIR pro aplikace Android)
• Charles Schulze: AIR 2.6 Game Development: iOS included (Vývoj her pro prostředí AIR 2.6: včetně systému iOS)
Poslední aktualizace 19.11.2013
65
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Životní cyklus aplikace Když aplikace ztratí fokus ve prospěch jiné aplikace, prostředí AIR sníží snímkový kmitočet na 4 snímky za sekundu a zastaví vykreslování grafiky. Při poklesu pod tento snímkový kmitočet mají síťová a soketová připojení datových proudů tendenci se přerušit. Pokud vaše aplikace taková připojení nepoužívá, lze snímkový kmitočet omezit ještě více. Je-li to vhodné, měli byste zastavit přehrávání zvuku a odstranit posluchače snímačů geolokace a akcelerometru. Objekt AIR NativeApplication odesílá události aktivace a deaktivace. Tyto události slouží k řízení přechodu mezi aktivním stavem a stavem na pozadí. Většina mobilních operačních systémů ukončí aplikace na pozadí bez předchozího upozornění. Při častém ukládání stavu aplikace by se aplikace měla dokázat obnovit do přiměřeného stavu, ať již se vrací z pozadí do aktivního stavu, nebo se spouští znovu.
Hustota informací I když mají větší hustotu obrazových bodů (obr. body na palec), je fyzická velikost obrazovek mobilních zařízení menší než u stolních počítačů. Stejná velikost písma vyprodukuje písmena, která jsou na displeji mobilního zařízení fyzicky menší než na stolním počítači. Často je nutné použít větší písmo, aby byla zajištěna čitelnost. Obecně je nejmenší velikost písma, které lze snadno číst, 14 bodů. Mobilní zařízení jsou často používána na cestách nebo za špatných světelných podmínek. Realisticky proto zvažte, jaké množství informací lze na obrazovce čitelně zobrazit. Může jich být méně než u obrazovky se stejnými rozměry v obrazových bodech ve stolním počítači. Zvažte také, že když se uživatel dotýká obrazovky, část displeje zakrývá jeho prst a ruka. Interaktivní prvky umístěte po stranách a v dolní části obrazovky, pokud má s nimi uživatel pracovat déle než se jen na okamžik dotknout.
Zadávání textu Mnoho zařízení používá pro zadávání textu virtuální klávesnici. Virtuální klávesnice zakrývají část obrazovky a jejich použití je často neobratné. Vyhněte se využívání událostí klávesnice (kromě programovatelných kláves). Zvažte, zda nemůžete namísto vstupních textových polí implementovat alternativní možnosti. Pokud má například uživatel zadávat číselnou hodnotu, textové pole nepotřebujete. Můžete hodnotu zvyšovat nebo snižovat pomocí dvou tlačítek.
Programovatelné klávesy Mobilní zařízení obsahují různé počty programovatelných kláves. Programovatelné klávesy jsou tlačítka, která jsou nastavitelná na odlišné funkce. Při využití těchto kláves ve vaší aplikaci dodržujte konvence platformy.
Změny orientace obrazovky Mobilní obsah lze zobrazovat v orientaci na výšku nebo na šířku. Zvažte, jakým způsobem bude aplikace se změnami orientace obrazovky nakládat. Další informace naleznete v tématu Orientace plochy.
Ztlumení obrazovky Prostředí AIR nezabrání automaticky ve ztlumení obrazovky při přehrávání videa. To, zda zařízení vstoupí do režimu snížené spotřeby, můžete řídit pomocí vlastnosti systemIdleMode objektu AIR NativeApplication. (Na některých platformách je nutné si vyžádat příslušné oprávnění, aby tato funkce fungovala.)
Poslední aktualizace 19.11.2013
66
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Příchozí volání Běhový modul AIR automaticky ztlumí zvuk, pokud uživatel uskuteční nebo přijme telefonní hovor. V systému Android je nutné v deskriptoru aplikace nastavit oprávnění READ_PHONE_STATE, pokud aplikace na pozadí přehrává zvuk. V opačném případě bude systém Android bránit běhovému modulu v detekci telefonních hovorů a automatickém ztlumení zvuku. Viz „Oprávnění systému Android“ na stránce 74.
Oblasti dotyku Při návrhu tlačítek a dalších elementů uživatelského rozhraní, na něž budou uživatelé poklepávat, zvažte velikost oblastí dotyku. Tyto elementy mají mít dostatečnou velikost na to, aby je bylo možno na dotykové obrazovce pohodlně aktivovat prstem. Rovněž se ujistěte, zda máte mezi oblastmi dostatečné mezery. U typické obrazovky telefonu s vysokou hodnotou dpi by plocha oblastí dotyku měla být zhruba 44 až 57 obrazových bodů po každé straně.
Instalační velikost balíčku aplikace Mobilní zařízení mají obvykle mnohem méně místa v úložišti pro instalaci aplikací a dat než stolní počítače. Minimalizujte velikost balíčku odstraněním nepoužívaných datových zdrojů a knihoven. V systému Android se balíček aplikace při její instalaci neextrahuje do samostatných souborů. Místo toho se datové zdroje dekomprimují do dočasného úložiště, když je k nim získán přístup. Aby se minimalizoval dopad takto dekomprimovaných datových zdrojů na úložiště, zavřete po úplném načtení datových zdrojů souborové a URL streamy.
Přístup k souborovému systému V různých operačních systémech pro mobilní zařízení jsou zavedena různá omezení souborového systému a tato omezení se většinou liší od omezení zavedených v operačních systémech pro stolní počítače. Vhodné místo pro ukládání souborů a dat je proto na každé platformě jiné. Jedním z důsledků rozdílů souborových systémů je, že zástupci pro běžné adresáře, jež poskytuje třída AIR File, nejsou vždy k dispozici. Následující tabulka uvádí zástupce, které lze použít v systémech Android a iOS: Android
iOS
File.applicationDirectory
Pouze pro čtení prostřednictvím adresy URL (cesta není nativní)
Pouze pro čtení
File.applicationStorageDirectory
K dispozici
K dispozici
File.cacheDirectory
K dispozici
K dispozici
File.desktopDirectory
Kořen sdcard
Není k dispozici
File.documentsDirectory
Kořen sdcard
K dispozici
File.userDirectory
Kořen sdcard
Není k dispozici
File.createTempDirectory()
K dispozici
K dispozici
File.createTempFile()
K dispozici
K dispozici
Pokyny společnosti Apple pro aplikace systému iOS obsahují konkrétní pravidla výběru umístění úložišť pro soubory v různých situacích. Jeden pokyn například udává, že se do adresáře určeného pro vzdálené zálohování mohou ukládat pouze soubory obsahující data zadaná uživatelem nebo data, která nelze vytvořit nebo stáhnout znovu. Informace o dodržování pokynů společnosti Apple pro zálohování a ukládání souborů do vyrovnávací paměti naleznete v části Řízení zálohování a ukládání souborů do vyrovnávací paměti.
Poslední aktualizace 19.11.2013
67
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Komponenty uživatelského rozhraní Společnost Adobe vyvinula verzi prostředí Flex optimalizovanou pro mobilní zařízení. Další informace naleznete v článku Vývoj mobilních aplikací pomocí produktů Flex a Flash Builder. K dispozici jsou také projekty komunitních komponent vhodné pro mobilní aplikace. Patří sem:
• Ovládací prvky rozhraní Feathers pro prostředí Starling, autor: Josh Tynjala • Verze objektů Minimal Comps s možnosti použití vzhledů, autor: Derrick Grigg • Součásti as3flobile, autor: Todd Anderson
Akcelerované vykreslování grafiky Stage 3D Od verze AIR 3.2 podporuje prostředí AIR pro mobilní zařízení akcelerované vykreslování grafiky Stage 3D. Rozhraní API jazyka ActionScript Stage3D představuje sadu nízkoúrovňových rozhraní API s akcelerací karty GPU, ve kterých jsou k dispozici pokročilé možnosti pro 2D a 3D grafiku. Tato nízkoúrovňová rozhraní API poskytují vývojářům možnost pružně využít hardwarovou akceleraci karet GPU a dosáhnout podstatného zvýšení výkonu. Lze také využít herní moduly, které podporují rozhraní API jazyka ActionScript Stage3D. Další informace naleznete na stránce Gaming engines, 3D, and Stage 3D (Herní moduly, 3D a Stage 3D).
Vyhlazování videa Z důvodu vylepšení výkonu je vyhlazování videa v prostředí AIR vypnuto.
Nativní funkce AIR 3.0+ Řada mobilních platforem poskytuje funkce, které dosud nejsou přístupné prostřednictvím standardního rozhraní API prostředí AIR. Od verze AIR 3 můžete rozšířit prostředí AIR o vlastní nativní knihovny kódu. Tyto nativní knihovny rozšíření mohou přistupovat k funkcím, které jsou dostupné v operačním systému, nebo jsou dokonce specifické pro dané zařízení. Nativní rozšíření může být napsáno v jazyce C pro systém iOS nebo v jazyce Java či C pro systém Android. Informace o vývoji nativních rozšíření naleznete v části Úvod do nativních rozšíření v prostředí Adobe AIR.
Pracovní postup vytváření aplikací AIR pro mobilní zařízení Pracovní postup pro vytvoření aplikace AIR pro mobilní (nebo jiná) zařízení je obecně velmi podobný postupu při vytváření aplikace pro stolní počítače. Zásadní rozdíly v pracovním postupu nastávají až ve chvíli, kdy je třeba aplikaci zabalit, vyladit a nainstalovat. Například aplikace AIR pro systém Android používají nativní formát balíčku Android APK, nikoli formát balíčku prostředí AIR. Proto také používají standardní instalační a aktualizační mechanismy systému Android.
Prostředí AIR pro systém Android Pro vývoj aplikace AIR pro systém Android jsou typické tyto kroky:
• vytvoření kódu jazyka ActionScript nebo MXML,
Poslední aktualizace 19.11.2013
68
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
• vytvoření souboru deskriptoru aplikace AIR (pomocí oboru názvů 2.5 nebo novějšího), • kompilace aplikace, • zabalení aplikace jako balíčku Android (.apk), • instalace běhového modulu AIR do zařízení nebo emulátoru systému Android (pokud používáte externí běhový modul – vázaný běhový modul je výchozí od verze AIR 3.7),
• instalace aplikace v zařízení (nebo emulátoru Android), • Spusťte aplikaci v zařízení. K provedení těchto kroků můžete použít aplikaci Adobe Flash Builder či Adobe Flash Professional CS5 nebo nástroje příkazového řádku. Jakmile je aplikace AIR dokončena a zabalena jako soubor APK, můžete ji odeslat na web Android Market nebo distribuovat jiným způsobem.
Prostředí AIR pro systém iOS Pro vývoj aplikací AIR pro systém iOS jsou typické tyto kroky:
• instalace aplikace iTunes, • generování požadovaných vývojářských souborů a ID na portálu iOS Apple Provisioning Portal; tyto položky zahrnují:
• vývojářský certifikát, • ID aplikace, • prováděcí profil, (Při vytváření prováděcího profilu je nutné uvést ID všech testovacích zařízení, ve kterých se chystáte aplikaci nainstalovat.)
• převedení vývojářského certifikátu a soukromého klíče na soubor úložiště klíčů P12, • vytvoření kódu aplikace v jazyce ActionScript nebo MXML, • kompilace aplikace v kompilátoru jazyka ActionScript nebo MXML, • vytvoření obrazu ikony a obrazu úvodní obrazovky pro aplikaci, • vytvoření deskriptoru aplikace (pomocí oboru názvů 2.6 nebo novějšího), • zabalení souboru IPA pomocí nástroje ADT, • umístění prováděcího profilu na testovací zařízení pomocí aplikace iTunes, • instalace a testování aplikace v zařízení iOS. K instalaci souboru IPA lze použít přehrávač iTunes nebo nástroj ADT přes rozhraní USB (podpora USB v prostředí AIR 3.4 a vyšších). Po dokončení můžete aplikaci AIR znovu zabalit pomocí distribučního certifikátu a prováděcího profilu. Poté je připravena k odeslání do obchodu Apple App Store.
Poslední aktualizace 19.11.2013
69
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Nastavení vlastností mobilní aplikace Stejně jako u jiných aplikací AIR nastavíte základní vlastnosti aplikace v jejím souboru deskriptoru. Mobilní aplikace ignorují některé vlastnosti specifické pro stolní počítače, například velikost a průhlednost okna. Mobilní aplikace mohou také používat své vlastní vlastnosti specifické pro platformu. Můžete například zahrnout element android pro aplikace Android a element iPhone pro aplikace iOS.
Společná nastavení Několik nastavení deskriptoru aplikace je důležitých pro všechny aplikace pro mobilní zařízení.
Vyžadovaná verze běhového modulu AIR Určete verzi běhového modulu AIR požadovanou pro aplikaci využívající obor názvů souboru deskriptoru aplikace. Obor názvů, přiřazený elementu application, určuje z velké části, které funkce může daná aplikace používat. Pokud například aplikace používá obor názvů AIR 2.7 a uživatel má nainstalovánu některou pozdější verzi, pak bude aplikace nadále vykazovat chování prostředí AIR 2.7 (a to i v případě, že chování se v budoucí verzi změnilo). Aplikace získá přístup k novému chování a funkcím pouze v případě, že změníte obor názvů a publikujete aktualizaci. Důležitou výjimkou z tohoto pravidla jsou opravy zabezpečení. U zařízení, která používají běhový modul oddělený od aplikace, jako je Android v prostředí AIR 3.6 nebo starším, bude uživatel, který nemá požadovanou verzi, vyzván k instalaci nebo upgradu prostředí AIR. V zařízeních zahrnujících běhový modul, jako je například zařízení iPhone, tato situace nenastane (protože požadovaná verze je zabalena přímo s aplikací). Poznámka: (AIR 3.7 a vyšší) Běhový modul s aplikacemi platformy Android zabalí ve výchozím nastavení nástroj ADT. Určete obor názvů pomocí atributu xmlns kořenového elementu application. Pro mobilní aplikace by se měly používat následující obory názvů (v závislosti na cílové mobilní platformě): iOS 4+ and iPhone 3Gs+ or Android: iOS only:
Poznámka: Podporu pro zařízení iOS 3 zajišťuje nástroj Packager pro sadu iPhone SDK, který je založen na sadě AIR 2.0 SDK. Informace o vytváření aplikací AIR pro systém iOS 3 naleznete v tématu Vytváření aplikací pro zařízení iPhone. Sada AIR 2.6 SDK (a novější) podporuje v zařízeních iPhone 3Gs, iPhone 4 a iPad systém iOS 4 a novější.
Další témata Nápovědy „application“ na stránce 207
Identita aplikace Několik nastavení by mělo být jedinečných pro každou aplikaci, kterou publikujete. Patří sem ID, název a název souboru. ID aplikací Android V systému Android se ID převádí na název balíčku Android, a to přidáním prefixu „air.“ k ID aplikace AIR. Je-li tedy ID aplikace AIR com.example.MyApp, pak název balíčku Android je air.com.example.MyApp. com.example.MyAppMy ApplicationMyApplication
Poslední aktualizace 19.11.2013
70
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Kromě toho platí, že pokud ID nepředstavuje přípustný název balíčku v operačním systému Android, převede se na přípustný název. Znaky spojovníků se změní na podtržítka a před počáteční číslice v libovolné komponentě ID se vloží velké písmeno „A“. Například ID 3-goats.1-boat se změní na název balíčku air.A3_goats.A1_boat. Poznámka: Na základě prefixu přidaného k ID aplikace lze aplikace AIR identifikovat na webu Android Market. Pokud nechcete, aby aplikace byla na základě prefixu identifikována jako aplikace AIR, musíte soubor APK rozbalit, změnit ID aplikace a znovu jej zabalit, jak je popsáno v článku Opt-out of AIR application analytics for Android (Odhlášení z analytiky aplikací AIR pro systém Android). ID aplikací iOS ID aplikace AIR nastavte tak, aby odpovídalo ID aplikace vytvořenému na portálu Apple iOS Provisioning Portal. ID aplikací iOS se skládají z ID zdroje balíku následovaného identifikátorem balíku. ID zdroje balíku představuje řetězec znaků, jako je 5RM86Z4DJM, který společnost Apple přidělí k ID aplikace. Identifikátor balíku obsahuje vámi vybraný název v obráceném stylu domény. Identifikátor balíku může být zakončen hvězdičkou (*) označující zástupné ID aplikace. Pokud identifikátor balíku končí na zástupný znak, můžete tento zástupný znak nahradit přípustným řetězcem. Například:
• Pokud je ID aplikace Apple 5RM86Z4DJM.com.example.helloWorld, je nutné v deskriptoru aplikace použít řetězec com.example.helloWorld.
• Pokud je ID aplikace Apple 96LPVWEASL.com.example.* (zástupné ID aplikace), můžete použít com.example.helloWorld nebo com.example.anotherApp či nějaké jiné ID začínající řetězcem com.example.
• A konečně, pokud ID aplikace Apple tvoří jen ID zdroje balíku a zástupný znak, například 38JE93KJL.*, můžete použít libovolné ID aplikace v prostředí AIR. Při určování ID aplikace nezahrnujte tu část ID aplikace, která představuje zdroj balíku.
Další témata Nápovědy „id“ na stránce 221 „filename“ na stránce 217 „name“ na stránce 229
Verze aplikace V prostředí AIR 2.5 a novějších zadejte verzi aplikace do elementu versionNumber. Element version již není možné používat. Při zadávání hodnoty elementu versionNumber je nutné použít posloupnost až tří čísel oddělených tečkami, například: „0.1.2“. Každý segment čísla verze může mít až tři číslice. (Jinými slovy, nejvyšší přípustné číslo verze je „999.999.999“.) Není nutné uvést všechny tři segmenty čísla; hodnoty „1“ a „1.0“ jsou také přípustná čísla verzí. Můžete také zadat popisek verze pomocí elementu versionLabel. Po přidání se popisek verze zobrazí místo čísla verze na místech, jako je informační obrazovka aplikace Android. Popisek verze musí být zadán pro aplikace, které jsou distribuovány pomocí webu Android Market. Pokud v deskriptoru aplikace AIR nezadáte hodnotu versionLabel, bude do pole pro popisek verze aplikace Android přiřazena hodnota versionNumber. 1.23.71.23 Beta 7
V systému Android je hodnota versionNumber přeložena na celé číslo versionCode pomocí vzorce: a*1000000 + b*1000 + c, kde a, b a c jsou součásti čísla verze prostředí AIR: a.b.c.
Poslední aktualizace 19.11.2013
71
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Další témata Nápovědy „version“ na stránce 237 „versionLabel“ na stránce 238 „versionNumber“ na stránce 238
Soubor SWF hlavní aplikace Soubor SWF hlavní aplikace určete v podřízeném elementu content elementu initialWindow. Pokud se zaměřujete na zařízení v mobilním profilu, je nutné soubor SWF použít (aplikace založené na kódu HTML nejsou podporovány). MyApplication.swf
Soubor je nutné zahrnout do balíčku AIR (pomocí nástroje ADT nebo vašeho prostředí IDE). Prosté uvedení názvu v deskriptoru aplikace nevede k automatickému zahrnutí souboru do balíčku.
Vlastnosti hlavní obrazovky Několik podřízených elementů elementu initialWindow řídí počáteční vzhled a chování hlavní obrazovky aplikace.
• aspectRatio – určuje, zda by se aplikace měla na začátku zobrazovat ve formátu na výšku (výška větší než šířka), ve formátu na šířku (výška menší než šířka) nebo v libovolném formátu (vymezená plocha má automaticky všechny orientace). landscape
• autoOrients – Určuje, zda se má orientace plochy automaticky měnit, když uživatel otočí zařízení nebo provede jiné gesto související s orientací, například otevře nebo zavře výsuvnou klávesnici. Je-li nastavena hodnota false, což je výchozí nastavení, orientace plochy se nebude měnit se zařízením. true
• depthAndStencil – určuje, zda se má použít vyrovnávací paměť pro hloubku nebo šablonu. Tyto vyrovnávací paměti se běžně používají při práci s 3D obsahem. <depthAndStencil>true
• fullScreen – Určuje, zda má aplikace zabírat celý displej zařízení, nebo zda jej má sdílet s běžnými prvky operačního systému, jako je například systémový stavový řádek. true
• renderMode – Určuje, zda má běhový modul vykreslovat aplikaci pomocí grafického procesoru (GPU), nebo hlavního procesoru (CPU). Obecně platí, že vykreslování pomocí procesoru GPU je rychlejší, ale některé funkce, například režimy prolnutí a filtry PixelBender, nejsou v režimu GPU k dispozici. Kromě toho mají různá zařízení a ovladače zařízení nestejné možnosti a omezení režimu GPU. Aplikaci je vždy třeba otestovat na co nejširší škále zařízení, zejména při použití režimu GPU. Režim vykreslování můžete nastavit na hodnoty gpu, cpu, direct nebo auto. Výchozí hodnota je auto, která v současné době vrací do režimu cpu. Poznámka: Aby bylo možné využít akceleraci obsahu Flash pomocí GPU v prostředí AIR pro mobilní platformy, společnost Adobe doporučuje, abyste použili volbu renderMode="direct" (tzn. Stage3D) a nikoli renderMode="gpu". Společnost Adobe oficiálně podporuje a doporučuje tato prostředí založená na rozhraní Stage3D – Starling (2D) a Away3D (3D). Podrobnější informace o rozhraní Stage3D a prostředí Starling/Away3D naleznete na webu http://gaming.adobe.com/getstarted/. direct
Poslední aktualizace 19.11.2013
72
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Poznámka: Pro aplikace spouštěné na pozadí nelze použít nastavení renderMode=”direct”. Omezení režimu GPU:
• Platforma Flex režim vykreslení GPU nepodporuje. • Nejsou podporovány filtry. • Nejsou podporovány prolnutí PixelBender a výplně. • Nejsou podporovány následující režimy prolnutí: Vrstva, Alfa, Vymazat, Překrýt, Tvrdé světlo, Zesvětlit a Ztmavit
• Použití režimu vykreslování GPU v aplikaci, která přehrává video, není doporučeno. • V režimu vykreslování GPU nejsou při otevření virtuální klávesnice textová pole správně přesunuta do viditelného umístění. Chcete-li zajistit, aby při zadávání textu uživatelem bylo vaše textové pole viditelné, použijte vlastnost softKeyboardRect vymezené plochy a události softwarové klávesnice k přesunutí textového pole do viditelné oblasti.
• Pokud procesor GPU nedokáže objekt zobrazení vykreslit, vůbec se nezobrazí. Je-li například u objektu zobrazení použit filtr, objekt se nezobrazí. Poznámka: Implementace GPU pro systém iOS v prostředí AIR 2.6+ se dost liší od implementace použité ve starší verzi AIR 2.0. Při optimalizaci je třeba zvážit jiné faktory.
Další témata Nápovědy „aspectRatio“ na stránce 210 „autoOrients“ na stránce 210 „depthAndStencil“ na stránce 213 „fullScreen“ na stránce 220 „renderMode“ na stránce 231
Podporované profily Můžete přidat element supportedProfiles, pomocí kterého lze určit profily zařízení podporované danou aplikací. Pro mobilní zařízení použijte profil mobileDevice. Při spuštění aplikace pomocí programu Adobe Debug Launcher (ADL) použije tento nástroj první profil v seznamu jako aktivní. Při spuštění programu ADL můžete také použít příznak -profile a vybrat konkrétní profil v seznamu podporovaných. Pokud se aplikace spouští ve všech profilech, můžete element supportedProfiles úplně vynechat. Program ADL v tom případě jako výchozí aktivní profil použije profil pro stolní počítače. Chcete-li určit, že aplikace podporuje profil pro mobilní zařízení i stolní počítače, a vy obvykle chcete aplikaci testovat v mobilním profilu, přidejte následující element: <supportedProfiles>mobileDevice desktop
Další témata Nápovědy „supportedProfiles“ na stránce 235 „Profily zařízení“ na stránce 241 „Program AIR Debug Launcher (ADL)“ na stránce 156
Poslední aktualizace 19.11.2013
73
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Požadovaná nativní rozšíření Aplikace, které podporují profil mobileDevice mohou používat nativní rozšíření. Deklarujte všechna nativní rozšířená, která aplikace AIR používá, v deskriptoru aplikace. Následující příklad ukazuje syntaxi pro zadání dvou požadovaných nativních rozšíření: <extensions> <extensionID> com.example.extendedFeature <extensionID> com.example.anotherFeature
Element extensionID má stejnou hodnotu jako element id v souboru deskriptoru rozšíření. Soubor deskriptoru rozšíření je soubor XML s názvem extension.xml. Je zabalen v souboru ANE, který obdržíte od vývojáře nativního rozšíření.
Chování virtuální klávesnice Nastavte element softKeyboardBehavior na hodnotu none, chcete-li zakázat chování spočívající v automatickém posouvání a změně velikosti, pomocí kterého běhový modul zajišťuje, že po aktivaci virtuální klávesnice zůstane textové pole s fokusem viditelné. Pokud zakážete automatické chování, bude za zajištění toho, aby při aktivaci klávesnice byla viditelná oblast vkládání textu nebo jiný relevantní obsah, odpovídat daná aplikace. Pomocí vlastnosti softKeyboardRect plochy ve spojení s vlastností SoftKeyboardEvent můžete rozpoznat, že se klávesnice otevřela, a určit plochu, kterou zakrývá. Chcete-li povolit automatické chování, nastavte element na hodnotu pan: <softKeyboardBehavior>pan
Protože hodnota pan představuje výchozí hodnotu, lze automatické chování klávesnice povolit také vynecháním elementu softKeyboardBehavior. Poznámka: Používáte-li zároveň vykreslování GPU, chování typu pan není podporováno.
Další témata Nápovědy „softKeyboardBehavior“ na stránce 234 Stage.softKeyboardRect SoftKeyboardEvent
Nastavení systému Android Na platformě Android můžete v deskriptoru aplikace použít element android, abyste mohli přidat informace do manifestu aplikace Android, což je soubor vlastností aplikace používaný operačním systémem Android. Při vytváření balíčku APK nástroj ADT automaticky generuje soubor Manifest.xml systému Android. Prostředí AIR nastaví několik vlastností na hodnoty požadované pro fungování určitých funkcí. Veškeré další vlastnosti nastavené v části android deskriptoru aplikace AIR jsou přidány do odpovídající části souboru Manifest.xml. Poznámka: U většiny aplikací AIR je nutné v elementu android nastavit oprávnění systému Android požadovaná aplikací, ale obecně není třeba nastavovat žádné další vlastnosti. Lze nastavit pouze atributy, které přijímají řetězcové, celočíselné nebo booleovské hodnoty. Nastavení odkazů na zdroje není v balíčku aplikace podporováno. Poznámka: Běhový modul vyžaduje minimální verzi sady SDK vyšší než 9. Je nutné, aby manifest obsahoval řetězec <uses-sdk android:minSdkVersion="9">.
Poslední aktualizace 19.11.2013
74
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Vyhrazená nastavení manifestu systému Android Prostředí AIR nastaví v generovaném dokumentu manifestu systému Android několik položek, které zajistí správné fungování této aplikace a běhového modulu. Nemůžete definovat následující nastavení: element manifest Nemůžete nastavit následující atributy elementu manifest:
• package • android:versionCode • android:versionName • xmlns:android element activity Nemůžete nastavit následující atributy hlavního elementu activity:
• android:label • android:icon element application Nemůžete nastavit následující atributy elementu application:
Oprávnění systému Android Model zabezpečení systému Android vyžaduje, aby každá aplikace vyžadovala oprávnění při použití funkcí, které mají dopad na zabezpečení nebo ochranu soukromí. Tato oprávnění musejí být zadána při zabalování aplikace a není možné je měnit za běhu. Operační systém Android informuje uživatele, která oprávnění aplikace vyžaduje, když ji uživatel instaluje. Pokud oprávnění vyžadované pro funkci není požadováno, může operační systém Android vyvolat při přístupu aplikace k funkci výjimku, avšak tato výjimka není zaručena. Výjimky jsou předávány běhovým modulem do příslušné aplikace. V případě tiché chyby je zpráva o chybě oprávnění přidána do protokolu systému Android. V prostředí AIR zadáte oprávnění systému Android v elementu android deskriptoru aplikace. Pro přidávání oprávnění se používá následující formát (kde PERMISSION_NAME je název oprávnění systému Android): <manifestAdditions> <uses-permission android:name="android.permission.PERMISSION_NAME" /> ]]>
Poslední aktualizace 19.11.2013
75
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Příkazy uses-permissions uvnitř elementu manifest jsou přidány přímo do dokumentu manifestu systému Android. K použití různých funkcí prostředí AIR jsou vyžadována následující oprávnění: ACCESS_COARSE_LOCATION Umožňuje aplikaci získat přístup k údajům o umístění sítí WIFI a mobilních sítí prostřednictvím třídy Geolocation. ACCESS_FINE_LOCATION Umožňuje aplikaci získat přístup k údajům systému GPS prostřednictvím třídy
Geolocation. ACCESS_NETWORK_STATE a ACCESS_WIFI_STATE Umožňují aplikaci získat přístup k informacím o sítích
prostřednictvím třídy NetworkInfo. CAMERA Umožňuje aplikaci získat přístup k fotoaparátu či kameře.
Poznámka: Když požádáte o oprávnění k používání funkce fotoaparátu či kamery, systém Android předpokládá, že fotoaparát či kameru vyžaduje také vaše aplikace. Pokud fotoaparát či kamera představuje volitelnou funkci dané aplikace, měli byste do manifestu pro fotoaparát či kameru přidat element uses-feature, ve kterém je atribut required nastaven na hodnotu false. Viz „Filtrování kompatibility systému Android“ na stránce 76. INTERNET Umožňuje aplikaci provádět síťové požadavky. Dále umožňuje vzdálené ladění. READ_PHONE_STATE Umožňuje běhovému modulu AIR ztlumit zvuk během telefonních volání. Pokud aplikace
přehrává zvuk v době, kdy je na pozadí, nastavte toto oprávnění. RECORD_AUDIO Umožňuje aplikaci získat přístup k mikrofonu. WAKE_LOCK a DISABLE_KEYGUARD Umožňují aplikaci zabránit zařízení v přechodu do režimu spánku pomocí
nastavení třídy SystemIdleMode. WRITE_EXTERNAL_STORAGE Umožňuje aplikaci zápis na externí paměťovou kartu v zařízení.
Chcete-li například nastavit oprávnění pro aplikaci, která výslovně vyžaduje každé oprávnění, mohli byste do deskriptoru aplikace přidat následující obsah: <manifestAdditions> <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission ]]>
Další témata Nápovědy Zabezpečení a oprávnění systému Android Třída oprávnění v manifestu systému Android
Poslední aktualizace 19.11.2013
76
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Vlastní schémata URI systému Android Pomocí vlastního schématu URI můžete aplikaci AIR spustit z webové stránky nebo nativní aplikace Android. Podpora vlastního identifikátoru URI je založena na elementech intent-filter zadaných v manifestu pro systém Android, takže tento postup nelze použít na jiných platformách. Chcete-li použít vlastní identifikátor URI, přidejte element intent-filter do bloku v deskriptoru aplikace. Musí být zadány oba elementy intent-filter v následujícím příkladu. Příkaz upravte tak, aby odrážel řetězec URI pro vlastní schéma. <manifestAdditions> ]]>
Element intent-filter informuje operační systém Android, že daná aplikace je k dispozici pro provedení dané akce. V případě vlastního identifikátoru URI to znamená, že uživatel klepl na odkaz využívající dané schéma URI (a prohlížeč neví, jak tuto akci zpracovat). Je-li prostřednictvím vlastního identifikátoru URI vyvolána daná aplikace, objekt NativeApplication odešle událost invoke. Adresa URL odkazu, včetně parametrů dotazu, je umístěna v poli arguments objektu InvokeEvent. Můžete použít libovolný počet elementů intent-filter. Poznámka: Odkazy v instanci StageWebView nelze otevřít adresy URL, které používají vlastní schéma identifikátoru URI.
Další témata Nápovědy Elementy intent-filter systému Android Akce a kategorie systému Android
Filtrování kompatibility systému Android Operační systém Android určuje na základě řady elementů v souboru manifestu aplikace, zda je aplikace kompatibilní s daným zařízením. Přidání těchto informací do manifestu je volitelné. Jestliže tyto elementy nezahrnete, bude možné aplikaci nainstalovat do jakéhokoli zařízení Android. Nemusí však v jakémkoli zařízení Android správně fungovat. Například aplikace fotoaparátu či kamery nebude příliš užitečná v telefonu, který takovým vybavením nedisponuje. Manifest pro systém Android obsahuje tagy, které můžete použít pro filtrování:
• supports-screens, Poslední aktualizace 19.11.2013
77
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
• uses-configuration, • uses-feature, • uses-sdk (v prostředí AIR 3+). Aplikace fotoaparátu či kamery Pokud pro svou aplikaci požadujete oprávnění k fotoaparátu či kameře, systém Android předpokládá, že aplikace vyžaduje všechny dostupné funkce kamery, včetně automatického zaostřování a blesku. Nevyžaduje-li aplikace všechny funkce fotoaparátu či kamery nebo představuje-li toto vybavení volitelnou funkci, je třeba pro ně nastavit různé elementy uses-feature, které budou indikovat, že jsou volitelné. V opačném případě uživatelé se zařízením, v němž chybí jedna funkce fotoaparátu či kamery nebo toto vybavení vůbec nemají, nebudou moci nalézt vaši aplikaci na webu Android Market. Následující příklad ilustruje, jak lze vyžadovat oprávnění k fotoaparátu či kameře a současně všechny funkce tohoto vybavení nastavit jako volitelné: <manifestAdditions> <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" android:required="false"/> <uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/> <uses-feature android:name="android.hardware.camera.flash" android:required="false"/> ]]>
Aplikace pro záznam zvuku Pokud požadujete oprávnění pro záznam zvuku, systém Android předpokládá, že aplikace vyžaduje také mikrofon. Pokud je záznam zvuku volitelnou funkcí aplikace, můžete přidat tag uses-feature, ve kterém učíte, že mikrofon není vyžadován. V opačném případě uživatelé se zařízením, které nemají mikrofon, nebudou moci nalézt vaši aplikaci na webu Android Market. Následující příklad ilustruje, jak lze vyžadovat oprávnění k používání mikrofonu a současně ponechat hardware mikrofonu jako volitelné vybavení: <manifestAdditions> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-feature android:name="android.hardware.microphone" android:required="false"/> ]]>
Poslední aktualizace 19.11.2013
78
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Tlačítko nabídky v systému Android 3 V systému Android 3, který je spuštěný v zařízeních Tablet, se očekává, že aplikace poskytnou vlastní tlačítko pro otevření nabídky možností. Sada Android SDK nyní poskytuje komponentu ActionBar, které slouží k zobrazení tlačítka nabídky. Tlačítko nabídky, které operační systém zobrazí ve spodní části obrazovky tabletu (vedle tlačítek Zpět, Domů a Nedávné aplikace), se již nezobrazuje pro aplikace určené pro sadu Android SDK 11 a vyšší.
Další témata Nápovědy Vývojáři systému Android: Kompatibilita v systému Android Vývojáři systému Android: Konstanty názvů funkcí v systému Android
Umístění instalace Můžete povolit, aby aplikace byla nainstalována nebo přesunuta na externí paměťovou kartu, a to nastavením atributu installLocation elementu manifest systému Android na hodnotu auto nebo preferExternal: <manifestAdditions> ]]>
Operační systém Android nezaručuje, že aplikace bude nainstalována do externí paměti. Uživatel může aplikaci přesunout mezi interní a externí pamětí také pomocí aplikace pro nastavení systému. I v případě instalace do externí paměti budou mezipaměť a uživatelská data aplikace, jako je obsah adresáře appstorage, sdílené objekty a dočasné soubory, nadále uloženy v interní paměti. Chcete-li předejít využití příliš velké části interní paměti, postupujte při výběru dat, která se budou do adresáře úložiště aplikace ukládat, selektivně. Velké objemy dat by se měly ukládat na kartu SDCard, a to s použitím umístění File.userDirectory nebo File.documentsDirectory (obě se mapují ke kořenu karty SD v systému Android).
Povolení přehrávače Flash Player a jiných zásuvných modulů v objektu StageWebView Zobrazení obsahu zásuvného modulu v objektu StageWebView vyžaduje, aby aplikace v systému Android 3.0+ zapnula v elementu application systému Android hardwarovou akceleraci. Chcete-li povolit vykreslování zásuvných modulů, nastavte atribut android:hardwareAccelerated elementu application na hodnotu true: <manifestAdditions> ]]>
Prostředí AIR ověří elementy a atributy zahrnuté v části deskriptoru aplikace pro platformu Android. Ve výchozím nastavení prostředí AIR provádí ověření podle sady Android 2.3 SDK. Protože byl atribut android:hardwareAccelerated přidán ve verzi Android 3.0, je třeba nástroj AIR ADT nastavit tak, aby ověřování prováděl podle sady Android 3.0 SDK (nebo novější).
Poslední aktualizace 19.11.2013
79
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Nejprve stáhněte sadu Android 3 SDK: Android Developers: Installing the SDK (Vývojáři platformy Android: Instalace sady SDK). Při balení nastavte volbu -platformsdk na cestu obsahující příslušnou sadu Android SDK (cestu nastavte na adresář obsahující složku tools pro platformu Android). Například: adt -package -target apk -storetype pkcs12 -keystore cert.p12 -storepass foo myApp.apk myApp-app.xml -platformsdk c:\androidSDK myApp.swf other.files
Na cestu obsahující sadu Android SDK můžete nastavit také proměnnou prostředí AIR_ANDROID_SDK_HOME. Protože programy Flash Builder a Flash Professional nepovolují přidávání dalších parametrů při balení, umožní vám nastavení této proměnné prostředí používat položky nastavení sady Android SDK, které nebyly k dispozici při vydání sady AIR SDK, kterou používáte. Viz téma „Proměnné prostředí nástroje ADT“ na stránce 184.
Barevná hloubka Prostředí AIR 3+ Ve verzi AIR 3 a novějších nastaví běhový modul zobrazení na vykreslování 32bitových barev. Ve starších verzích prostředí AIR používá běhový modul 16bitové barvy. Pomocí elementu v deskriptoru aplikace můžete dát běhovému modulu pokyn k používání 16bitových barev: 16bit <manifestAdditions>...
Používání 16bitové barevné hloubky může zvýšit rychlost vykreslování, ale na úkor věrnosti barev.
Nastavení systému iOS Nastavení, která se vztahují pouze na zařízení se systémem iOS, jsou umístěna v deskriptoru aplikace v elementu . Element iPhone může obsahovat elementy InfoAdditions, requestedDisplayResolution, Entitlements, externalSwfs a forceCPURenderModeForDevices jako podřízené elementy. Element InfoAdditions umožňuje určit dvojice klíč-hodnota, které budou přidány do souboru s nastavením Info.plist pro danou aplikaci. Následující hodnoty například nastavují styl stavového řádku aplikace a určují, že aplikace nevyžaduje stálý přístup wi-fi. UIStatusBarStyle <string>UIStatusBarStyleBlackOpaque UIRequiresPersistentWiFi <string>NO ]]>
Nastavení InfoAdditions jsou uzavřena v tagu DATA. Element Entitlements umožňuje zadat dvojice klíč-hodnota přidané do souboru nastavení Entitlements.plist pro aplikaci. Nastavení v souboru Entitlements.plist poskytují aplikaci přístup k určitým funkcím systému iOS, jako jsou nabízená oznámení.
Poslední aktualizace 19.11.2013
80
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Podrobné informace o nastaveních v souboru Info.plist a Entitlements.plist naleznete v dokumentaci pro vývojáře od společnosti Apple.
Podpora úloh na pozadí v systému iOS AIR 3.3 Prostředí Adobe AIR 3.3 a vyšší podporuje v systému iOS zpracování více úloh současně tím, že umožní určité chování na pozadí:
• zvuk, • umístění aktualizací, • sítě, • zakázání spouštění aplikací, které běží na pozadí. Poznámka: V případě souboru SWF verze 21 a jeho dřívějších verzí prostředí AIR nepodporuje spouštění na pozadí v systému iOS a Android, pokud je nastaven režim přímého vykreslování. V důsledku tohoto omezení nemohou aplikace založené na třídě Stage3D provádět úlohy na pozadí, jako je přehrávání zvuku, aktualizace polohy, odesílání nebo stahování v síti atd. Systém iOS neumožňuje volání OpenGL ES ani vykreslení volání na pozadí. Aplikace, které se pokoušejí o volání OpenGL na pozadí, jsou systémem iOS ukončovány. Systém Android nezakazuje aplikacím volání OpenGL ES na pozadí ani provádění jiných úloh na pozadí (například přehrávání zvuku). V případě souboru SWF verze 22 a vyšší mohou aplikace AIR pro mobilní zařízení provádět úlohy na pozadí, pokud je nastaven atribut renderMode s hodnotou direct. Běhový modul prostředí AIR pro systém iOS vede k chybě jazyka ActionScript (3768 – Během provádění úloh na pozadí nelze použít rozhraní API Stage3D), pokud jsou volání OpenGL ES prováděna na pozadí. V systému Android však nedochází k žádným chybám, protože jeho nativním aplikacím je povoleno volat OpenGL ES na pozadí. Chcete-li dosáhnout optimálního využití mobilního zdroje, nevolejte vykreslení během spouštění aplikace na pozadí. Zvuk na pozadí Chcete-li zapnout přehrávání a nahrávání zvuku na pozadí, přidejte do elementu InfoAdditions následující klíč s hodnotou: UIBackgroundModes <array> <string>audio ]]>
Aktualizace umístění na pozadí Chcete-li zapnout aktualizace umístění na pozadí, přidejte do elementu InfoAdditions následující klíč s hodnotou: UIBackgroundModes <array> <string>location ]]>
Poslední aktualizace 19.11.2013
81
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Poznámka: Tuto funkci použijte, jen když je to nutné, protože rozhraní API umístění je náročné na spotřebu baterie. Sítě na pozadí Chcete-li spouštět krátké úlohy na pozadí, vaše aplikace nastaví vlastnost NativeApplication.nativeApplication.executeInBackground na hodnotu true. Aplikace může například zahájit operaci odeslání souboru, ale uživatel následně přesune jinou aplikaci do popředí. Jakmile aplikace přijme událost dokončení odeslání na server, může nastavit vlastnost NativeApplication.nativeApplication.executeInBackground na hodnotu false. Nastavení vlastnosti NativeApplication.nativeApplication.executeInBackground na hodnotu true nezaručí, že aplikace poběží nekonečně dlouho, protože systém iOS stanoví pro úlohy na pozadí určitý časový limit. Když systém iOS zastaví zpracování na pozadí, prostředí AIR odešle událost NativeApplication.suspend. Zakázání spouštění na pozadí Aplikace může výslovně zakázat spouštění na pozadí tím, že do elementu InfoAdditions přidá následující klíč s hodnotou: UIApplicationExitsOnSuspend <true/> ]]>
Vyhrazená nastavení InfoAdditions pro systém iOS Prostředí AIR nastaví v generovaném souboru Info.plist několik položek, které zajistí správné fungování této aplikace a běhového modulu. Nemůžete definovat následující nastavení: CFBundleDisplayName
CTInitialWindowTitle
CFBundleExecutable
CTInitialWindowVisible
CFBundleIconFiles
CTIosSdkVersion
CFBundleIdentifier
CTMaxSWFMajorVersion
CFBundleInfoDictionaryVersion
DTPlatformName
CFBundlePackageType
DTSDKName
CFBundleResourceSpecification
MinimumOSVersion (platné ve verzi AIR 3.3 a vyšší)
CFBundleShortVersionString
NSMainNibFile
CFBundleSupportedPlatforms
UIInterfaceOrientation
CFBundleVersion
UIStatusBarHidden
CTAutoOrients
UISupportedInterfaceOrientations
Podpora modelů různých zařízení se systémem iOS Podpora zařízení iPad vyžaduje, aby v parametru UIDeviceFamily elementu InfoAdditions byla použita správná nastavení klíč-hodnota. Nastavení parametru UIDeviceFamily je pole řetězců. Každý řetězec definuje podporovaná zařízení. Řetězec <string>1 definuje podporu zařízení iPhone a iPod Touch. Řetězec <string>2 definuje podporu zařízení iPad. Jestliže určíte jeden z těchto řetězců, bude podporována pouze daná řada zařízení. Následující nastavení například omezí podporu jen na zařízení iPad:
Poslední aktualizace 19.11.2013
82
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
UIDeviceFamily <array> <string>2 >
Následující nastavení podporuje obě řady zařízení (iPhone/iPod Touch a iPad): UIDeviceFamily <array> <string>1 <string>2
Dále lze v prostředí AIR 3.7 a vyšších pomocí tagu forceCPURenderModeForDevices vynutit u určené množiny zařízení režim vykreslování pomocí CPU a u zbývajících zařízení se systémem iOS povolit režim vykreslování pomocí GPU. Tento tag přidáte jako podřízený prvek tagu iPhone a určíte seznam názvů modelů zařízení oddělených mezerami. Seznam platných názvů modelů zařízení naleznete v části „forceCPURenderModeForDevices“ na stránce 219. Chcete-li například ve starých zařízeních iPod, iPhone a iPad používat režim CPU a pro všechna ostatní zařízení povolit režim GPU, určete v deskriptoru aplikace následující položky: ... GPU ... ... iPad1,1 iPhone1,1 iPhone1,2 iPod1,1
Zobrazení s vysokým rozlišením Element requestedDisplayResolution určuje, zda v zařízeních iOS s obrazovkou s vysokým rozlišením má aplikace používat režim rozlišení standard nebo high. <requestedDisplayResolution>high
V režimu rozlišení high lze adresovat každý obrazový bod zobrazení s vysokým rozlišením jednotlivě. Ve režimu standard se obrazovka zařízení jeví aplikaci jako obrazovka se standardním rozlišením. Nakreslení jednoho obrazového bodu v tomto režimu nastaví barvu čtyř obrazových bodů na obrazovce s vysokým rozlišením. Výchozí nastavení je standard. V případě zaměření na zařízení se systémem iOS použijte element requestedDisplayResolution jako podřízený prvek elementu iPhone (nikoli element InfoAdditions nebo initialWindow). Chcete-li v různých zařízeních používat různá nastavení, zadejte požadovanou výchozí hodnotu jako hodnotu elementu requestedDisplayResolution. Pomocí atributu excludeDevices určete zařízení, která mají používat opačnou hodnotu. Například při použití následujícího kódu se režim vysokého rozlišení použije u všech zařízení, která ho podporují, s výjimkou tabletů iPad 3. generace, které používají standardní režim: <requestedDisplayResolution excludeDevices="iPad3">high
Atribut excludeDevices je k dispozici v prostředí AIR 3.6 a novějších.
Další témata Nápovědy „requestedDisplayResolution“ na stránce 232 Renaun Erickson: Developing for both retina and non-retina iOS screens using AIR 2.6 (Vývoj pro obrazovky Retina
Poslední aktualizace 19.11.2013
83
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
i pro jiné obrazovky systému iOS pomocí prostředí AIR 2.6)
Vlastní schémata identifikátoru URI v systému iOS Registrací vlastních schémat identifikátoru URI můžete povolit, aby aplikaci mohl vyvolat odkaz na webové stránce nebo jiná, nativní aplikace v daném zařízení. Chcete-li zaregistrovat schéma identifikátoru URI, přidejte do elementu InfoAdditions klíč CFBundleURLTypes. Následující příklad zaregistruje schéma identifikátoru URI s názvem com.example.app, které povoluje, aby aplikaci mohly vyvolat adresy URL ve tvaru: example://foo. CFBundleURLTypes <array> CFBundleURLSchemes <array> <string>example CFBundleURLName <string>com.example.app
Je-li prostřednictvím vlastního identifikátoru URI vyvolána daná aplikace, objekt NativeApplication odešle událost invoke. Adresa URL odkazu, včetně parametrů dotazu, je umístěna v poli arguments objektu InvokeEvent. Můžete použít libovolný počet vlastních schémat identifikátoru URI. Poznámka: Odkazy v instanci StageWebView nelze otevřít adresy URL, které používají vlastní schéma identifikátoru URI. Poznámka: Pokud již schéma zaregistrovala jiná aplikace, nemůže ji vaše aplikace nahradit jako aplikaci registrovanou pro dané schéma identifikátoru URI.
Filtrování kompatibility zařízení iOS Má-li být vaše aplikace používána pouze v zařízeních s určitými hardwarovými nebo softwarovými funkcemi, přidejte položky do pole UIRequiredDeviceCapabilities v elementu InfoAdditions. Následující položka například označuje, že aplikace vyžaduje fotoaparát a mikrofon: UIRequiredDeviceCapabilities <array> <string>microphone <string>still-camera
Pokud zařízení nemá odpovídající funkce, nelze aplikaci nainstalovat. Mezi nastavení funkcí, jež se týkají aplikací AIR, patří: telephony
camera-flash
wifi
video-camera
sms
accelerometer
still-camera
location-services
auto-focus-camera
gps
front-facing-camera
microphone
V prostředí AIR 2 6+ jsou do seznamu požadovaných možností automaticky přidány položky armv7 a opengles-2.
Poslední aktualizace 19.11.2013
84
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Poznámka: Tyto funkce není nutné zahrnout do deskriptoru aplikace, aby je vaše aplikace používala. Nastavení UIRequiredDeviceCapabilities použijte pouze v případě, že chcete zabránit uživatelům v instalaci vaší aplikace do zařízení, ve kterých nemůže fungovat správně.
Ukončení místo pozastavení Jestliže uživatel přepne mimo aplikaci AIR, přejde tato aplikace na pozadí a dojde k jejímu pozastavení. Pokud chcete aplikaci místo pozastavení zcela ukončit, nastavte vlastnost UIApplicationExitsOnSuspend na hodnotu YES: UIApplicationExitsOnSuspend <true/>
Minimalizace velikosti stahovaného obsahu načítáním externích souborů SWF obsahujících pouze datové zdroje AIR 3.7 Počáteční velikost stahované aplikace je možné minimalizovat zabalením podmnožiny souborů SWF, které tato aplikace používá, a načtením zbývajících externích souborů SWF (obsahujících pouze datové zdroje) za běhu pomocí metody Loader.load(). Abyste mohli tuto funkci použít, musíte aplikaci zabalit tak, aby nástroj ADT přesunul všechen kód ABC (ActionScript ByteCode) z externě načtených souborů SWF do hlavního souboru SWF aplikace a ponechal soubor SWF, který obsahuje pouze datové zdroje. Účelem tohoto postupu je vyhovět pravidlu obchodu Apple Store, které zakazuje stahování jakéhokoli kódu po instalaci aplikace. Nástroj ADT podporuje externě načítané soubory SWF (označované také jako ořezané soubory SWF) těmito úkony:
• Přečte textový soubor určený v podelementu <externalSwfs> elementu , aby získal přístup k seznamu souborů SWF oddělených řádky, které se mají načíst v době provádění: ... <externalSwfs>FilewithPathsOfSWFsThatAreToNotToBePackaged.txt
• Přenese kód ABC z jednotlivých externě načtených souborů SWF do hlavního spustitelného souboru. • Vynechá externě načtené soubory SWF ze souboru IPA. • Zkopíruje ořezané soubory SWF do adresáře .remoteStrippedSWFs. Tyto soubory SWF budete hostovat na webovém serveru a vaše aplikace je podle potřeby načte za běhu. Soubory SWF, které se mají načíst za běhu, určíte zadáním jejich názvů na samostatné řádky v textovém souboru, jak znázorňuje následující příklad: assets/Level1/Level1.swf assets/Level2/Level2.swf assets/Level3/Level3.swf assets/Level4/Level4.swf
Určená cesta souboru je relativní vzhledem k souboru deskriptoru aplikace. Dále je nutné tyto soubory SWF zadat jako datové zdroje do příkazu adt. Poznámka: Tato funkce je vhodná pouze pro standardní balení. V případě rychlého balení (využívajícího například překladač, simulátor nebo ladění) nástroj ADT nevytváří ořezané soubory SWF. Další informace o této funkci včetně vzorového kódu naleznete v příspěvku blogu External hosting of secondary SWFs for AIR apps on iOS (Externí hostování sekundárních souborů SWF pro aplikace AIR v systému iOS) inženýra společnosti Adobe Abhinava Dhandha.
Poslední aktualizace 19.11.2013
85
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Ikony aplikace Následující tabulka obsahuje seznam velikostí ikon na každé mobilní platformě: Velikost ikony
Platforma
29 x 29
iOS
36 x 36
Android
48 x 48
Android, iOS
50x50
iOS
57 x 57
iOS
58x58
iOS
72 x 72
Android, iOS
96 x 96
Android
100x100
iOS
114x114
iOS
144x144
Android, iOS
512 x 512
iOS
1 024x1 024
iOS
Cestu k souborům ikon určete v elementu icon v souboru deskriptoru aplikace: assets/icon36.pngassets/icon48.pngassets/icon72.png
Pokud nezadáte ikonu dané velikosti, použije se nejbližší větší velikost a rozměry přizpůsobí. Ikony v systému Android V systému Android se ikony zadané v deskriptoru aplikace používají jako spouštěcí ikona aplikace. Ikona spouštěcího programu aplikace by měla být dodána jako sada obrázků PNG o rozměrech 36 x 36, 48 x 48, 72 x 72, 96 x 96 a 144 x 144 obrazových bodů. Tyto velikosti ikon se používají pro obrazovky s nízkou hustotou, střední hustotou a vysokou hustotou (v uvedeném pořadí). Ikony v systému iOS Ikony definované v deskriptoru aplikace se používají v následujících umístěních pro aplikaci iOS:
• Ikona 29x29 obrazových bodů – Ikona hledání Spotlight pro zařízení iPhone/iPad s nižším rozlišením a ikona nastavení pro zařízení iPad s nižším rozlišením
• Ikona 48x48 obrazových bodů – Prostředí AIR přidá k tomuto obrazu okraj a použije ho jako ikonu o velikosti 50x50 pro hledání Spotlight pro zařízení iPad s nižším rozlišením.
• Ikona 50x50 obrazových bodů – Hledání Spotlight pro zařízení iPad s nižším rozlišením • Ikona 57x57 obrazových bodů – Ikona aplikací pro zařízení iPhone/iPod s nižším rozlišením • Ikona 58x58 obrazových bodů – Ikona hledání Spotlight pro displeje Retina zařízení iPhone/iPod a ikona nastavení pro zařízení iPad s displeji Retina
Poslední aktualizace 19.11.2013
86
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
• Ikona 72x72 obrazových bodů (volitelná) – Ikona aplikací pro zařízení iPad s nižším rozlišením • Ikona 100x100 obrazových bodů – Hledání Spotlight pro displeje Retina zařízení iPad • Ikona 114x114 obrazových bodů – Ikona aplikací pro displeje Retina zařízení iPhone/iPod • Ikona 144x-144 obrazových bodů – Ikona aplikací pro displeje Retina zařízení iPad • Ikona 512x-512 obrazových bodů – Ikona aplikací pro zařízení iPhone/iPod/iPad s nižším rozlišením. Tuto ikonu zobrazuje služba iTunes. Tento soubor PNG s 512 obrazovými body slouží pouze k testování vývojových verzí vaší aplikace. Když odešlete konečnou aplikaci do obchodu Apple App Store, odešlete obraz 512 samostatně jako soubor JPG, který není obsažen v souboru IPA.
• Ikona 1 024x1 024 obrazových bodů – Ikona aplikací pro displeje Retina zařízení iPhone/iPod/iPad Systém iOS na ikonu přidá efekt lesku. U zdrojového obrazu není nutné tento efekt použít. Chcete-li tento výchozí efekt lesku odstranit, přidejte v souboru deskriptoru aplikace do elementu InfoAdditions následující výraz: UIPrerenderedIcon <true/> ]]>
Poznámka: V systému iOS jsou metadata aplikací vkládána do ikon aplikací jako metadata PNG, aby mohla společnost Adobe sledovat počet aplikací AIR, které jsou k dispozici v obchodě s aplikacemi pro systém Apple iOS. Pokud nechcete, aby vaše aplikace byla na základě těchto metadat ikony identifikována jako aplikace AIR, musíte rozbalit soubor IPA, odstranit metadata ikony a soubor znovu zabalit. Tento postup je popsán v článku Odhlášení z analytiky aplikací AIR pro systém iOS
Další témata Nápovědy „icon“ na stránce 221 „imageNxN“ na stránce 222 Vývojáři systému Android: Pokyny pro návrh ikon Pokyny pro lidské rozhraní systému iOS: Pokyny pro vytváření vlastních ikon a obrazů
Spouštěcí obrazy v systému iOS Kromě ikon aplikace je nutné zadat alespoň jeden spouštěcí obraz s názvem Default.png. Volitelně lze vložit i další spouštěcí obrazy pro různá nastavení orientace při startu, různá rozlišení (včetně obrazovky Retina Display s vysokým rozlišením a poměrem stran 16:9) a různá zařízení. Můžete vložit i další spouštěcí obrazy, které budou použity při vyvolání aplikace prostřednictvím adresy URL. Deskriptor aplikace neobsahuje odkazy na soubory se spouštěcími obrazy, ty proto musejí být umístěny v kořenovém adresáři aplikace. (Tyto soubory neumísťujte do podadresáře.) Schéma pojmenování souborů Zadejte název obrazu podle následujícího schématu: basename + screen size modifier + urischeme + orientation + scale + device + .png
Jedinou požadovanou částí je název souboru (bez přípony). Tento název souboru je buď Default (s velkým D), nebo název, který zadáte pomocí klíče UILaunchImageFile v elementu InfoAdditions v deskriptoru aplikace.
Poslední aktualizace 19.11.2013
87
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Část modifikátor velikosti obrazovky určuje velikost obrazovky, pokud se nejedná o jednu ze standardních velikostí. Tento modifikátor se týká pouze modelů iPhone a iPod touch s obrazovkou s poměrem stran 16:9, jako např. iPhone 5 nebo iPod touch 5. generace. Jediná přípustná hodnota tohoto modifikátoru je -568h. Jelikož tato zařízení podporují displeje s vysokým rozlišením (Retina), používá se modifikátor velikosti obrazovky u všech obrazů, které obsahují i modifikátor měřítka @2x. Úplný výchozí název spouštěcího obrazu pro tato zařízení je [email protected]. Část urischeme je řetězec, který slouží k identifikaci schématu URI. Tuto část použijete pouze tehdy, pokud vaše aplikace podporuje jedno nebo více vlastních schémat URL. Pokud lze například aplikaci vyvolat pomocí odkazu, jako je example://foo, použijte jako část schématu v názvu souboru se spouštěcím obrazem řetězec -example. Část orientace umožňuje zadat více spouštěcích obrazů, které budou použity při spuštění aplikace podle orientace zařízení. Tato část se týká pouze obrazů pro aplikace zařízení iPad. Může mít některou z následujících hodnot, která se vztahuje k orientaci zařízení při spuštění aplikace:
• -Portrait • -PortraitUpsideDown • -Landscape • -LandscapeLeft • -LandscapeRight Částí scale je @2x u spouštěcích obrazů používaných pro displeje s vysokým rozlišením (Retina). (U obrazů používaných pro zobrazení se standardním rozlišením část scale úplně vynechejte.) U spouštěcích obrazů pro větší zařízení, jako je iPhone 5 nebo iPod touch 5. generace, je třeba zadat také modifikátor velikosti obrazovky -528h hned za základním názvem a před jakýmikoli dalšími částmi. Část zařízení slouží k označení spouštěcích obrazů pro ruční zařízení a telefony. Tato část se používá, pokud je vaše aplikace univerzální a podporuje jak ruční zařízení, tak tablety, přičemž používá jen jedna binární data. Přípustná hodnota je ~ipad nebo ~iphone (týká se jak zařízení iPhone, tak iPod Touch). Pro zařízení iPhone lze zahrnout pouze obrazy s poměrem stran s orientací na výšku. Pro zařízení se standardním rozlišením použijte obrazy 320 x 480 obrazových bodů, pro zařízení s vysokým rozlišením obrazy 640 x 960 obrazových bodů a pro zařízení s poměrem stran 16:9 (jako např. iPhone 5 nebo iPod touch 5. generace) obrazy 640 x 1 136 obrazových bodů. V případě zařízení iPad vložte obrazy takto:
• AIR 3.3 a starší – obrazy na část obrazovky: můžete zahrnout obrazy s poměrem stran na šířku (1 024 x 748 pro normální rozlišení, 2 048 x 1 496 pro vysoké rozlišení) i na výšku (768 x 1 004 pro normální rozlišení, 1 536 x 2 008 pro vysoké rozlišení).
• AIR 3.4 a novější – obrazy na celou obrazovku: můžete zahrnout obrazy s poměrem stran na šířku (1 024 x 768 pro normální rozlišení, 2 048 x 1 536 pro vysoké rozlišení) i na výšku (768 x 1 024 pro normální rozlišení, 1 536 x 2 048 pro vysoké rozlišení). Pokud obraz přes celou obrazovku upravíte pro aplikaci, která využívá jen část obrazovky, bude horních 20 obrazových bodů (horních 40 obrazových bodů při vysokém rozlišení) zakryto stavovým řádkem. V této oblasti nezobrazujte důležité informace. Příklady Následující tabulka uvádí příklady spouštěcích obrazů, které byste mohli zahrnout pro hypotetickou aplikaci, jež podporuje nejširší možný rozsah zařízení a orientací a již lze spustit prostřednictvím adres URL používajících schéma example://:
Poslední aktualizace 19.11.2013
88
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
URL example:// v zařízení iPhone s vysokým rozlišením
Default-example~ipad.png
768 x 1 004
URL example:// v zařízení iPad s orientací na výšku
Default-example-Landscape.png
1 024 x 768
URL example:// v zařízení iPad s orientací na šířku
Tento příklad ukazuje pouze jeden přístup. Mohli byste například použít obraz Default.png pro zařízení iPad a určit konkrétní spouštěcí obrazy pro zařízení iPhone a iPod s obrazy Default~iphone.pnga Default@2x~iphone.png. Viz také Průvodce programováním aplikací systému iOS: Spouštěcí obrazy aplikace Pravidla obrazů Pro spouštěcí obraz můžete vytvořit libovolnou grafiku se správnými rozměry. Často bývá ale nejlepší, pokud obraz odpovídá počátečnímu stavu aplikace. Takový spouštěcí obraz můžete vytvořit pořízením snímku spouštěcí obrazovky dané aplikace: 1
Otevřete aplikaci v zařízení iOS. Až bude zobrazena první obrazovka uživatelského rozhraní, stiskněte a podržte tlačítko Home (Domů) pod obrazovkou. Stále držte tlačítko Home (Domů) a stiskněte v horní části zařízení tlačítko Power/Sleep (Napájení/režim spánku). Tímto postupem pořídíte snímek obrazovky a odešlete jej do složky Camera Roll.
Poslední aktualizace 19.11.2013
89
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
2 Obraz převeďte do vývojového počítače. Použijte k tomu převod fotografií z aplikace iPhoto nebo jiné aplikace
umožňující převod fotografií. Jestliže je aplikace lokalizována do více jazyků, nezahrnujte do spouštěcího obrazu text. Spouštěcí obraz je statický a text by neodpovídal ostatním jazykům. Viz také iOS Pokyny lidského rozhraní: Spouštěcí obrazy
Ignorovaná nastavení Aplikace v mobilních zařízeních ignorují nastavení aplikace, která se vztahují k nativním oknům nebo operačnímu systému stolního počítače. Ignorována nastavení zahrnují:
Zabalení mobilní aplikace AIR Balíček aplikace AIR určené pro mobilní zařízení vytvořte pomocí příkazu -package nástroje ADT. Parametr -target určuje mobilní platformu, pro kterou se balíček vytváří. Balíčky pro systém Android Aplikace AIR v systému Android používá formát balíčku aplikace Android (APK), nikoli formát balíčku AIR.
Poslední aktualizace 19.11.2013
90
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Balíčky vytvořené nástrojem ADT s použitím cílového typu APK jsou ve formátu, který lze odeslat na web Android Market. Na webu Android Market platí určité požadavky, které musí být splněny, aby odeslané aplikace byly přijaty. Před vytvořením konečného balíčku byste si měli projít nejnovější požadavky. Viz Vývojáři systému Android: Publikování na webu Market. Na rozdíl od aplikací iOS můžete k podepsání aplikace použít normální certifikát pro podepisování kódu AIR. Pokud však chcete aplikaci odeslat na web Android Market, musí certifikát odpovídat pravidlům tohoto webu, která vyžadují, aby byl platný alespoň do roku 2033. Takový certifikát můžete vytvořit pomocí příkazu -certificate nástroje ADT. Chcete-li aplikaci odeslat na alternativní tržiště, které neumožňuje aplikaci vyžadovat stažení běhového prostředí AIR z tržiště společnosti Google, zadejte alternativní adresu URL pro stažení pomocí parametru -airDownloadURL nástroje ADT. Pokud vaši aplikaci spustí uživatel, který nemá požadovanou verzi běhového prostředí AIR, bude přesměrován na zadanou adresu URL. Další informace naleznete v tématu „Příkaz package nástroje ADT“ na stránce 163. (AIR 3.7 a vyšší) Nástroj ADT ve výchozím nastavení přibalí k aplikaci pro Android vázanou kopii běhového modulu AIR. Aplikace bude používat výhradně tuto vázanou verzi prostředí AIR. Uživatel nemusí mít nainstalovaný samostatný běhový modul prostředí AIR. Poznámka: Pokud nechcete, aby nástroj ADT vytvořil balíček APK, který používá externí běhový modul, nastavte proměnnou prostředí AIR_ANDROID_SHARED_RUNTIME na hodnotu true. Balíčky pro systém iOS Aplikace AIR pro systém iOS používají formát balíčku iOS (IPA), nikoli nativní formát AIR. Balíčky vytvořené nástrojem ADT s použitím cílového typu ipa-app-store a se správným certifikátem pro podepisování kódu a prováděcím profilem jsou ve formátu, který lze odeslat do obchodu Apple App Store. Chcete-li aplikaci zabalit pro distribuci ad hoc, použijte cílový typ ipa-ad-hoc. K podepsání aplikace je nutné použít správný vývojářský certifikát vydaný společností Apple. Pro vytváření zkušebních verzí se používají jiné certifikáty než ke konečnému zabalení před odesláním aplikace. Příklad vytvoření balíku aplikace systému iOS pomocí skriptu ANT viz Piotr Walczyszyn: Packaging AIR application for iOS devices with ADT command and ANT script (Zabalení aplikace AIR pro zařízení se systémem iOS pomocí příkazu ADT a skriptu ANT)
Zabalení pomocí nástroje ADT Sada AIR SDK verze 2.6 a novější podporuje zabalení pro systémy iOS i Android. Před zabalením musí být zkompilován veškerý kód ActionScript a MXML a případných rozšíření. Musíte také mít certifikát pro podepsání kódu. Podrobné informace o příkazech a možnostech nástroje ADT naleznete v části věnované „AIR Developer Tool (ADT)“ na stránce 162.
Balíčky APK pro systém Android Vytvoření balíčku APK Chcete-li vytvořit balíček APK, použijte příkaz package nástroje ADT, přičemž cílový typ nastavte na hodnotu apk u verzí k vydání, na hodnotu apk-debug u verzí k ladění nebo na hodnotu apk-emulator u verzí v režimu k vydání, které se mají spouštět v emulátoru.
Poslední aktualizace 19.11.2013
91
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Zadejte celý příkaz na jediný řádek; výše uvedený příklad je rozdělen na řádky pouze s cílem usnadnit jeho čtení. V příkladu se také předpokládá, že cesta k nástroji ADT se nachází v definici cesty v prostředí příkazového řádku. (Nápovědu naleznete v části „Proměnné prostředí pro cestu“ na stránce 300.) Příkaz je nutné spustit z adresáře obsahujícího soubory aplikace. Soubory aplikace v uvedeném příkladu jsou myAppapp.xml (soubor deskriptoru aplikace), myApp.swf a adresář icons. Při spuštění příkazu, jak je uveden, vás nástroj ADT vyzve k zadání hesla pro úložiště klíčů. (Vámi zadávané znaky hesla se nezobrazují; po jeho zadání jednoduše stiskněte klávesu Enter.) Poznámka: (AIR 3.7 a vyšší) Nástroj ADT ve výchozím nastavení přibalí k aplikaci pro Android vázanou kopii běhového modulu AIR. Pokud nechcete, aby nástroj ADT vytvořil balíček APK, který používá externí běhový modul, nastavte proměnnou prostředí AIR_ANDROID_SHARED_RUNTIME na hodnotu true. Když k aplikaci přibalíte běhový modul, bude tento vázaný běhový modul používat výhradně jen vaše aplikace. Výhody balení s vázaným běhovým modulem:
• Vytváří samostatnou aplikaci. • Aplikace je izolována od aktualizací běhového prostředí. • Organizace mohou certifikovat specifické kombinace aplikace a běhového prostředí. • Není třeba samostatně stahovat a instalovat běhový modul. Vytvoření balíčku APK pro aplikaci, která používá nativní rozšíření Chcete-li vytvořit balíček APK pro aplikaci, která používá nativní rozšíření, přidejte kromě normálních voleb balení také volbu -extdir. Tato volba určuje adresář, který obsahuje soubory ANE, jež aplikace používá. Například: adt -package -target apk -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp-app.xml -extdir extensionsDir myApp.swf icons
Vytvoření balíčku APK, který obsahuje svou vlastní verzi běhového modulu prostředí AIR Chcete-li vytvořit balíček APK, který obsahuje aplikaci i vázanou verzi běhového modulu prostředí AIR, použijte cíl apk-captive-runtime. Tato volba určuje adresář, který obsahuje soubory ANE, jež aplikace používá. Například: adt -package -target apk-captive-runtime -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp-app.xml myApp.swf icons
Poslední aktualizace 19.11.2013
92
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Možné nevýhody této techniky:
• uživatelé nebudou mít automaticky dostupné důležité opravy zabezpečení, když společnost Adobe zveřejní opravu zabezpečení;
• aplikace zabírá více paměti RAM. Poznámka: Když přibalíte běhový modul, přidá nástroj ADT do aplikace oprávnění INTERNET a BROADCAST_STICKY. Tato oprávnění vyžaduje běhový modul prostředí AIR. Vytvoření balíčku nástroje APK pro ladění Chcete-li vytvořit verzi aplikace, kterou lze použít s ladicím programem, použijte jako cíl hodnotu apk-debug a zadejte možnosti připojení: adt -package -target apk-debug -connect 192.168.43.45 -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp-app.xml myApp.swf icons
Příznak -connect instruuje běhový modul AIR v zařízení, kde v síti se má připojit ke vzdálenému ladicímu programu. Chcete-li ladění provést přes port USB, je nutné místo výše uvedeného příznaku zadat příznak -listen s uvedením portu TCP pro připojení k ladicímu programu: adt -package -target apk-debug -listen 7936 -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp-app.xml myApp.swf icons
Většina funkcí ladění rovněž vyžaduje, aby soubory SWF a SWC aplikace byly kompilovány s povoleným laděním. Nahlédněte do tématu „Možnosti připojení debuggeru“ na stránce 179, kde naleznete úplný popis příznaků -connect a -listen. V systému Android musí také aplikace mít oprávnění pro přístup k Internetu, aby se mohla v síti připojit k počítači, ve kterém je spuštěn ladicí program. Viz „Oprávnění systému Android“ na stránce 74. Vytvoření balíčku APK k použití v emulátoru systému Android V emulátoru systému Android můžete použít balíček APK pro ladění, ale nikoli balíček v režimu k vydání. Chcete-li vytvořit balíček APK v režimu k vydání pro použití v emulátoru, použijte příkaz package nástroje ADT, přičemž cílový typ nastavte na hodnotu apk-emulator: adt -package -target apk-emulator -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myAppapp.xml myApp.swf icons
V příkladu se předpokládá, že cesta k nástroji ADT se nachází v definici cesty v prostředí příkazového řádku. (Nápovědu naleznete v části „Proměnné prostředí pro cestu“ na stránce 300.) Vytvoření balíčku APK ze souboru AIR nebo AIRI Balíček APK můžete vytvořit přímo z existujícího souboru AIR nebo AIRI: adt -target apk -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp.air
Soubor AIR musí v souboru deskriptoru aplikace používat obor názvů AIR 2.5 (nebo novější).
Poslední aktualizace 19.11.2013
93
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Balíčky pro systém iOS V systému iOS převede nástroj ADT bajtový kód souboru SWF a další zdrojové soubory na nativní aplikaci iOS. 1 Soubor SWF vytvořte pomocí aplikace Flash Builder, Flash Professional nebo kompilátoru příkazového řádku. 2 Otevřete příkazové prostředí nebo terminál a přejděte v aplikaci pro zařízení iPhone do složky projektu. 3 Pak pomocí nástroje ADT vytvořte soubor IPA s použitím následující syntaxe: adt -package -target [ipa-test | ipa-debug | ipa-app-store | ipa-ad-hoc | ipa-debug-interpreter | ipa-debug-interpreter-simulator ipa-test-interpreter | ipa-test-interpreter-simulator] -provisioning-profile PROFILE_PATH SIGNING_OPTIONS TARGET_IPA_FILE APP_DESCRIPTOR SOURCE_FILES -extdir extension-directory -platformsdk path-to-iossdk or path-to-ios-simulator-sdk
Změňte odkaz adt tak, aby obsahoval úplnou cestu k aplikaci adt. Aplikace adt se nainstaluje do podadresáře bin sady AIR SDK. Vyberte volbu -target odpovídající typu aplikace pro zařízení iPhone, kterou chcete vytvořit:
•
-target ipa-test – tuto volbu vyberte, chcete-li za účelem testování v zařízení iPhone vývojáře rychle
zkompilovat verzi aplikace. Můžete také použít balíček ipa-test-interpreter pro ještě rychlejší kompilaci nebo ipa-test-interpreter-simulator pro spouštění v simulátoru systému iOS.
•
-target ipa-debug – tuto volbu vyberte, chcete-li za účelem testování v zařízení iPhone vývojáře zkompilovat ladicí verzi aplikace. Pomocí této volby můžete k přijetí výstupu metody trace() z aplikace pro zařízení iPhone použít relaci ladění.
Zahrnutím jedné z následujících voleb -connect (CONNECT_OPTIONS) lze určit IP adresu vývojového počítače, v němž je spuštěn ladicí program:
•
-connect – aplikace se pomocí wifi pokusí připojit k relaci ladění ve vývojovém počítači použitém ke
kompilaci aplikace.
•
-connect IP_ADDRESS – aplikace se pomocí wifi pokusí připojit k relaci ladění v počítači s určenou IP
Volba -connect je volitelná. Pokud není určena, výsledná ladicí aplikace se nepokusí o připojení k hostovanému ladicímu programu. Také můžete určením volby -listen namísto -connect povolit ladění USB popsané v části „Vzdálené ladění pomocí nástroje FDB přes port USB“ na stránce 102. Jestliže pokus o navázání připojení za účelem ladění selže, aplikace zobrazí dialog s výzvou k zadání IP adresy hostitelského počítače ladicího programu. Pokus o navázání připojení může selhat, pokud zařízení není připojeno k síti WiFi. Také to může nastat v případě, že zařízení je připojeno, ale ne za bránou firewall hostitelského počítače ladicího programu. Můžete také použít balíček ipa-debug-interpreter pro rychlejší kompilaci nebo ipa-debug-interpretersimulator pro spouštění v simulátoru systému iOS.
Poslední aktualizace 19.11.2013
94
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Další informace naleznete v části „Ladění mobilní aplikace AIR“ na stránce 96.
•
-target ipa-ad-hoc – Tuto volbu vyberte, chcete-li vytvořit aplikaci pro ad hoc nasazení. Další informace
naleznete v části týkající se centra pro vývojáře zařízení iPhone společnosti Apple.
•
-target ipa-app-store – Tuto volbu vyberte, chcete-li vytvořit konečnou verzi souboru IPA k nasazení
aplikace do obchodu Apple App Store. Výraz PROFILE_PATH nahraďte cestou k souboru prováděcího profilu vaší aplikace. Další informace o prováděcích profilech naleznete v části „Nastavení systému iOS“ na stránce 64. Pomocí volby -platformsdk můžete odkazovat na sadu SDK simulátoru iOS, když vytváříte sestavení ke spuštění aplikace v simulátoru iOS. Výraz SIGNING_OPTIONS nahraďte tak, aby odkazoval na váš certifikát a heslo pro vývojáře pro zařízení iPhone. Použijte následující syntaxi: -storetype pkcs12 -keystore P12_FILE_PATH -storepass PASSWORD
Nahraďte výraz P12_FILE_PATH cestou k souboru certifikátu P12. Výraz PASSWORD nahraďte heslem certifikátu. (Viz následující příklad.) Další informace o souboru certifikátu P12 naleznete v části „Převod certifikátu pro vývojáře do souboru úložiště klíčů P12“ na stránce 194. Poznámka: Při balení pro simulátor iOS můžete použít certifikát s vlastním podpisem. Výraz APP_DESCRIPTOR nahraďte tak, aby odkazoval na soubor deskriptoru aplikace. Výraz SOURCE_FILES nahraďte tak, aby odkazoval na hlavní soubor SWF projektu. Po něm mohou následovat jakékoli další zahrnuté datové zdroje. Uveďte cesty ke všem souborům ikon, které jste definovali v aplikaci Flash Professional v dialogovém okně nastavení aplikace a ve vlastním souboru deskriptoru aplikace. Také přidejte grafický soubor úvodní obrazovky Default.png. Pomocí možnosti-extdir extension-directory můžete určit adresář obsahující soubory ANE (nativní rozšíření), které bude aplikace používat. Jestliže aplikace nepoužívá žádná nativní rozšíření, tuto možnost nezahrnujte. Důležité: V adresáři aplikace nevytvářejte podadresář s názvem Resources. Běhový modul automaticky vytvoří složku s tímto názvem, aby bylo možné vyhovět struktuře balíčku IPA. Vytvoření vaší vlastní složky Resources by vedlo k závažnému konfliktu. Vytvoření balíčku iOS pro ladění Chcete-li vytvořit balíček iOS pro instalaci na zkušební zařízení, použijte příkaz package nástroje ADT, přičemž cílový typ nastavte na hodnotu ios-debug. Ještě před spuštěním tohoto příkazu musíte získat certifikát pro podepisování vývojářského kódu a prováděcí profil od společnosti Apple. adt -package -target ipa-debug -storetype pkcs12 -keystore ../AppleDevelopment.p12 -provisioning-profile AppleDevelopment.mobileprofile -connect 192.168.0.12 | -listen myApp.ipa myApp-app.xml myApp.swf icons Default.png
Poznámka: Můžete také použít parametr ipa-debug-interpreter pro rychlejší kompilaci nebo ipa-debuginterpreter-simulator ke spuštění v simulátoru iOS.
Poslední aktualizace 19.11.2013
95
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Zadejte celý příkaz na jediný řádek; výše uvedený příklad je rozdělen na řádky pouze s cílem usnadnit jeho čtení. V příkladu se také předpokládá, že cesta k nástroji ADT se nachází v definici cesty v prostředí příkazového řádku. (Nápovědu naleznete v části „Proměnné prostředí pro cestu“ na stránce 300.) Příkaz je nutné spustit z adresáře obsahujícího soubory aplikace. Soubory aplikace v uvedeném příkladu jsou myAppapp.xml (soubor deskriptoru aplikace), myApp.swf, adresář icons a soubor Default.png. Aplikaci je třeba podepsat pomocí správného distribučního certifikátu vydaného společností Apple; jiné certifikáty pro podepsání kódu nelze použít. Volbu -connect použijte k ladění wifi. Aplikace se pokusí zahájit relaci ladění pomocí programu Flash Debugger (FDB) spuštěného na zadané IP adrese nebo názvu hostitele. Volbu -listen použijte k ladění přes port USB. Při prvním spuštění aplikace spusťte nástroj FDB, který spustí relaci ladění pro spuštěnou aplikaci. Další informace naleznete v části „Připojení k ladicímu programu Flash“ na stránce 100. Vytvoření balíčku iOS pro odeslání do obchodu Apple App Store Chcete-li vytvořit balíček iOS pro odeslání do obchodu Apple App Store, použijte příkaz package nástroje ADT, přičemž cílový typ nastavte na hodnotu ios-app-store. Ještě před spuštěním tohoto příkazu musíte získat certifikát pro podepisování distribučního kódu a prováděcí profil od společnosti Apple. adt -package -target ipa-app-store -storetype pkcs12 -keystore ../AppleDistribution.p12 -provisioning-profile AppleDistribution.mobileprofile myApp.ipa myApp-app.xml myApp.swf icons Default.png
Zadejte celý příkaz na jediný řádek; výše uvedený příklad je rozdělen na řádky pouze s cílem usnadnit jeho čtení. V příkladu se také předpokládá, že cesta k nástroji ADT se nachází v definici cesty v prostředí příkazového řádku. (Nápovědu naleznete v části „Proměnné prostředí pro cestu“ na stránce 300.) Příkaz je nutné spustit z adresáře obsahujícího soubory aplikace. Soubory aplikace v uvedeném příkladu jsou myAppapp.xml (soubor deskriptoru aplikace), myApp.swf, adresář icons a soubor Default.png. Aplikaci je třeba podepsat pomocí správného distribučního certifikátu vydaného společností Apple; jiné certifikáty pro podepsání kódu nelze použít. Důležité: Společnost Apple vyžaduje, abyste k ukládání aplikací do obchodu App Store používali program Apple Application Loader. Společnost Apple program Application Loader publikuje pouze pro systém Mac OS X. Ačkoli tedy můžete aplikaci AIR pro zařízení iPhone vyvinout pomocí počítače se systémem Windows, je třeba mít přístup k počítači se systémem OS X (verze 10.5.3 nebo novější), abyste ji mohli odeslat do obchodu App Store. Program Application Loader můžete získat z centra Apple iOS Developer Center. Vytvoření balíčku iOS pro distribuci ad hoc Chcete-li vytvořit balíček iOS pro distribuci ad hoc, použijte příkaz package nástroje ADT, přičemž cílový typ nastavte na hodnotu ios-ad-hoc. Ještě před spuštěním tohoto příkazu musíte získat odpovídající certifikát pro podepisování kódu pro distribuci ad hoc a prováděcí profil od společnosti Apple. adt -package -target ipa-ad-hoc -storetype pkcs12 -keystore ../AppleDistribution.p12 -provisioning-profile AppleDistribution.mobileprofile myApp.ipa myApp-app.xml myApp.swf icons Default.png
Poslední aktualizace 19.11.2013
96
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Zadejte celý příkaz na jediný řádek; výše uvedený příklad je rozdělen na řádky pouze s cílem usnadnit jeho čtení. V příkladu se také předpokládá, že cesta k nástroji ADT se nachází v definici cesty v prostředí příkazového řádku. (Nápovědu naleznete v části „Proměnné prostředí pro cestu“ na stránce 300.) Příkaz je nutné spustit z adresáře obsahujícího soubory aplikace. Soubory aplikace v uvedeném příkladu jsou myAppapp.xml (soubor deskriptoru aplikace), myApp.swf, adresář icons a soubor Default.png. Aplikaci je třeba podepsat pomocí správného distribučního certifikátu vydaného společností Apple; jiné certifikáty pro podepsání kódu nelze použít. Vytvoření balíčku systému iOS pro aplikaci, která používá nativní rozšíření Chcete-li vytvořit balíček systému iOS pro aplikaci, která používá nativní rozšíření, použijte příkaz package nástroje ADT s možností -extdir. Použijte příkaz ADT pro cíl (ipa-app-store, ipa-debug, ipa-ad-hoc, ipa-test). Například: adt -package -target ipa-ad-hoc -storetype pkcs12 -keystore ../AppleDistribution.p12 -provisioning-profile AppleDistribution.mobileprofile myApp.ipa myApp-app.xml -extdir extensionsDir myApp.swf icons Default.png
Zadejte celý příkaz na jediný řádek; výše uvedený příklad je rozdělen na řádky pouze s cílem usnadnit jeho čtení. Co se týče nativních rozšíření, v příkladu se předpokládá, že adresář s názvem extensionsdir je adresář, ve kterém spustíte příkaz. Adresář extensionsdir obsahuje soubory ANE, které aplikace používá.
Ladění mobilní aplikace AIR Mobilní aplikaci AIR můžete ladit několika způsoby. Nejjednodušší způsob, jak odhalit problémy s aplikační logikou, je ladění ve vývojovém počítači pomocí programu ADL nebo simulátoru iOS. Můžete také aplikaci nainstalovat do zařízení a provést vzdálené ladění pomocí ladicího programu Flash, který je spuštěn ve stolním počítači.
Simulace zařízení pomocí programu ADL Nejrychlejší a nejsnadnější způsob testování a ladění většiny funkcí mobilních aplikací je spuštění aplikace ve vývojovém počítači pomocí programu ADL (Adobe Debug Launcher). Program ADL určí profil, který má použít, na základě elementu supportedProfiles v deskriptoru aplikace. Pokud je v seznamu uveden více než jeden profil, program ADL použije první z nich. Lze také použít parametr -profile programu ADL k výběru jednoho z dalších profilů v seznamu supportedProfiles. (Pokud do deskriptoru aplikace element supportedProfiles nezahrnete, lze v argumentu -profile zadat libovolný profil.) Například pomocí následujícího příkazu spustíte aplikaci tak, aby simulovala profil mobilního zařízení: adl -profile mobileDevice myApp-app.xml
Při simulaci mobilního profilu ve stolním počítači tímto způsobem se aplikace spustí v prostředí, které lépe odpovídá cílovému mobilnímu zařízení. Rozhraní API jazyka ActionScript, která nejsou součástí mobilního profilu, nejsou k dispozici. Program ADL však nerozlišuje mezi možnostmi různých mobilních zařízení. Například můžete do aplikace odesílat simulovaná stisknutí programovatelných kláves, i když skutečné cílové zařízení programovatelné klávesy nevyužívá.
Poslední aktualizace 19.11.2013
97
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Simulaci změn orientace zařízení a vstupu z programovatelných kláves podporuje program ADL prostřednictvím příkazů nabídky. Spustíte-li program ADL v profilu mobilního zařízení, zobrazí program ADL nabídku (v okně aplikace nebo na panelu nabídek stolního počítače), která umožňuje zadávat vstup z natočení zařízení nebo programovatelných kláves. Vstup z programovatelných kláves Program ADL simuluje programovatelné klávesy pro tlačítka Zpět, Nabídka a Hledat v mobilním zařízení. Vstup z těchto kláves můžete do simulovaného zařízení odesílat pomocí nabídky zobrazené při spuštění programu ADL s použitím mobilního profilu. Natočení zařízení Program ADL umožňuje simulovat natočení zařízení prostřednictvím nabídky zobrazené při spuštění programu ADL s použitím mobilního profilu. Simulované zařízení můžete otočit doprava nebo doleva. Simulace natočení má vliv pouze na aplikaci, která umožňuje automatickou orientaci. Tuto funkci můžete povolit nastavením elementu autoOrients v deskriptoru aplikace na hodnotu true. Velikost obrazovky Aplikaci lze testovat pro různé velikosti obrazovek nastavením parametru -screensize nástroje ADL. Můžete předat kód představující jeden z předdefinovaných typů obrazovky nebo řetězec obsahující čtyři hodnoty, které představují rozměry normální a maximalizované obrazovky v pixelech. Zadané rozměry v pixelech se vždy týkají rozvržení na výšku, tzn. že šířka je menší než výška. Například následující příkaz otevře program ADL tak, že bude simulovat obrazovku používanou v zařízení Motorola Droid: adl -screensize 480x816:480x854 myApp-app.xml
Seznam předdefinovaných typů obrazovky naleznete v části „Použití nástroje ADL“ na stránce 156. Omezení V programu ADL nelze simulovat některá rozhraní API, která nejsou podporována v profilu stolního počítače. Mezi rozhraní API, která nebudou simulována, patří:
• Accelerometer • cacheAsBitmapMatrix • CameraRoll • CameraUI • Geolocation • Vícedotyková gesta a speciální tahy v operačních systémech pro stolní počítače, které nepodporují tyto funkce • SystemIdleMode Pokud aplikace používá tyto třídy, měli byste funkce otestovat ve skutečném zařízení nebo v emulátoru. Stejně tak existují rozhraní API, jež fungují při spuštění pod programem ADL ve stolním počítači, ale nefungují ve všech typech mobilních zařízení. Patří sem:
• Zvukový kodek Speex a AAC • Podpora usnadnění přístupu programů pro čtení z obrazovky • Protokol RTMPE • Načítání souborů SWF obsahujících bajtový kód jazyka ActionScript
Poslední aktualizace 19.11.2013
98
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
• Objekty Shader nástroje PixelBender Nezapomeňte na testování aplikací, které používají tyto funkce v cílových zařízeních, protože program ADL neprovádí úplnou replikaci spouštěcího prostředí.
Simulace zařízení pomocí simulátoru iOS Simulátor iOS (pouze počítače Mac) nabízí rychlý způsob spouštění a ladění aplikací iOS. Při testování se simulátorem iOS nebudete potřebovat certifikát vývojáře ani prováděcí profil. Přesto musíte vytvořit certifikát P12, i když to může být certifikát s vlastním podpisem. Poznámka: Pokud se simulátorem iOS používáte ADT, musíte vždy zahrnout volbu -platformsdk, která určuje cestu k sadě SDK simulátoru iOS. Spuštění aplikace v simulátoru iOS: 1 Příkaz adt -package použijte s parametrem -target ipa-test-interpreter-simulator nebo -target ipadebug-interpreter-simulator, jak uvádí následující příklad. adt -package -target ipa-test-interpreter-simulator -storetype pkcs12 -keystore Certificates.p12 -storepass password myApp.ipa myApp-app.xml myApp.swf -platformsdk /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk
2 Pomocí příkazu adt -installApp nainstalujte aplikaci do simulátoru systému iOS podle následujícího příkladu: adt -installApp -platform ios -platformsdk /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk -device ios-simulator -package sample_ipa_name.ipa
3 Pomocí příkazu adt -launchApp spusťte aplikaci v simulátoru systému iOS podle následujícího příkladu: adt -launchApp -platform ios -platformsdk /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk -device ios-simulator -appid sample_ipa_name
Chcete-li v simulátoru iOS testovat nativní rozšíření, použijte název platformy iPhone-x86 v souboru extension.xml a určete parametr library.a (statická knihovna) v elementu nativeLibrary podle následujícího příkladu extension.xml:
Poslední aktualizace 19.11.2013
99
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Poznámka: Při testování nativního rozšíření v simulátoru iOS nepoužívejte statickou knihovnu (soubor .a ) vytvořený pro dané zařízení. Místo toho používejte statickou knihovnu, která je zkompilovaná pro simulátor.
Trasování příkazů Spustíte-li mobilní aplikaci ve stolním počítači, vytiskne se výstup trasování do ladicího programu nebo okna terminálu použitého ke spuštění programu ADL. Při spuštění aplikace v zařízení nebo emulátoru můžete na zobrazování výstupu trasování nastavit relaci vzdáleného ladění. Je-li to podporováno, můžete výstup trasování zobrazit také pomocí nástrojů pro vývoj softwaru poskytnutých výrobcem zařízení nebo operačního systému. Ve všech případech je pro vytvoření výstupu běhovým modulem na základě trasovacích příkazů nutné, aby soubory SWF byly kompilovány s povoleným laděním. Příkazy pro vzdálené trasování v systému Android Při spuštění v zařízení Android nebo příslušném emulátoru můžete výstup trasovacích příkazů zobrazit v protokolu systému Android pomocí nástroje Android Debug Bridge (ADB), který je součástí sady Android SDK. Chcete-li zobrazit výstup pro danou aplikaci, spusťte z příkazového řádku nebo z okna terminálu ve vývojovém počítači následující příkaz: tools/adb logcat air.MyApp:I *:S
kde MyApp je ID dané aplikace AIR. Argument *:S potlačí výstup ze všech ostatních procesů. Chcete-li kromě výstupu trasování zobrazit pro aplikaci systémové informace, můžete do specifikace filtru logcat zahrnout položku ActivityManager: tools/adb logcat air.MyApp:I ActivityManager:I *:S
V těchto ukázkových příkazech se předpokládá, že používáte nástroj ADB ze složky Android SDK nebo že jste přidali složku SDK do proměnné prostředí pro cestu. Poznámka: V prostředí AIR 2.6+ je nástroj ADB součástí sady AIR SDK a naleznete jej ve složce lib/android/bin. Příkazy pro vzdálené trasování v systému iOS Chcete-li zobrazit výstup trasovacích příkazů z aplikace spuštěné v zařízení iOS, musíte navázat relaci vzdáleného ladění pomocí programu Flash Debugger (FDB).
Další témata Nápovědy Nástroj Android Debug Bridge: Povolení protokolování logcat „Proměnné prostředí pro cestu“ na stránce 300
Poslední aktualizace 19.11.2013
100
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Připojení k ladicímu programu Flash Chcete-li ladit aplikaci spuštěnou v mobilním zařízení, můžete spustit ladicí program Flash ve vývojovém počítači a připojit se k němu prostřednictvím sítě. Vzdálené ladění povolíte provedením následujícího postupu:
• V systému Android zadejte oprávnění android:permission.INTERNET v deskriptoru aplikace. • Zkompilujte soubory SWF aplikace s povoleným laděním. • Zabalte aplikaci pomocí příkazu -target
apk-debug (pro systém Android) nebo -target ipa-debug (pro
systém iOS) a příznaku -connect (ladění wifi) nebo -listen (ladění USB). U vzdáleného ladění v síti wifi musí mít zařízení přístup k portu TCP 7935 počítače, ve kterém je spuštěn ladicí program Flash, a to na základě IP adresy nebo plně kvalifikovaného názvu domény. U vzdáleného ladění přes port USB musí mít zařízení přístup k portu TCP 7936 nebo k portu zadanému v příznaku -listen. V systému iOS můžete také určit parametr -target ipa-debug-interpreter nebo -target ipa-debuginterpreter-simulator .
Vzdálené ladění pomocí aplikace Flash Professional Jakmile je aplikace připravena k ladění a v deskriptoru aplikace jsou nastavena oprávnění, postupujte takto: 1 Otevřete dialogové okno Nastavení prostředí AIR Android. 2 Na kartě Nasazení:
• Jako typ nasazení vyberte možnost Ladění zařízení. • Jako možnost Po publikování vyberte položku „Instalovat aplikaci na připojeném zařízení Android“. • Zrušte výběr položky „Spustit aplikaci na připojeném zařízení Android“ u možnosti Po publikování. • V případě potřeby nastavte cestu k sadě Android SDK. 3 Klepněte na tlačítko Publikovat.
Aplikace se nainstaluje a spustí v zařízení. 4 Zavřete dialogové okno Nastavení prostředí AIR Android. 5 V nabídce aplikace Flash Professional vyberte možnost Ladění > Zahájit relaci vzdáleného ladění > ActionScript 3.
Aplikace Flash Professional zobrazí na výstupním panelu zprávu „Čeká se na připojení přehrávače“. 6 Spusťte aplikaci v zařízení. 7 V dialogovém okně pro připojení prostředí Adobe AIR zadejte IP adresu nebo hostitelský název počítače, ve kterém
je spuštěn ladicí program Flash, a potom klepněte na tlačítko OK.
Vzdálené ladění pomocí nástroje FDB prostřednictvím síťového připojení Chcete-li aplikaci spuštěnou v zařízení ladit pomocí nástroje Flash Debugger (FDB) na příkazovém řádku, spusťte nejprve ladicí program ve vývojovém počítači a poté aplikaci v zařízení. V následujícím postupu se ke kompilaci, zabalení a ladění aplikace v zařízení používají nástroje AMXMLC, FDB a ADT. V příkladech se předpokládá, že používáte kombinované prostředí Flex a sadu AIR SDK a že do proměnné prostředí pro cestu je zahrnut adresář bin. (Tento předpoklad je zde uplatněn jen proto, aby bylo možné ukázkové příkazy zjednodušit.) 1 Otevřete okno terminálu nebo příkazového řádku a přejděte do adresáře, který obsahuje zdrojový kód aplikace. 2 Zkompilujte aplikaci pomocí nástroje amxmlc, přičemž povolte ladění: amxmlc -debug DebugExample.as
3 Zabalte aplikaci s použitím cíle apk-debug nebo ipa-debug:
Poslední aktualizace 19.11.2013
101
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
V případě, že pro ladění vždy používáte stejný název hostitele nebo IP adresu, můžete tuto hodnotu vložit za příznak -connect. Aplikace se automaticky pokusí k této IP adrese nebo názvu hostitele připojit. Jinak budete muset tyto údaje zadávat v zařízení při každém zahájení ladění. 4 Nainstalujte aplikaci.
V systému Android můžete použít příkaz -installApp nástroje ADT: adt -installApp -platform android -package DebugExample.apk
U systému iOS můžete aplikaci nainstalovat pomocí příkazu -installApp nástroje ADT nebo pomocí služby iTunes. 5 V druhém okně terminálu nebo příkazového řádku spusťte nástroj FDB: fdb
6 V okně FDB zadejte příkaz run: Adobe fdb (Flash Player Debugger) [build 14159] Copyright (c) 2004-2007 Adobe, Inc. All rights reserved. (fdb) run Waiting for Player to connect
7 Spusťte aplikaci v zařízení. 8 Jakmile se aplikace v zařízení nebo emulátoru spustí, otevře se dialogové okno pro připojení prostředí Adobe AIR.
(Pokud jste při balení aplikace zadali název hostitele nebo IP adresu v možnosti -connect, automaticky se pokusí připojit pomocí této adresy.) Zadejte příslušnou adresu a klepněte na tlačítko OK. Chcete-li se připojit k ladicímu programu v tomto režimu, musí být zařízení schopno adresu nebo název hostitele přeložit a připojit se k portu TCP 7935. Je vyžadováno připojení k síti. 9 Když se vzdálený běhový modul připojí k ladicímu programu, můžete pomocí příkazu FDB break nastavit body
přerušení a poté zahájit provádění příkazem continue: (fdb) run Waiting for Player to connect Player connected; session starting. Set breakpoints and then type 'continue' to resume the session. [SWF] Users:juser:Documents:FlashProjects:DebugExample:DebugExample.swf - 32,235 bytes after decompression (fdb) break clickHandler Breakpoint 1 at 0x5993: file DebugExample.as, line 14 (fdb) continue
Poslední aktualizace 19.11.2013
102
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Vzdálené ladění pomocí nástroje FDB přes port USB AIR 2.6 (Android) AIR 3.3 (iOS) Chcete-li aplikaci ladit prostřednictvím připojení USB, můžete ji zabalit s použitím možnosti -listen místo možnosti -connect. Pokud zadáte možnost -listen, běhový modul při spuštění aplikace naslouchá připojení ladicího programu Flash (FDB) na portu TCP 7936. Pak spusťte nástroj FDB s parametrem -p a nástroj FDB iniciuje připojení. Ladění přes port USB pro systém Android Aby se mohl ladicí program Flash, který je spuštěn ve stolním počítači, připojit k běhovému modulu AIR spuštěnému v zařízení nebo emulátoru, je nutné pomocí nástroje Android Debug Bridge (ADB) ze sady Android SDK nebo iOS Debug Bridge (IDB) ze sady AIR SDK přesměrovat port zařízení do portu stolního počítače. 1 Otevřete okno terminálu nebo příkazového řádku a přejděte do adresáře, který obsahuje zdrojový kód aplikace. 2 Zkompilujte aplikaci pomocí nástroje amxmlc, přičemž povolte ladění: amxmlc -debug DebugExample.as
3 Zabalte aplikaci pomocí příslušného cíle ladění (například apk-debug) a určete možnost -listen: adt -package -target apk-debug -listen -storetype pkcs12 -keystore ../../AndroidCert.p12 DebugExample.apk DebugExample-app.xml DebugExample.swf
4 Připojte zařízení k ladicímu počítači pomocí kabelu USB. (Tento postup můžete použít také k ladění aplikace
spuštěné v emulátoru – v takovém případě není připojení USB nutné, respektive možné.) 5 Nainstalujte aplikaci.
Můžete použít příkaz -installApp nástroje ADT: adt -installApp -platform android -package DebugExample.apk
6 Pomocí nástroje Android ADB předejte port TCP 7936 ze zařízení nebo emulátoru do stolního počítače: adb forward tcp:7936 tcp:7936
7 Spusťte aplikaci v zařízení. 8 V okně terminálu nebo příkazu spusťte nástroj FDB s použitím možnosti -p: fdb -p 7936
9 V okně FDB zadejte příkaz run: Adobe fdb (Flash Player Debugger) [build 14159] Copyright (c) 2004-2007 Adobe, Inc. All rights reserved. (fdb) run
10 Nástroj FDB se pokusí připojit se k aplikaci. 11 Po navázání vzdáleného připojení můžete pomocí příkazu FDB break nastavit body přerušení a poté zahájit
provádění příkazem continue: (fdb) run Player connected; session starting. Set breakpoints and then type 'continue' to resume the session. [SWF] Users:juser:Documents:FlashProjects:DebugExample:DebugExample.swf - 32,235 bytes after decompression (fdb) break clickHandler Breakpoint 1 at 0x5993: file DebugExample.as, line 14 (fdb) continue
Poslední aktualizace 19.11.2013
103
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Poznámka: Port číslo 7936 se používá jako výchozí pro ladění přes port USB v běhovém modulu AIR i nástroji FDB. Jiné porty můžete zadat pomocí parametru -listen port nástroje ADT a parametru -p port nástroje FDB. V tom případě je nutné pomocí nástroje Android Debug Bridge předat číslo portu zadané v nástroji ADT do portu v nástroji FDB: adb forward tcp:adt_listen_port# tcp:fdb_port#
Ladění přes port USB pro systém iOS Aby se mohl ladicí program Flash, který je spuštěn ve stolním počítači, připojit k běhovému modulu AIR spuštěnému v zařízení nebo emulátoru, je nutné pomocí nástroje iOS Debug Bridge (IDB) ze sady AIR SDK přesměrovat port zařízení do portu stolního počítače. 1 Otevřete okno terminálu nebo příkazového řádku a přejděte do adresáře, který obsahuje zdrojový kód aplikace. 2 Zkompilujte aplikaci pomocí nástroje amxmlc, přičemž povolte ladění: amxmlc -debug DebugExample.as
3 Aplikaci zabalte pomocí příslušného cíle ladění (jako je ipa-debug nebo ipa-debug-interpreter a určete volbu -listen: adt -package -target ipa-debug-interpreter -listen 16000 xyz.mobileprovision -storetype pkcs12 -keystore Certificates.p12 -storepass pass123 OutputFile.ipa InputFile-app.xml InputFile.swf
4 Připojte zařízení k ladicímu počítači pomocí kabelu USB. (Tento postup můžete použít také k ladění aplikace
spuštěné v emulátoru – v takovém případě není připojení USB nutné, respektive možné.) 5 Nainstalujte a spusťte aplikaci v zařízení se systémem iOS. V prostředí AIR 3.4 a vyšším můžete použít příkaz adt -installApp a nainstalovat aplikaci přes rozhraní USB.
6 Určete popisovač zařízení pomocí příkazu idb -devices (nástroj IDB je umístěn ve složce air_sdk_root/lib/aot/bin/iOSBin/idb): ./idb -devices List of attached devices Handle UUID 1 91770d8381d12644df91fbcee1c5bbdacb735500
Poznámka: (AIR 3.4 a vyšší) K určení popisovače zařízení, můžete namísto příkazu idb -devices použít příkaz adt -devices.
7 Přesměrujte port ve stolním počítači do portu zadaného v parametru adt -listen (v tomto případě 16000;
výchozí hodnota je 7936) pomocí nástroje IDB a ID zařízení nalezeném v předchozím kroku: idb -forward 7936 16000 1
V tomto příkladu je 7936 port stolního počítače, 16000 je port, ve kterém naslouchá připojené zařízení a 1 je ID připojeného zařízení. 8 V okně terminálu nebo příkazu spusťte nástroj FDB s použitím možnosti -p: fdb -p 7936
9 V okně FDB zadejte příkaz run: Adobe fdb (Flash Player Debugger) [build 23201] Copyright (c) 2004-2007 Adobe, Inc. All rights reserved. (fdb) run
10 Nástroj FDB se pokusí připojit se k aplikaci.
Poslední aktualizace 19.11.2013
104
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
11 Po navázání vzdáleného připojení můžete pomocí příkazu FDB break nastavit body přerušení a poté zahájit
provádění příkazem continue: Poznámka: Port číslo 7936 se používá jako výchozí pro ladění přes port USB v běhovém modulu AIR i nástroji FDB. Jiné porty můžete zadat pomocí parametru -listen port nástroje IDB a parametru -p port nástroje FDB.
Instalace prostředí AIR a aplikací AIR v mobilních zařízeních Koncoví uživatelé vaší aplikace mohou nainstalovat běhový modul AIR a aplikace AIR pomocí normálního mechanismu pro aplikace a distribuci v jejich zařízení. Například v systému Android mohou uživatelé instalovat aplikace z webu Android Market. Nebo pokud v nastavení aplikací povolili instalaci aplikací z neznámých zdrojů, mohou aplikaci nainstalovat klepnutím na odkaz na webové stránce nebo zkopírováním balíčku aplikace do zařízení a jejím spuštěním. Jestliže se uživatel pokusí nainstalovat aplikaci pro systém Android, ale nemá dosud nainstalováno běhový modul AIR, pak bude automaticky přesměrován na web Market, odkud může běhový modul nainstalovat. V systému iOS existují dva způsoby distribuce aplikací koncovým uživatelům. Primárním distribučním kanálem je obchod Apple App Store. Můžete také použít distribuci ad hoc, při které lze instalaci aplikace povolit omezenému počtu uživatelů, aniž by bylo nutné využít obchod App Store.
Instalace běhového modulu AIR a aplikací pro vývoj Protože aplikace AIR v mobilních zařízeních se instalují jako nativní balíčky, můžete pro instalaci aplikací pro testování využít běžné funkce platformy. Pokud je to podporováno, lze pro instalaci běhového modulu AIR a aplikací AIR použít příkazy nástroje ADT. Tato metoda je v současné době podporována v systému Android. V systému iOS lze aplikace pro testování nainstalovat pomocí aplikace iTunes. Testovací aplikace musejí být podepsány certifikátem pro podepisování kódu od společnosti Apple, který je speciálně vydán pro vývoj aplikací a je přibalen do prováděcího profilu pro vývoj. V systému iOS představuje aplikace AIR soběstačný balíček. Samostatný běhový modul se nepoužívá. Instalace aplikací AIR pomocí nástroje ADT Při vývoji aplikací AIR můžete běhový modul i aplikace nainstalovat a odinstalovat pomocí nástroje ADT. (Tyto příkazy mohou být rovněž integrovány do daného prostředí IDE, takže nemusíte nástroj ADT spouštět sami.) Běhový modul AIR lze do zařízení nebo emulátoru nainstalovat pomocí nástroje AIR ADT. Musí být nainstalována sada SDK pro dané zařízení. Použijte příkaz -installRuntime: adt -installRuntime -platform android -device deviceID -package path-to-runtime
Pokud není zadán parametr -package, je z balíčků běhového modulu dostupných v nainstalované sadě AIR SDK zvolen ten, který odpovídá danému zařízení nebo emulátoru. Chcete-li aplikaci AIR nainstalovat do zařízení se systémem Android nebo iOS (prostředí AIR 3.4 nebo novější), použijte obdobný příkaz -installApp: adt -installApp -platform android -device deviceID -package path-to-app
Hodnota nastavená pro argument -platform by měla odpovídat zařízení, do kterého provádíte instalaci. Poznámka: Před opětovnou instalací je nutné odebrat stávající verze běhového modulu AIR nebo aplikace AIR.
Poslední aktualizace 19.11.2013
105
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Instalace aplikací AIR do zařízení iOS pomocí služby iTunes Instalace aplikace AIR do zařízení iOS pro testování: 1 Otevřete aplikaci iTunes. 2 Pokud jste tak ještě neučinili, přidejte do aplikace iTunes prováděcí soubor pro svou aplikaci. V aplikaci iTunes
vyberte položky File (Soubor) > Add to Library (Přidat do knihovny). Poté vyberte soubor prováděcího profilu (bude označen jako typ souboru mobileprovision). 3 Některé verze aplikace iTunes aplikaci nenahradí, pokud je již nainstalována stejná verze aplikace. V takovém
případě svou aplikaci odstraňte ze zařízení i ze seznamu aplikací v aplikaci iTunes. 4 Poklepejte na soubor IPA aplikace. Aplikace by se měla objevit v seznamu aplikací v aplikaci iTunes. 5 Připojte zařízení k portu USB v počítači. 6 V aplikaci iTunes vyhledejte zařízení na záložce Application (Aplikace) a ujistěte se, že je aplikace vybrána v
seznamu aplikací určených k instalaci. 7 Vyberte zařízení v levém seznamu aplikace iTunes. Poté klepněte na tlačítko Sync (Synchronizovat). Aplikace Hello
World se po dokončení synchronizace objeví v zařízení iPhone. Pokud není nová verze nainstalována, odstraňte ji ze zařízení i ze seznamu aplikací v aplikaci iTunes a následně celý tento postup opakujte. K této situaci může dojít, pokud aktuálně nainstalovaná verze používá stejné ID i verzi aplikace.
Další témata Nápovědy „Příkaz installRuntime nástroje ADT“ na stránce 173 „Příkaz installApp nástroje ADT“ na stránce 171
Spouštění aplikací AIR v zařízení Nainstalované aplikace AIR můžete spustit pomocí uživatelského rozhraní zařízení. Pokud je to podporováno, můžete aplikace spouštět také vzdáleně pomocí nástroje AIR ADT: adt -launchApp -platform android -device deviceID -appid applicationID
Hodnota argumentu -appid musí představovat ID aplikace AIR, která má být spuštěna. Použijte hodnotu zadanou v deskriptoru aplikace AIR (bez prefixu air. přidaného během balení). Pokud je připojeno a spuštěno pouze jedno zařízení nebo emulátor, můžete vynechat příznak -device. Hodnota nastavená pro argument -platform by měla odpovídat zařízení, na které provádíte instalaci. V současné době je jedinou podporovanou hodnotou android.
Odebrání běhového modulu a aplikací AIR K odebírání aplikací můžete použít běžné prostředky poskytované operačním systémem zařízení. Pokud je to podporováno, můžete pro odebrání běhového modulu a aplikací AIR použít také nástroj AIR ADT. K odebrání běhového modulu použijte příkaz -uninstallRuntime: adt -uninstallRuntime -platform android -device deviceID
K odinstalaci aplikace použijte příkaz -uninstallApp: adt -uninstallApp -platform android -device deviceID -appid applicationID
Pokud je připojeno a spuštěno pouze jedno zařízení nebo emulátor, můžete vynechat příznak -device. Hodnota nastavená pro argument -platform by měla odpovídat zařízení, na které provádíte instalaci. V současné době je jedinou podporovanou hodnotou android.
Poslední aktualizace 19.11.2013
106
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Nastavení emulátoru Chcete-li aplikaci AIR spustit v emulátoru zařízení, je obvykle nutné pomocí sady SDK pro zařízení vytvořit a spustit instanci emulátoru ve vývojovém počítači. Potom můžete do emulátoru nainstalovat verzi běhového modulu AIR pro emulátor a aplikaci AIR. Mějte na paměti, že aplikace v emulátoru obvykle běží mnohem pomaleji než v samotném zařízení.
Vytvoření emulátoru systému Android 1 Spusťte sadu Android SDK a aplikaci AVD Manager:
• V systému Windows spusťte soubor Setup.exe sady SDK v kořenovém adresáři sady Android SDK. • V systému Mac OS spusťte aplikaci android v podadresáři tools v adresáři sady Android SDK. 2 Vyberte možnost Settings (Nastavení) a vyberte možnost „Force https://“ (Vynutit https://). 3 Vyberte možnost Available Packages (Dostupné balíčky). Měl by se zobrazit seznam dostupných sad Android SDK. 4 Vyberte kompatibilní sadu Android SDK (Android 2.3 nebo novější) a klepněte na tlačítko Install Selected
(Instalovat vybrané). 5 Vyberte možnost Virtual Devices (Virtuální zařízení) a klepněte na tlačítko New (Nové). 6 Proveďte následující nastavení:
• název virtuálního zařízení, • cílové rozhraní API, jako například Android 2.3, API level 8, • velikost pro kartu SD (například 1024), • vzhled (například výchozí HVGA). 7 Klepněte na tlačítko Create AVD (Vytvořit AVD).
Mějte na paměti, že vytváření virtuálních zařízení může v závislosti na konfiguraci systému chvíli trvat. Nyní můžete nové virtuální zařízení spustit. 1 V aplikaci AVD Manager vyberte položku Virtual Device (Virtuální zařízení). Virtuální zařízení, které jste vytvořili
podle postupu výše, by mělo objevit v seznamu. 2 Vyberte virtuální zařízení a klepněte na tlačítko Start. 3 Na další obrazovce klepněte na tlačítko Launch (Spustit).
Ve stolním počítači by se mělo otevřít okno emulátoru. To může trvat několik sekund. Také může chvíli trvat inicializace operačního systému Android. Do emulátoru je možné nainstalovat aplikace zabalené pomocí příkazů apkdebug a apk-emulator. Aplikace zabalené s použitím cíle apk v emulátoru nefungují.
Další témata Nápovědy http://developer.android.com/guide/developing/tools/othertools.html#android http://developer.android.com/guide/developing/tools/emulator.html
Aktualizace mobilních aplikací AIR Mobilní aplikace AIR jsou distribuovány jako nativní balíčky a proto používají standardní mechanismy aktualizací jako ostatní aplikace na dané platformě. To obvykle zahrnuje odeslání do stejného tržiště nebo obchodu s aplikacemi, které byly použity k distribuci původní aplikace.
Poslední aktualizace 19.11.2013
107
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Mobilní aplikace AIR nemohou používat třídu Updater ani rozhraní aktualizačního programu prostředí AIR.
Aktualizace aplikací AIR v systému Android Aplikace distribuované na webu Android Market je možné aktualizovat umístěním nové verze na web Market, a to za předpokladu, že jsou splněny následující podmínky (tyto zásady vynucuje web Market, nikoli prostředí AIR):
• Balíček APK je podepsán pomocí stejného certifikátu. • ID aplikace AIR je stejné. • Hodnota versionNumber v deskriptoru aplikace je vyšší. (Měli byste také zvýšit hodnotu versionLabel, pokud se používá.) Uživatelé, kteří si aplikaci z webu Android Market stáhli, budou softwarem jejich zařízení upozorněni, že je k dispozici aktualizace.
Další témata Nápovědy Vývojáři systému Android: Publikování aktualizací na webu Android Market
Aktualizace aplikací AIR v systému iOS V případě aplikací AIR distribuovaných prostřednictvím obchodu s aplikacemi iTunes lze aplikaci aktualizovat odesláním aktualizace do tohoto obchodu, pokud platí všechny následující předpoklady (tyto zásady vynucuje obchod s aplikacemi Apple, nikoli prostředí AIR):
• Certifikát pro podpis kódu a prováděcí profily jsou vystaveny na stejné Apple ID. • Balíček IPA používá stejné ID balíku Apple. • Aktualizace nezmenší fond podporovaných zařízení (jinými slovy, pokud původní aplikace podporuje zařízení se systémem iOS 3, nemůžete vytvořit aktualizaci, která nepodporuje systém iOS 3). Důležité: Sada AIR SDK verze 2.6 a novější nepodporuje systém iOS 3, ale prostředí AIR 2 ano, a proto nelze při aktualizaci publikované aplikace systému iOS, která byla vyvinuta pomocí prostředí AIR 2, použít aktualizaci vyvinutou pomocí prostředí AIR 2.6+.
Použití nabízených oznámení Nabízená oznámení umožňují poskytovatelům vzdálených oznámení odesílat oznámení do aplikací spuštěných v mobilním zařízení. Prostředí AIR 3.4 podporuje nabízená oznámení pro zařízení se systémem iOS prostřednictvím služby Apple Push Notification service (APNs). Poznámka: Chcete-li povolit nabízená oznámení pro aplikaci AIR pro systém Android, použijte nativní rozšíření, jako je as3c2dm vyvinuté propagátorem společnosti Adobe Piotrem Walczyszynem. Ve zbytku této části je popsán postup povolení nabízených oznámení v aplikacích AIR pro systém iOS. Poznámka: U tohoto pojednání se předpokládá, že máte ID vývojáře společnosti Apple, ovládáte pracovní postupy vývoje v systému iOS a nasadili jste alespoň jednu aplikaci do zařízení se systémem iOS.
Poslední aktualizace 19.11.2013
108
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Přehled nabízených oznámení Služba Apple Push Notification service (APNs) umožňuje poskytovatelům vzdálených oznámení odesílat oznámení do aplikací spuštěných v zařízeních se systémem iOS. Služba APNs podporuje následující typy oznámení:
• Výstrahy • Informační symboly • Zvuky Veškeré informace o službě APNs naleznete na webu developer.apple.com. Používání nabízených oznámení ve vaší aplikaci se týká více aspektů:
• Klientská aplikace – registruje se pro nabízená oznámení, komunikuje s poskytovateli vzdálených oznámení a přijímá vzdálená oznámení.
• iOS – spravuje interakci klientské aplikace se službou APNs. • APNs – během registrace klienta poskytuje identifikátor tokenID a předává oznámení od poskytovatele vzdálených oznámení do systému iOS.
• Poskytovatel vzdálených oznámení – uchovává informace o identifikátorech tokenId a klientských aplikacích a předává oznámení do služby APNs.
Pracovní postup registrace Pracovní postup registrování nabízených oznámení u služby na straně serveru je následující: 1 Klientská aplikace vydá požadavek, aby systém iOS povolil nabízená oznámení. 2 Systém iOS tento požadavek předá do služby APNs. 3 Server APNs vrátí do systému iOS identifikátor tokenId. 4 Systém iOS vrátí identifikátor tokenId do klientské aplikace. 5 Klientská aplikace (s použitím mechanismu specifického pro aplikace) předá identifikátor tokenId poskytovateli
vzdálených oznámení, který jej uchovává pro účely nabízených oznámení.
Pracovní postup oznámení Pracovní postup oznámení je následující: 1 Poskytovatel vzdálených oznámení vygeneruje oznámení a odešle do služby APNs datovou část s identifikátorem
tokenId. 2 Služba APNs předá oznámení do systému iOS v zařízení. 3 Systém iOS nabídne datovou část oznámení aplikaci.
Rozhraní API pro nabízená oznámení Prostředí AIR 3.4 představilo sadu rozhraní API, která podporují nabízená oznámení systému iOS. Tato rozhraní API se nacházejí v balíčku flash.notifications a zahrnují následující třídy:
•
NotificationStyle – definuje konstanty pro typy oznámení ALERT, BADGE a SOUND.
•
RemoteNotifier – umožňuje přihlášení a odhlášení odběru nabízených oznámení.
•
RemoteNotifierSubscribeOptions – umožňuje výběr oznámení, která budou přijímána. Pomocí vlastnosti notificationStyles lze definovat vektor řetězců, které slouží k registraci pro více typů oznámení.
Poslední aktualizace 19.11.2013
109
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Prostředí AIR 3.4 také obsahuje událost flash.events.RemoteNotificationEvent, kterou rozesílá třída RemoteNotifier:
• Po úspěšném vytvoření přihlášení aplikace k odběru a přijetí nového identifikátoru tokenId ze služby APNs • Po přijetí nového vzdáleného oznámení Dále třída RemoteNotifier rozešle událost flash.events.StatusEvent, pokud během procesu přihlášení k odběru dojde k chybě.
Správa nabízených oznámení v aplikaci Chcete-li svou aplikaci zaregistrovat pro nabízená oznámení, musíte provést tyto kroky:
• Vytvořit v aplikaci kód, který ji přihlásí k odběru nabízených oznámení • Povolit nabízená oznámení v souboru XML aplikace • Vytvořit prováděcí profil a certifikát, které povolí služby nabízení systému iOS Následující vzorový kód s poznámkami slouží k přihlášení odběru nabízených oznámení a zpracování událostí nabízených oznámení: package { import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.*; import flash.events.Event; import flash.events.IOErrorEvent; import flash.events.MouseEvent; import flash.net.*; import flash.text.TextField; import flash.text.TextFormat; import flash.ui.Multitouch; import flash.ui.MultitouchInputMode; // Required packages for push notifications import flash.notifications.NotificationStyle; import flash.notifications.RemoteNotifier; import flash.notifications.RemoteNotifierSubscribeOptions; import flash.events.RemoteNotificationEvent; import flash.events.StatusEvent; [SWF(width="1280", height="752", frameRate="60")] public class TestPushNotifications extends Sprite { private var notiStyles:Vector.<String> = new Vector.<String>;; private var tt:TextField = new TextField(); private var tf:TextFormat = new TextFormat(); // Contains the notification styles that your app wants to receive private var preferredStyles:Vector.<String> = new Vector.<String>(); private var subscribeOptions:RemoteNotifierSubscribeOptions = new RemoteNotifierSubscribeOptions(); private var remoteNot:RemoteNotifier = new RemoteNotifier(); private var subsButton:CustomButton = new CustomButton("Subscribe"); private var unSubsButton:CustomButton = new CustomButton("UnSubscribe"); private var clearButton:CustomButton = new CustomButton("clearText");
Poslední aktualizace 19.11.2013
110
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
private var urlreq:URLRequest; private var urlLoad:URLLoader = new URLLoader(); private var urlString:String; public function TestPushNotifications() { super(); Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT; stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; tf.size = 20; tf.bold = true;
} // Apple recommends that each time an app activates, it subscribe for // push notifications. public function activateHandler(e:Event):void{ // Before subscribing to push notifications, ensure the device supports it. // supportedNotificationStyles returns the types of notifications // that the OS platform supports if(RemoteNotifier.supportedNotificationStyles.toString() != "") { remoteNot.subscribe(subscribeOptions); } else{ tt.appendText("\n Remote Notifications not supported on this Platform !"); } } public function subsButtonHandler(e:MouseEvent):void{ remoteNot.subscribe(subscribeOptions); } // Optionally unsubscribe from push notfications at runtime. public function unSubsButtonHandler(e:MouseEvent):void{ remoteNot.unsubscribe(); tt.text +="\n UNSUBSCRIBED"; } public function clearButtonHandler(e:MouseEvent):void{ tt.text = " "; } // Receive notification payload data and use it in your app public function notificationHandler(e:RemoteNotificationEvent):void{ tt.appendText("\nRemoteNotificationEvent type: " + e.type + "\nbubbles: "+ e.bubbles + "\ncancelable " +e.cancelable); for (var x:String in e.data) { tt.text += "\n"+ x + ": " + e.data[x]; } } // If the subscribe() request succeeds, a RemoteNotificationEvent of // type TOKEN is received, from which you retrieve e.tokenId, // which you use to register with the server provider (urbanairship, in // this example. public function tokenHandler(e:RemoteNotificationEvent):void { tt.appendText("\nRemoteNotificationEvent type: "+e.type +"\nBubbles: "+ e.bubbles + "\ncancelable " +e.cancelable +"\ntokenID:\n"+ e.tokenId +"\n"); urlString = new String("https://go.urbanairship.com/api/device_tokens/" + e.tokenId);
Poslední aktualizace 19.11.2013
112
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
urlreq = new URLRequest(urlString); urlreq.authenticate = true; urlreq.method = URLRequestMethod.PUT; URLRequestDefaults.setLoginCredentialsForHost ("go.urbanairship.com", "1ssB2iV_RL6_UBLiYMQVfg","t-kZlzXGQ6-yU8T3iHiSyQ"); urlLoad.load(urlreq); urlLoad.addEventListener(IOErrorEvent.IO_ERROR,iohandler); urlLoad.addEventListener(Event.COMPLETE,compHandler); urlLoad.addEventListener(HTTPStatusEvent.HTTP_STATUS,httpHandler); } private function iohandler(e:IOErrorEvent):void { tt.appendText("\n In IOError handler" + e.errorID +" " +e.type); } private function compHandler(e:Event):void{ tt.appendText("\n In Complete handler,"+"status: " +e.type + "\n"); } private function httpHandler(e:HTTPStatusEvent):void{ tt.appendText("\n in httpstatus handler,"+ "Status: " + e.status); } // If the subscription request fails, StatusEvent is dispatched with // error level and code. public function statusHandler(e:StatusEvent):void{ tt.appendText("\n statusHandler"); tt.appendText("event Level" + e.level +"\nevent code " + e.code + "\ne.currentTarget: " + e.currentTarget.toString()); } } }
Povolení nabízených oznámení v souboru XML aplikace Chcete-li ve své aplikaci používat nabízená oznámení, zadejte do tagu Entitlements (pod tagem iphone) následující kód: ... <Entitlements> aps-environment <string>development ]]>
Až budete připraveni přesunout aplikaci do úložiště App Store, musíte v elementu <string> nahradit řetězec „development“ řetězcem „production“: <string>production
Poslední aktualizace 19.11.2013
113
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Pokud vaše aplikace podporuje lokalizované řetězce, zadejte do tagu supportedLanguages pod tagem intialWindow jazyky, jak je uvedeno v následujícím příkladu: <supportedLanguages>en de cs es fr it ja ko nl pl pt
Vytvoření prováděcího profilu a certifikátu, které povolí služby nabízení systému iOS Chcete-li povolit komunikaci aplikace se službou APNs, musíte aplikaci sbalit s prováděcím profilem a certifikátem, které povolují služby nabízení systému iOS, následujícím způsobem: 1 Přihlaste se ke svému účtu vývojáře společnosti Apple. 2 Přejděte k portálu Provisioning Portal. 3 Klikněte na kartu App IDs (ID aplikací). 4 Klikněte na tlačítko New App ID (Nové ID aplikace). 5 Zadejte popis a identifikátor balíčku (v identifikátoru balíčku se nesmí používat znak *). 6 Klikněte na tlačítko Submit (Odeslat). Portál Provisioning Portal vygeneruje váš identifikátor App ID a znovu
zobrazí stránku App IDs (ID aplikací). 7 Klikněte na tlačítko Configure (Konfigurovat) vpravo od vašeho ID aplikace. Zobrazí se stránka Configure App ID
(Konfigurace ID aplikace). 8 Zaškrtněte políčko Enable for Apple Push Notification service (Povolit pro službu Apple Push Notification service).
Povšimněte si, že existují dva typy certifikátů SSL pro nabízení: jeden pro vývoj a testování a jeden pro produkci. 9 Klikněte na tlačítko Configure (Konfigurovat) vpravo od položky Development Push SSL Certificate (Vývojový
certifikát SSL pro nabízení). Zobrazí se stránka Generate Certificate Signing Request (CSR) (Generování požadavku CSR). 10 Podle pokynů na stránce vytvořte pomocí nástroje Keychain Access požadavek CSR. 11 Vygenerujte certifikát SSL. 12 Tento certifikát SSL si stáhněte a nainstalujte. 13 (Volitelný krok) Zopakujte kroky 9 až 12 pro produkční certifikát SSL pro nabízení. 14 Klikněte na tlačítko Done (Hotovo). Zobrazí se stránka Configure App ID (Konfigurace ID aplikace). 15 Klikněte na tlačítko Done (Hotovo). Zobrazí se stránka App IDs (ID aplikací). Povšimněte si zeleného kruhu vedle
položky Push Notification (Nabízené oznámení) pro vaše ID aplikace. 16 Je nutné, abyste svoje certifikáty uložili, protože se budou používat při komunikaci aplikace s poskytovatelem. 17 Kliknutím na kartu Provisioning (Prováděcí) zobrazíte stránku Provisioning Profiles (Prováděcí profily). 18 Vytvořte prováděcí profil pro svoje nové ID aplikace a stáhněte si ho. 19 Klikněte na kartu Certificates (Certifikáty) a stáhněte si nový certifikát pro nový prováděcí profil.
Použití zvuku pro nabízená oznámení Chcete-li pro svou aplikaci povolit zvuková oznámení, sbalte zvukové soubory jako kterýkoli jiný datový zdroj, ale ve stejné složce jako soubory SWF a app-xml. Například: Build/adt -package -target ipa-app-store -provisioning-profile _-_.mobileprovision -storetype pkcs12 -keystore _-_.p12 test.ipa test-app.xml test.swf sound.caf sound1.caf
Společnost Apple podporuje následující formáty zvukových dat (v souborech AIFF, WAV nebo CAF):
• Lineární PCM
Poslední aktualizace 19.11.2013
114
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
• MA4 (IMA/ADPCM) • uLaw • aLaw
Použití lokalizovaných výstražných oznámení Chcete-li ve své aplikaci používat lokalizovaná výstražná oznámení, sbalte lokalizované řetězce do složek lproj. Můžete například podporovat výstrahy ve španělštině, jak je uvedeno zde: 1 Vytvořte složku es.lproj v projektu na stejné úrovni jako soubor app-xml. 2 Ve složce es.lproj vytvořte textový soubor s názvem Localizable.Strings. 3 Otevřete soubor Localizable.Strings v textovém editoru a přidejte klíče zpráv a odpovídající lokalizované řetězce.
Například: "PokeMessageFormat" = "La notificación de alertas en español."
4 Uložte soubor. 5 Když aplikace přijme výstražné oznámení s touto hodnotou klíče a jazykem zařízení bude španělština, zobrazí se
přeložený text výstrahy.
Konfigurace poskytovatele vzdálených oznámení Potřebujete poskytovatele vzdálených oznámení, který bude do vaší aplikace odesílat nabízená oznámení. Tato serverová aplikace slouží jako poskytovatel, přijímá váš nabízený vstup a předává oznámení a data oznámení do služby APNs, která pak nabízená oznámení odesílá do klientské aplikace. Podrobné informace o nabízení oznámení z poskytovatele vzdálených oznámení naleznete v článku Komunikace poskytovatele se službou Apple Push Notification Service v knihovně pro vývojáře společnosti Apple.
Volby poskytovatele vzdálených oznámení Volby pro poskytovatele vzdálených oznámení jsou tyto:
• Vytvoření vlastního poskytovatele na základě serveru APNS-php typu open source. Server PHP lze zřídit pomocí webu http://code.google.com/p/apns-php/. Tento projekt Google Code umožňuje navrhnout rozhraní, které bude splňovat vaše specifické požadavky.
• Použití poskytovatele služeb. Například web http://urbanairship.com/ nabízí poskytovatele služby APNs k okamžitému použití. Po registraci u této služby začnete poskytnutím tokenu vašeho zařízení pomocí kódu podobného tomuto:
Poslední aktualizace 19.11.2013
115
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
private var urlreq:URLRequest; private var urlLoad:URLLoader = new URLLoader(); private var urlString:String; //When subscription is successful then only call the following code urlString = new String("https://go.urbanairship.com/api/device_tokens/" + e.tokenId); urlreq = new URLRequest(urlString); urlreq.authenticate = true; urlreq.method = URLRequestMethod.PUT; URLRequestDefaults.setLoginCredentialsForHost("go.urbanairship.com", "Application Key","Application Secret"); urlLoad.load(urlreq); urlLoad.addEventListener(IOErrorEvent.IO_ERROR,iohandler); urlLoad.addEventListener(Event.COMPLETE,compHandler); urlLoad.addEventListener(HTTPStatusEvent.HTTP_STATUS,httpHandler); private function iohandler(e:IOErrorEvent):void{ trace("\n In IOError handler" + e.errorID +" " +e.type); } private function compHandler(e:Event):void{ trace("\n In Complete handler,"+"status: " +e.type + "\n"); } private function httpHandler(e:HTTPStatusEvent):void{ tt.appendText("\n in httpstatus handler,"+ "Status: " + e.status); }
Pak můžete pomocí nástrojů společnosti Urban Airship odesílat zkušební oznámení.
Certifikáty pro poskytovatele vzdálených oznámení Certifikát SSL a privátní klíč (vygenerovaný dříve) je nutné zkopírovat do vhodného umístění na serveru poskytovatele vzdálených oznámení. Tyto dva soubory se obvykle spojují do jednoho souboru .pem. K tomu použijete následující kroky: 1 Otevřete okno terminálu. 2 Zadáním následujícího příkazu vytvoříte z certifikátu SSL soubor .pem: openssl x509 -in aps_developer_identity.cer -inform der -out TestPushDev.pem
3 Zadáním následujícího příkazu vytvoříte soubor PEM souboru privátního klíče (.p12): openssl pkcs12 -nocerts -out TestPushPrivateKey.pem -in certificates.p12
4 Zadáním následujícího příkazu tyto dva soubory PEM sloučíte do jednoho souboru: cat TestPushDev.pem TestPushPrivateKey.pem > FinalTestPush.pem
5 Sloučený soubor .pem předáte poskytovateli serveru, až budete vytvářet svou aplikaci pro nabízení na straně
serveru. Další informace naleznete v článku Instalace certifikátu SSL a klíče na server v příručce programování místních a nabízených oznámení společnosti Apple.
Poslední aktualizace 19.11.2013
116
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro mobilní zařízení
Zpracování nabízených oznámení v aplikaci Zpracování nabízených oznámení v aplikaci zahrnuje tyto kroky:
• Globální konfigurace uživatele a přijetí nabízených oznámení • Přijetí jednotlivých nabízených oznámení uživatelem • Zpracování nabízených oznámení a dat datových částí oznámení
Konfigurace a přijetí nabízených oznámení Když uživatel poprvé spustí aplikaci s podporou nabízených oznámení, systém iOS zobrazí dialog appname Would Like to Send You Push Notifications (vám chce odesílat nabízená oznámení) s tlačítky Don’t Allow (Nepovolit) a OK. Pokud uživatel vybere možnost OK, aplikace může přijímat všechny styly oznámení, k jejichž odběru je přihlášená. Pokud uživatel vybere možnost Don’t Allow (Nepovolit), nebude přijímat žádná oznámení. Poznámka: Uživatelé také mohou přejít do části Settings (Nastavení) > Notifications (Oznámení) a určit konkrétní typy oznámení, které lze pro jednotlivé aplikace s podporou nabízení přijímat. Společnost Apple doporučuje, aby byla aplikace po každé aktivaci přihlášena k odběru nabízených oznámení. Když vaše aplikace zavolá metodu RemoteNotifier.subscribe(), obdrží událost RemoteNotificationEvent typu token, která obsahuje 32bajtový jedinečný číselný identifikátor tokenId, který jednoznačně určuje tuto aplikaci v zařízení. Když zařízení obdrží nabízené oznámení, zobrazí rozbalovací okno s tlačítky Close (Zavřít) a Launch (Spustit). Když se uživatel dotkne tlačítka Close (Zavřít), nic se nestane. Pokud se dotkne tlačítka Launch (Spustit), systém iOS vyvolá aplikaci a ta přijme událost flash.events.RemoteNotificationEvent typu notification, jak je popsáno níže.
Zpracování nabízených oznámení a dat datových částí Když poskytovatel vzdálených oznámení odešle oznámení do zařízení (s použitím identifikátoru tokenID), aplikace přijme událost flash.events.RemoteNotificationEvent typu notification bez ohledu na to, zda je spuštěná. V tomto okamžiku vaše aplikace provede zpracování oznámení specifické pro aplikaci. Pokud aplikace zpracovává data oznámení, můžete k nim přistupovat prostřednictvím vlastnosti RemoteNotificationEvent.data ve formátu JSON.
Poslední aktualizace 19.11.2013
117
Kapitola 8: Vývoj aplikací AIR pro televizní zařízení Možnosti prostředí AIR pro televizní přijímače Aplikace Adobe® AIR® pro televizní zařízení, jako jsou televize, digitální videorekordéry a přehrávače Blu-ray, můžete vytvářet, pokud dané zařízení obsahuje platformu Adobe AIR for TV. Platforma AIR for TV je optimalizována pro televizní zařízení, protože používá například hardwarové akcelerátory zařízení pro dosažení vysokého výkonu videa a grafiky. Aplikace AIR pro televizní zařízení jsou založeny na souborech SWF, a nikoli na jazyce HTML. Aplikace AIR for TV využívá výhody hardwarové akcelerace a jiné funkce, které jsou speciálně vytvořeny pro prostředí „obývacího pokoje“.
Profily zařízení Prostředí AIR používá k definování cílové skupiny zařízení s podobnými funkcemi profily. Pro aplikace pro platformu AIR for TV používejte následující profily:
• Profil tv. Tento profil použijte v aplikacích AIR určených pro zařízení využívající platformu AIR for TV. • Profil extendedTV. Tento profil použijte, pokud vaše aplikace pro platformu AIR for TV využívá nativní rozšíření. Funkce jazyka ActionScript definované pro tyto profily jsou popsány v části „Profily zařízení“ na stránce 241. Konkrétní rozdíly v jazyce ActionScript u aplikací AIR pro televizi jsou uvedeny v příručce ActionScript 3.0 Reference for the Adobe Flash Platform (Referenční příručka pro jazyk ActionScript 3.0 pro platformu Adobe Flash Platform). Podrobnosti o profilech pro platformu AIR for TV naleznete v tématu „Podporované profily“ na stránce 137.
Hardwarová akcelerace Televizní zařízení obsahují hardwarové akcelerátory, které výrazně zvyšují výkon grafiky a videa v aplikaci AIR. Chcete-li využívat tyto hardwarové akcelerátory, přečtěte si téma „Faktory ovlivňující návrh aplikace AIR pro televizi“ na stránce 119.
Ochrana obsahu Platforma AIR for TV může divákům nabídnout špičkové zážitky prostřednictvím kvalitního video obsahu, od hollywoodských trháků přes nezávislé filmy až po televizní seriály. Poskytovatelé obsahu mohou vytvářet interaktivní aplikace pomocí nástrojů Adobe. Mohou do své infrastruktury pro distribuci obsahu integrovat serverové produkty Adobe nebo spolupracovat s některým z partnerů společnosti Adobe. Ochrana obsahu je klíčovým požadavkem pro distribuci kvalitního videa. Platforma AIR for TV podporuje Adobe® Flash® Access™, tedy řešení pro tržby a ochranu obsahu, které splňuje požadavky vlastníků obsahu včetně velkých filmových studií na přísné zabezpečení. Řešení Flash Access podporuje následující funkce:
• Streamování a stahování videa. • Různé obchodní modely, včetně reklamní podpory, předplatného, pronájmu a elektronického prodeje.
Poslední aktualizace 19.11.2013
118
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
• Různé technologie doručování obsahu, včetně dynamického streamování HTTP, streamování prostřednictvím protokolu RTMP (Real Time Media Protocol), použití serveru Flash® Media Server a postupného stahování prostřednictvím protokolu HTTP. Platforma AIR for TV obsahuje také vestavěnou podporu protokolu RTMPE, což je šifrovaná verze protokolu RTMP, pro stávající řešení streamování s nižšími požadavky na zabezpečení. Protokol RTMPE a související technologie ověřování souborů SWF jsou podporovány na serveru Flash Media Server. Další informace naleznete v části Adobe Flash Access.
Vícekanálový zvuk Od verze AIR 3 podporuje platforma AIR for TV vícekanálový zvuk pro videa postupně stahovaná z HTTP serveru. Tato podpora zahrnuje následující kodeky:
• AC-3 (Dolby Digital) • E-AC-3 (Enhanced Dolby Digital) • DTS Digital Surround • DTS Express • DTS-HD High Resolution Audio • DTS-HD Master Audio Poznámka: Podpora vícekanálového zvuku ve videích streamovaných ze serveru Adobe Flash Media Server zatím není k dispozici.
Herní vstup Od verze AIR 3 podporuje platforma AIR for TV rozhraní API jazyka ActionScript umožňující aplikacím komunikaci s připojenými vstupními herními zařízeními, jako jsou pákové ovladače, gamepady nebo hůlkové ovladače (wand). Přestože se tato zařízení nazývají vstupní herní zařízení, mohou je používat všechny aplikace platformy AIR for TV, nejen hry. K dispozici je velké množství různých vstupních herních zařízení s různými možnostmi. Proto jsou tato zařízení v rozhraní API zobecněna tak, aby aplikace mohla správně fungovat s různými (a také s neznámými) typy vstupních herních zařízení. Vstupním bodem rozhraní API jazyka ActionScript pro herní vstup je třída GameInput. Další informace naleznete v popisu třídy GameInput.
Akcelerované vykreslování grafiky Stage 3D Od verze AIR 3 podporuje platforma AIR for TV akcelerované vykreslování grafiky Stage 3D. Rozhraní API jazyka ActionScript Stage3D představuje sadu nízkoúrovňových rozhraní API s akcelerací karty GPU, ve kterých jsou k dispozici pokročilé možnosti pro 2D a 3D grafiku. Tato nízkoúrovňová rozhraní API poskytují vývojářům možnost pružně využít hardwarovou akceleraci karet GPU a dosáhnout podstatného zvýšení výkonu. Lze také využít herní moduly, které podporují rozhraní API jazyka ActionScript Stage3D. Další informace naleznete na stránce Gaming engines, 3D, and Stage 3D (Herní moduly, 3D a Stage 3D).
Nativní rozšíření Pokud je pro aplikaci určen profil extendedTV, může používat balíčky ANE (AIR native extension).
Poslední aktualizace 19.11.2013
119
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
Výrobce zařízení obvykle poskytuje balíčky ANE s cílem zajistit přístup k funkcím zařízení, které by jinak nebyly prostředím AIR podporovány. Například nativní rozšíření by mohlo umožňovat přepnutí kanálů v televizi nebo pozastavení přehrávání ve videopřehrávači. Při sbalení je aplikace AIR for TV používající balíčky ANE sbalena do souboru AIRN, nikoli do souboru AIR. Nativní rozšíření pro zařízení AIR for TV jsou vždy součástí zařízení. To znamená, že knihovny rozšíření jsou nainstalované v zařízení AIR for TV. Balíček ANE, který zahrnete do balíčku své aplikace, nikdy neobsahuje nativní knihovny rozšíření. Někdy tento balíček obsahuje verzi nativního rozšíření, která je pouze v jazyku ActionScript. Tato verze v jazyce ActionScript je zástupná nebo simulační verze rozšíření. Výrobce zařízení nainstaluje do zařízení skutečné rozšíření, včetně nativních knihoven. Pokud vyvíjíte nativní rozšíření, je třeba vzít v úvahu následující:
• Pokud vytváříte nativní rozšíření platformy AIR for TV pro nějaké zařízení, vždy se poraďte s jeho výrobcem. • Pro některá zařízení AIR for TV vytváří nativní rozšíření pouze výrobce zařízení. • U všech zařízení AIR for TV rozhoduje výrobce zařízení, která nativní rozšíření budou nainstalována. • Vývojářské nástroje pro vytváření nativních rozšíření platformy AIR for TV se liší podle výrobce. Další informace o používání nativních rozšíření v aplikacích AIR naleznete v tématu „Použití nativních rozšíření pro prostředí Adobe AIR“ na stránce 145. Informace o vytváření nativních rozšíření naleznete na stránce Developing Native Extensions for Adobe AIR (Vývoj nativních rozšíření pro Adobe AIR).
Faktory ovlivňující návrh aplikace AIR pro televizi Faktory týkající se videa Pokyny pro kódování videa Společnost Adobe doporučuje při streamování videa do televizního zařízení dodržovat následující pokyny pro kódování: Kodek videa:
H.264, hlavní nebo vysoký profil, progresivní kódování
Rozlišení:
720i, 720p, 1 080i nebo 1 080p
Kmitočet snímků:
24 snímků za sekundu nebo 30 snímků za sekundu
Zvukový kodek:
AAC-LC nebo AC-3, 44,1 kHz, stereo nebo tyto vícekanálové zvukové kodeky: E-AC-3, DTS, DTS Express, DTS-HD High Resolution Audio nebo DTS-HD Master Audio
Kombinovaný datový tok:
až 8 Mb/s v závislosti na dostupné šířce pásma
Datový tok zvuku:
až 192 kb/s
Poměr stran obrazových bodů:
1×1
Společnost Adobe doporučuje pro video doručované do zařízení využívajících platformu AIR for TV používat kodek H.264.
Poslední aktualizace 19.11.2013
120
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
Poznámka: Platforma AIR for TV podporuje rovněž kódování videa pomocí kodeků Sorenson Spark nebo On2 VP6. Hardware ale tyto kodeky nedekóduje a neposkytuje. Místo toho běhové prostředí dekóduje a poskytuje tyto kodeky pomocí softwaru, a proto je video přehráváno s mnohem nižším kmitočtem snímků. Proto používejte kodek H.264, pokud je to možné. Třída StageVideo Platforma AIR for TV podporuje hardwarové dekódování a prezentování videa kódovaného pomocí kodeku H.264. K aktivaci této funkce použijte třídu StageVideo. V části Hardwarově akcelerované prezentování pomocí třídy StageVideo v Příručce pro vývojáře jazyka ActionScript 3.0 naleznete podrobnosti o těchto tématech:
• Rozhraní API třídy StageVideo a souvisejících tříd. • Omezení použití třídy StageVideo. Pro zajištění nejlepší podpory stávajících aplikací AIR, jež pro video kódované pomocí kodeku H.264 používají objekt Video, používá platforma AIR for TV interně objekt StageVideo. Tímto způsobem lze při přehrávání videa využívat výhody hardwarového dekódování a prezentování. Na objekt Video se však vztahují stejná omezení jako na objekt StageVideo. Pokud se aplikace například pokusí otočit video, otočení se neprovede, protože prezentování videa provádí hardware, nikoli běhové prostředí. Při psaní nových aplikací však pro video kódované pomocí kodeku H.264 používejte objekt StageVideo. Příklad použití třídy StageVideo naleznete v tématu Delivering video and content for the Flash Platform on TV (Doručování videa a obsahu pro platformu Flash v televizi). Pokyny pro doručování videa V zařízení využívajícím platformu AIR for TV se během přehrávání videa může dostupná šířka pásma sítě měnit. K těmto odchylkám může docházet například v případě, že stejné internetové připojení začne používat jiný uživatel. Společnost Adobe proto doporučuje, aby systém doručování videa používal možnosti adaptivního datového toku. Na straně serveru například Flash Media Server podporuje možnosti adaptivního datového toku. Na straně klienta můžete používat architekturu OSMF (Open Source Media Framework). K doručování obsahu videa prostřednictvím sítě do aplikace pro platformu AIR for TV jsou k dispozici následující protokoly:
• Dynamické streamování HTTP a HTTPS (formát F4F) • Streamování RTMP, RTMPE, RTMFP, RTMPT a RTMPTE • Postupné stahování HTTP a HTTPS Další informace naleznete v následujících zdrojích:
• Adobe Flash Media Server – příručka pro vývojáře • Open Source Media Framework
Faktory týkající se zvuku Jazyk ActionScript pro přehrávání zvuku se v aplikacích pro platformu AIR for TV nijak neliší od ostatních aplikací AIR. Informace naleznete v části Práce se zvukem v Příručce pro vývojáře jazyka ActionScript 3.0.
Poslední aktualizace 19.11.2013
121
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
U podpory vícekanálového zvuku na platformě AIR for TV je třeba vzít v úvahu následující skutečnosti:
• Platforma AIR for TV podporuje vícekanálový zvuk pro videa postupně stahovaná z HTTP serveru. Podpora vícekanálového zvuku ve videích streamovaných ze serveru Adobe Flash Media Server zatím není k dispozici.
• Přestože platforma AIR for TV podporuje mnoho zvukových kodeků, ne všechna zařízení podporují celou sadu. Pomocí metody flash.system.CapabilitieshasMultiChannelAudio() zjistíte, zda zařízení AIR for TV podporuje konkrétní vícekanálový zvukový kodek, například AC-3. Představte si například aplikaci, která si postupně stahuje soubor videa ze serveru. Server obsahuje jiné soubory videa H.264, které podporují odlišné vícekanálové zvukové kodeky. Aplikace může použít metodu hasMultiChannelAudio() k určení, který soubor videa má ze serveru vyžádat. Nebo může aplikace odeslat serveru řetězec zahrnutý v parametru Capabilities.serverString. Řetězec označuje, které vícekanálové zvukové kodeky jsou k dispozici, a tím umožní serveru výběr příslušného souboru videa.
• Při použití jednoho ze zvukových kodeků DTS je možné, že metoda hasMultiChannelAudio() vrátí hodnotu true, ale zvuk ve formátu DTS nebude hrát.
Vezměme jako příklad přehrávač disků Blu-ray s výstupem S/PDIF připojený ke starému zesilovači. Starý zesilovač nepodporuje formát DTS, ale výstup S/PDIF nemá žádný protokol, který by přehrávač disků Blu-ray upozornil. Pokud přehrávač disků Blu-ray odešle datový proud DTS do starého zesilovače, uživatel nic neuslyší. Proto je při používání formátu DTS nejlepší poskytnout uživateli rozhraní, pomocí kterého může označit, že zvuk nehraje. Poté se aplikace může přepnout na jiný kodek. Následující tabulka shrnuje používání různých zvukových kodeků v aplikacích pro platformu AIR for TV. Tabulky také ukazuje, kdy zařízení využívající platformu AIR for TV používá hardwarové akcelerátory k dekódování zvukového kodeku. Hardwarové dekódování vylepšuje výkon a snižuje zatížení projektoru. Zvukový kodek
Dostupnost Hardwarové i v prostředí dekódování AIR for TV
Kdy použít tento zvukový kodek
Další informace
AAC
Vždy
Ve videích kódovaných pomocí kodeku H.264.
Používáte-li stream AAC obsahující pouze zvuk, zapouzdřete zvukový stream do kontejneru MP4.
Vždy
Pro streamování zvuku, například pro internetovou hudební streamovací službu. mp3
Vždy
Ne
Pro zvuky v souborech SWF dané aplikace. Ve videích kódovaných pomocí kodeku Sorenson Spark nebo On2 VP6
Poslední aktualizace 19.11.2013
Video H.264, které pro zvuk používá formát mp3, nebude v zařízeních AIR for TV hrát.
122
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
Zvukový kodek
Dostupnost Hardwarové i v prostředí dekódování AIR for TV
Kdy použít tento zvukový kodek
Další informace
AC-3 (Dolby Digital)
Zkontrolova t
Ano
Ve videích kódovaných pomocí kodeku H.264.
Platforma AIR for TV obvykle vícekanálový zvukový proudu do externího přijímače zvuku/videa, který dekóduje a přehraje zvuk.
Speex
Vždy
Ne
Příjem živého zvukového streamu. Video H.264, které pro zvuk používá kodek Speex, nebude v zařízeních AIR for TV hrát. Kodek Speex používejte pouze s videem kódovaným kodekem Sorenson Spark nebo On2 VP6.
NellyMoser
Vždy
Ne
Příjem živého zvukového streamu. Video H.264, které pro zvuk používá kodek NellyMoser, nebude v zařízeních AIR for TV hrát. Kodek NellyMoser používejte pouze s videem kódovaným kodekem Sorenson Spark nebo On2 VP6.
E-AC-3 (Enhanced Dolby Digital) DTS Digital Surround DTS Express DTS-HD High Resolution Audio DTS-HD Master Audio
Poznámka: Některé soubory videa obsahují dva zvukové proudy. Například soubor videa může obsahovat proud AAC a AC3. Platforma AIR for TV nepodporuje takové soubory videa a použití takového soubor může mít za následek video bez zvuku.
Hardwarová akcelerace grafiky Používání hardwarové akcelerace grafiky Zařízení využívající platformu AIR for TV poskytují hardwarovou akceleraci pro operace s 2D grafikou. Hardwarové akcelerátory grafiky v daném zařízení zbavují procesor nutnosti provádět následující operace:
• Vykreslování bitmap • Změny velikosti bitmap • Prolnutí bitmap • Vyplňování plných obdélníků Tato hardwarová akcelerace grafiky znamená, že pro řadu grafických operací v aplikaci pro platformu AIR for TV se může použít vysoký výkon. Mezi tyto operace patří například:
• Klouzavé přechody • Přechody se změnou velikosti • Postupné zobrazení a mizení • Skládání více obrazů s alfa kanály Chcete-li využívat výkon hardwarové akcelerace grafiky pro tyto typy operací, použijte jeden z následujících postupů:
• U objektů MovieClip a dalších objektů zobrazení s obsahem, který se většinou nemění, nastavte vlastnost cacheAsBitmap na hodnotu true. Potom u těchto objektů proveďte klouzavé přechody, přechody mizení a prolnutí alfa kanálů.
Poslední aktualizace 19.11.2013
123
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
• U objektů zobrazení, u kterých chcete změnit velikost nebo polohu (použít přemístění v osách x a y) použijte vlastnost cacheAsBitmapMatrix. Hardwarové akcelerátory daného zařízení provádějí tyto operace pomocí operací třídy Matrix pro změny velikosti a polohy. Zvažte případně také možnost, že změníte rozměry objektu zobrazení, jehož vlastnost cacheAsBitmap je nastavena na hodnotu true. Když se rozměry změní, bitmapu překreslí software běhového prostředí. Překreslení pomocí softwaru vykazuje slabší výkon než změny velikosti prováděné hardwarovou akcelerací při použití operace objektu Matrix. Představte si například aplikaci, která zobrazuje obraz, jenž se zvětší, když jej koncový uživatel vybere. K vytvoření iluze zvětšení obrazu použijte vícenásobně operaci změny velikosti objektu Matrix. V závislosti na velikostech původního a výsledného obrazu však kvalita výsledného obrazu může být neakceptovatelná. Po dokončení operací zvětšování proto znovu nastavte rozměry objektu zobrazení. Vlastnost cacheAsBitmap má hodnotu true, takže software běhového prostředí objekt zobrazení překreslí, ale pouze jednou a vykreslí jej jako obraz vysoké kvality. Poznámka: Zařízení využívající platformu AIR for TV obvykle nepodporují hardwarově akcelerované natočení a zkosení. Pokud tedy ve třídě Matrix určíte natočení a zkosení, platforma AIR for TV provede všechny operace třídy Matrix softwarově. Tyto softwarové operace mohou mít nepříznivý dopad na výkon.
• K vytvoření vlastního chování funkce ukládání bitmapy do mezipaměti použijte třídu BitmapData. Další informace o ukládání bitmapy do mezipaměti naleznete v následujících tématech:
• Ukládání objektů zobrazení do vyrovnávací paměti • Ukládání bitmapy do mezipaměti • Ruční ukládání bitmapy do mezipaměti Správa grafické paměti K provádění zrychlených operací s grafikou používají hardwarové akcelerátory zvláštní grafickou paměť. Jestliže aplikace využívá veškerou grafickou paměť, běží daná aplikace pomaleji, protože pro platforma AIR for TV se při operacích s grafikou vrátí k používání softwaru. Správa využívání grafické paměti danou aplikací:
• Jakmile dokončíte práci s obrazem nebo jinými bitmapovými daty, uvolněte grafickou paměť, která je k nim přidružena. Tuto akci provedete voláním metody dispose() pro vlastnost bitmapData objektu Bitmap. Například: myBitmap.bitmapData.dispose();
Poznámka: Odebrání odkazu na objekt BitmapData nezpůsobí okamžité uvolnění grafické paměti. Čištění uvolněné paměti běhového prostředí nakonec grafickou paměť uvolní, ale volání metody dispose() poskytuje aplikaci lepší ovládání.
• K lepšímu porozumění hardwarové akceleraci grafiky v cílovém zařízení použijte aplikaci PerfMaster Deluxe, což je aplikace AIR, kterou poskytuje společnost Adobe. Tato aplikace zobrazuje provádění různých operací pomocí snímků v jednotlivých sekundách. Použijte aplikaci PerfMaster Deluxe k porovnání různých implementací stejné operace. Porovnejte například přesunutí bitmapového obrazu a přesunutí vektorového obrazu. Aplikace PerfMaster Deluxe je k dispozici na stránce Flash Platform for TV (Platforma Flash pro televizi).
Poslední aktualizace 19.11.2013
124
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
Správa seznamu zobrazení Chcete-li, aby byl objekt zobrazení neviditelný, nastavte vlastnost visible daného objektu na hodnotu false. Objekt tak bude nadále v seznamu zobrazení, platforma AIR for TV jej však nezobrazí ani nevykreslí. Tato technika je užitečná pro objekty, které se často objevují v zobrazení a mizí z něj, protože má jen malou režii zpracování. Při nastavení vlastnosti visible na hodnotu false však nedojde k uvolnění žádných zdrojů objektu. Proto až budete hotovi se zobrazením objektu (nebo jej na dlouhou dobu nebudete potřebovat), odstraňte objekt ze seznamu zobrazení. Nastavte také všechny odkazy na objekt na hodnotu null. Tyto akce umožní, aby byly při čištění uvolněné paměti uvolněny zdroje objektu.
Použití obrazů PNG a JPEG Dvěma běžnými formáty obrazů v aplikacích jsou formáty PNG a JPEG. Při použití těchto formátů obrazů v aplikacích pro platformu AIR for TV mějte na paměti následující skutečnosti:
• K dekódování souborů JPEG obvykle aplikace pro platformu AIR for TV používá hardwarovou akceleraci. • K dekódování souborů PNG obvykle aplikace pro platformu AIR for TV používá software. Dekódování souborů PNG v softwaru je rychlé.
• PNG je jediný bitmapový formát pro přenos mezi platformami, který podporuje průhlednost (alfa kanál). Používejte tedy tyto formáty obrazů v aplikacích následujícím způsobem:
• Soubory JPEG používejte pro fotografie, abyste využili výhod hardwarově akcelerovaného dekódování. • Soubory obrazů PNG používejte pro prvky uživatelského rozhraní. Prvky uživatelského rozhraní mohou mít nastavení alfa a softwarové dekódování poskytuje pro prvky uživatelského rozhraní dostatečně rychlý výkon.
Plocha v aplikacích pro platformu AIR for TV Během vytváření aplikace pro platformu AIR for TV mějte při práci s třídou Stage na paměti následující informace:
• Rozlišení obrazovky • Bezpečná oblast zobrazení • Režim změny velikosti vymezené plochy • Zarovnání vymezené plochy • Stav zobrazení vymezené plochy • Návrh pro více velikostí obrazovky • Nastavení kvality vymezené plochy Rozlišení obrazovky V současné době mají televizní zařízení obvykle některé z těchto rozlišení obrazovky: 540p, 720p a 1 080p. Tato rozlišení obrazovky mají za následek následující hodnoty ve třídě Capabilities jazyka ActionScript: Rozlišení obrazovky
Capabilities.screenResolutionX
Capabilities.screenResolutionY
540p
960
540
720p
1 280
720
1 080p
1 920
1 080
Poslední aktualizace 19.11.2013
125
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
Chcete-li vytvořit celoobrazovkovou aplikaci pro platformu AIR for TV pro konkrétní zařízení, zadejte do kódu pro vlastnosti Stage.stageWidth a Stage.stageHeight hodnoty, jež určují rozlišení obrazovky daného zařízení. Pokud však chcete vytvořit celoobrazovkovou aplikaci, která bude spouštěna ve více zařízeních, použijte k nastavení rozměrů objektu Stage vlastnosti Capabilities.screenResolutionX a Capabilities.screenResolutionY. Například: stage.stageWidth = Capabilities.screenResolutionX; stage.stageHeight = Capabilities.screenResolutionY;
Bezpečná oblast zobrazení Bezpečná oblast zobrazení v televizi je oblast obrazovky, která je vsazena dovnitř od okrajů obrazovky. Tato oblast je vsazena dostatečně daleko, aby koncový uživatel viděl celou plochu, aniž by zkosený rám televize jakoukoli část této oblasti zakrýval. Zkosený rám, což je vlastně fyzická konstrukce okolo obrazovky, se u jednotlivých výrobců liší, a proto se potřebné vsazení také liší. Bezpečná oblast zobrazení se pokouší zaručit viditelnou oblast obrazovky. Bezpečná oblast zobrazení se označuje rovněž jako bezpečná oblast pro titulky. Překrytí je oblast obrazovky, která není viditelná, protože se nachází za zkoseným rámem. Společnost Adobe doporučuje vsazení 7,5 % na všech okrajích obrazovky. Například:
1920 1632
918
1080
Bezpečná oblast zobrazení u rozlišení obrazovky 1 920 × 1 080
Při návrhu celoobrazovkové aplikace pro platformu AIR for TV mějte vždy na paměti bezpečnou oblast zobrazení:
• Pro pozadí, například obrazy na pozadí nebo barvy pozadí, používejte celou obrazovku. • Pro důležité prvky aplikace, jako jsou například text, grafika, video a položky uživatelského rozhraní, například tlačítka, používejte pouze bezpečnou oblast zobrazení. Následující tabulka uvádí rozměry bezpečné oblasti zobrazení pro jednotlivá typická rozlišení obrazovky při použití vsazení 7,5 %. Rozlišení obrazovky
Šířka a výška bezpečné oblasti zobrazení
Šířka vsazení vlevo a vpravo
Výška vsazení nahoře a dole
960 x 540
816 x 460
72
40
Poslední aktualizace 19.11.2013
126
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
Rozlišení obrazovky
Šířka a výška bezpečné oblasti zobrazení
Šířka vsazení vlevo a vpravo
Výška vsazení nahoře a dole
1 280 x 720
1 088 x 612
96
54
1 920 x 1 080
1 632 x 918
144
81
Doporučujeme však vždy bezpečnou oblast zobrazení dynamicky vypočítat. Například: var horizontalInset, verticalInset, safeAreaWidth, safeAreaHeight:int; horizontalInset = .075 * Capabilities.screenResolutionX; verticalInset = .075 * Capabilities.screenResolutionY; safeAreaWidth = Capabilities.screenResolutionX - (2 * horizontalInset); safeAreaHeight = Capabilities.screenResolutionY - (2 * verticalInset);
Režim změny velikosti vymezené plochy Nastavte vlastnost Stage.scaleMode na hodnotu StageScaleMode.NO_SCALE a naslouchejte událostem změny velikosti vymezené plochy. stage.scaleMode = StageScaleMode.NO_SCALE; stage.addEventListener(Event.RESIZE, layoutHandler);
Toto nastavení nastaví souřadnice vymezené plochy na stejné hodnoty jako souřadnice obrazových bodů. Toto nastavení společně s nastavením stavu zobrazení FULL_SCREEN_INTERACTIVE a nastavením zarovnání vymezené plochy TOP_LEFT umožňuje efektivně využívat bezpečnou oblast zobrazení. Konkrétně v celoobrazovkových aplikacích tento režim změny velikosti znamená, že vlastnosti stageWidth a stageHeight třídy Stage odpovídají vlastnostem screenResolutionX a screenResolutionY třídy Capabilities. Kromě toho při změně velikosti okna aplikace si obsah vymezené plochy zachová svou definovanou velikost. Běhové prostředí neprovádí žádné automatické rozvržení nebo změny velikosti. Běhové prostředí při změně velikosti okna také odesílá událost resize třídy Stage. Můžete tedy zcela ovládat úpravy obsahu aplikace při spuštění aplikace a při změně velikosti okna aplikace. Poznámka: Chování při nastavení NO_SCALE je stejné jako u ostatních aplikací AIR. V aplikacích pro platformu AIR for TV je však toto nastavení důležité pro používání bezpečné oblasti zobrazení. Zarovnání vymezené plochy Nastavte vlastnost Stage.align na hodnotu StageAlign.TOP_LEFT: stage.align = StageAlign.TOP_LEFT;
Toto zarovnání umístí souřadnici 0,0 do levého horního rohu obrazovky, což je praktické při umístění obsahu pomocí jazyka ActionScript. Toto nastavení společně s nastavením režimu změny velikosti NO_SCALE a nastavením stavu zobrazení FULL_SCREEN_INTERACTIVE umožňuje efektivně využívat bezpečnou oblast zobrazení.
Stav zobrazení vymezené plochy Nastavte vlastnost Stage.displayState v celoobrazovkové aplikaci pro platformu AIR for TV na hodnotu StageDisplayState.FULL_SCREEN_INTERACTIVE: stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
Poslední aktualizace 19.11.2013
127
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
Tato hodnota nastaví aplikaci AIR, aby vymezenou plochu rozšířila na celou obrazovku s povoleným vstupem uživatele. Společnost Adobe doporučuje používat nastavení FULL_SCREEN_INTERACTIVE. Toto nastavení společně s nastavením režimu změny velikosti NO_SCALE a nastavením zarovnání vymezené plochy TOP_LEFT umožňuje efektivně využívat bezpečnou oblast zobrazení. Proto u celoobrazovkových aplikací v ovladači pro událost ADDED_TO_STAGE ve třídě hlavního dokumentu proveďte následující postup: private function onStage(evt:Event):void { stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; stage.addEventListener(Event.RESIZE, onResize); stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE; }
Potom v ovladači pro událost RESIZE:
• Porovnejte velikosti rozlišení obrazovky s šířkou a výškou vymezené plochy. Pokud jsou stejné, došlo k události RESIZE, protože stav zobrazení vymezené plochy se změnil na hodnotu FULL_SCREEN_INTERACTIVE .
• Vypočítejte a uložte rozměry bezpečné oblasti zobrazení a odpovídajících vsazení. private function onResize(evt:Event):void { if ((Capabilities.screenResolutionX == stage.stageWidth) && (Capabilities.screenResolutionY == stage.stageHeight)) { // Calculate and save safe viewing area dimensions. } }
Pokud rozměry vymezené plochy odpovídají hodnotám vlastností Capabilities.screenResolutionX a screenResolutionY, platforma AIR for TV způsobí, že budou video a grafika zobrazeny s maximální možnou věrností. Poznámka: Věrnost zobrazení grafiky a videa na televizní obrazovce se může lišit od hodnot vlastností Capabilities.screenResolutionX a screenResolutionY, které závisejí na zařízeních s platformou AIR for TV. Například set-top box s platformou AIR for TV může mít rozlišení obrazovky 1 280 x 720 a připojená televize může mít rozlišení obrazovky 1 920 x 1 080. Platforma AIR for TV však způsobí, že hardware bude pracovat s maximální možnou věrností. Proto hardware v tomto příkladu zobrazuje video s rozlišením 1 080p s použitím rozlišení obrazovky 1 920 x 1 080. Návrh pro více velikostí obrazovky Celoobrazovkovou aplikaci pro platformu AIR for TV můžete navrhnout tak, aby pracovala a vypadala dobře ve více zařízeních využívajících platformu AIR for TV. Postupujte takto: 1 Nastavte vlastnosti scaleMode, align a displayState u vymezené plochy na doporučené hodnoty: StageScaleMode.NO_SCALE, StageAlign.TOP_LEFT a StageDisplayState.FULL_SCREEN_INTERACTIVE, v
tomto pořadí. 2 Určete bezpečnou oblast zobrazení na základě vlastností Capabilities.screenResolutionX a Capabilities.screenResolutionY.
3 Upravte velikost a rozvržení obsahu podle šířky a výšky bezpečné oblasti zobrazení.
Poslední aktualizace 19.11.2013
128
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
I když jsou objekty vašeho obsahu velké, zejména ve srovnání s aplikacemi pro mobilní zařízení, koncepty, jako jsou dynamické rozvržení, relativní umístění a adaptivní obsah, jsou stejné. Další informace o jazyku ActionScript pro podporu těchto konceptů naleznete v článku Authoring mobile Flash content for multiple screen sizes (Vytváření mobilního obsahu Flash pro více velikostí obrazovky). Kvalita vymezené plochy Vlastnost Stage.quality pro aplikaci AIR for TV má vždy hodnotu StageQuality.High. Nelze ji změnit. Tato vlastnost určuje kvalitu vykreslování pro všechny objekty na vymezené ploše.
Zpracování vstupu z dálkového ovladače Uživatelé provádějí interakci s aplikací pro platformu AIR for TV obvykle pomocí dálkového ovladače. Zpracování vstupu pomocí tlačítka dálkového ovladače však nastavte stejně jako zpracování vstupu z klávesnice stolního počítače. Konkrétně zpracování události KeyboardEvent.KEY_DOWN. Další informace naleznete v tématu Zachycení vstupu z klávesnice v Příručce pro vývojáře jazyka ActionScript 3.0. Tlačítka na dálkovém ovladači jsou namapována na konstanty jazyka ActionScript. Například tlačítka směrové klávesnice dálkového ovladače jsou namapována takto: Tlačítko směrové klávesnice dálkového ovladače
Konstanta jazyka ActionScript 3.0
Nahoru
Keyboard.UP
Dolů
Keyboard.DOWN
Doleva
Keyboard.LEFT
Doprava
Keyboard.RIGHT
OK nebo Vybrat
Keyboard.ENTER
Do prostředí AIR 2.5 byla přidána řada dalších konstant Keyboard pro podporu vstupu z dálkového ovládače. Úplný seznam naleznete v tématu Třída Keyboard v Referenční příručce jazyka ActionScript 3.0 pro platformu Adobe Flash. Pro zajištění funkčnosti aplikace v co největším počtu zařízení společnost Adobe doporučuje následující:
• Využívejte pouze tlačítka směrové klávesnice, pokud to je možné. Různé dálkové ovládače obsahují různé sady tlačítek. Vždy však mají tlačítka směrové klávesnice. Například dálkový ovladač pro přehrávač Blu-ray obvykle nemá tlačítka pro přechod mezi jednotlivými kanály. Dokonce ani tlačítka pro přehrávání, pozastavení a zastavení se nevyskytují na všech dálkových ovladačích.
• Pokud aplikace vyžaduje více tlačítek, než je na směrové klávesnici, použijte tlačítka Menu a Info. Tlačítka Menu a Info jsou další nejběžnější tlačítka na dálkových ovladačích.
• Mějte na paměti časté používání univerzálních dálkových ovladačů. I v případě, že vytváříte aplikaci pro konkrétní zařízení, vezměte v úvahu, že řada uživatelů nepoužívá dálkový ovladač, který je dodáván s daným zařízením. Místo toho používají univerzální dálkový ovladač. Uživatelé rovněž často svůj univerzální dálkový ovladač nenaprogramují tak, aby všechna tlačítka odpovídala dálkovému ovladači daného zařízení. Proto je vhodné používat pouze nejběžnější tlačítka.
• Zajistěte, aby uživatel mohl vždy z každé situace uniknout pomocí některého tlačítka směrové klávesnice.
Poslední aktualizace 19.11.2013
129
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
Někdy existuje v aplikaci důvod pro použití tlačítka, které nepatří mezi nejběžnější tlačítka na dálkových ovladačích. Poskytnutí únikové cesty pomocí některého tlačítka směrové klávesnice zajistí, že vaše aplikace bude hladce fungovat ve všech zařízeních.
• Nepožadujte vstup pomocí ukazatele, pokud si nejste jisti, že cílové zařízení AIR for TV má možnost vstupu pomocí ukazatele. Přestože u mnohých počítačových aplikací je očekáván vstup z myši, většina televizorů vstup pomocí ukazatele nepodporuje. Pokud tedy převádíte aplikace pro stolní počítače na spouštění v televizorech, nezapomeňte tyto aplikace upravit tak, aby nebyl očekáván vstup z myši. Mezi tyto úpravy patří změny zpracování událostí a změny pokynů pro uživatele. Například na spouštěcí obrazovce aplikace nezobrazujte text „Klepnutím spusťte“.
Řízení fokusu Jestliže má prvek uživatelského rozhraní v aplikaci pro stolní počítače fokus, je cílem událostí vstupu uživatele, například událostí klávesnice a událostí myši. Aplikace navíc zvýrazní prvek uživatelského rozhraní, který má fokus. Řízení fokusu v aplikaci pro platformu AIR for TV se liší od řízení fokusu v aplikaci pro stolní počítače, protože:
• V aplikacích pro stolní počítače je k přesunutí fokusu na další prvek uživatelského rozhraní často používána klávesa tabulátoru. V aplikacích pro platformu AIR for TV nelze klávesu tabulátoru používat. Dálkové ovládače obvykle nemají klávesu tabulátoru. Řízení fokusu pomocí vlastnosti tabEnabled objektu DisplayObject jako u stolních počítačů proto nelze použít.
• V aplikacích pro stolní počítače je často očekáváno, že uživatel nastaví fokus na prvek uživatelského rozhraní pomocí myši. Ve své aplikaci proto postupujte takto:
• Přidejte k objektu Stage posluchač události, který naslouchá událostem Keyboard, jako je KeyboardEvent.KEY_DOWN.
• Vytvořte aplikační logiku, jež bude určovat, který prvek uživatelského rozhraní má být pro koncového uživatele zvýrazněn. Nezapomeňte zvýraznit některý prvek uživatelského rozhraní při spuštění aplikace.
• Na základě aplikační logiky odešlete událost Keyboard, kterou přijme objekt Stage, do vhodného objektu prvku uživatelského rozhraní. K přiřazení fokusu do prvku uživatelského rozhraní můžete použít rovněž vlastnost Stage.focus nebo metodu Stage.assignFocus(). Potom můžete přidat posluchač události k příslušnému objektu DisplayObject, aby přijímal události klávesnice.
Návrh uživatelského rozhraní Správnou funkčnost uživatelského rozhraní aplikace pro platformu AIR for TV v televizorech zajistíte začleněním těchto doporučení, jež se týkají:
• schopnosti aplikace reagovat na podněty • použitelnosti aplikace • osobnosti a očekávání uživatele
Poslední aktualizace 19.11.2013
130
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
Schopnost reagovat na podněty Schopnost aplikace pro platformu AIR for TV reagovat na podněty můžete zvýšit pomocí následujících tipů.
• Počáteční soubor SWF dané aplikace by měl mít co nejmenší velikost. Do počátečního souboru SWF načítejte pouze zdroje nezbytné ke spuštění aplikace. Načtěte například pouze obraz spouštěcí obrazovky aplikace. Toto doporučení platí i pro aplikace AIR pro stolní počítače, ale pro zařízení využívající platformu AIR for TV je ještě důležitější. Zařízení využívající platformu AIR for TV například nemají procesní výkon, který by byl ekvivalentní výkonu stolních počítačů. Dále tato zařízení ukládají aplikace do paměti flash, ke které není tak rychlý přístup jako k pevným diskům ve stolních počítačích.
• Nastavte spouštění aplikace s kmitočtem alespoň 20 snímků za sekundu. Navrhněte grafiku pro dosažení tohoto cíle. Složitost grafických operací může ovlivnit počet snímků za sekundu. Tipy pro zvýšení výkonu vykreslování naleznete v tématu Optimalizace výkonu pro platformu Flash. Poznámka: Grafický hardware v zařízeních využívajících platformu AIR for TV obvykle aktualizuje obrazovku rychlostí 60 Hz nebo 120 Hz (60krát nebo 120krát za sekundu). Pro zobrazení na 60Hz nebo 120Hz obrazovce například hardware hledá aktualizace na ploše na 30 snímcích za sekundu nebo na 60 snímcích za sekundu. Skutečnost, zda se uživatel setká s těmito vyššími kmitočty snímků, však závisí na složitosti grafických operací aplikace.
• Aktualizujte obrazovku během 100–200 milisekund od vstupu uživatele. Uživatelé jsou netrpěliví, pokud aktualizace trvají déle, což má často za následek vícenásobná stisknutí tlačítek. Použitelnost Uživatelé aplikací pro platformu AIR for TV se nacházejí v prostředí „obývacího pokoje“. Sedí v místnosti naproti televizi, která od nich může být vzdálena například 3 metry. V místnosti někdy bývá tma. Ke vstupu uživatelé obvykle používají dálkový ovladač. Aplikaci může používat více osob, někdy společně, někdy jednotlivě v řadě za sebou. Při návrhu uživatelského rozhraní pro používání v televizoru proto mějte na paměti následující skutečnosti:
• Prvky uživatelského rozhraní by měly být velké. Při návrhu textu, tlačítek a dalších prvků uživatelského rozhraní berte v úvahu, že uživatel sedí v opačné straně místnosti. Nastavte vše tak, aby sledování a čtení bylo snadné ze vzdálenosti například 3 metry. Nepokoušejte se obrazovku zaplnit jen proto, že obrazovka je velká.
• Použijte takový kontrast, aby obsah bylo možné snadno sledovat a číst z opačné strany místnosti. • Nastavením zvýraznění u příslušného prvku uživatelského rozhraní zajistěte, aby bylo zřejmé, který prvek má fokus.
• Pohyb používejte pouze v případě, kdy je to nutné. Například klouzavý přechod z jedné obrazovky na další obrazovku pro zajištění návaznosti může fungovat dobře. Pohyb však může působit rušivě, pokud nepomáhá uživateli v navigaci nebo není standardní pro danou aplikaci.
• Vždy poskytněte uživateli jasný způsob, jak se v uživatelském rozhraní vrátit zpět. Další informace o použití dálkového ovladače naleznete v tématu „Zpracování vstupu z dálkového ovladače“ na stránce 128. Osobnost a očekávání uživatele Berte v úvahu, že uživatelé aplikací pro platformu AIR for TV obvykle hledají zábavu televizní kvality v přátelském a uvolněném prostředí. Nemusejí nutně mít znalosti z oblasti počítačů nebo technologií.
Poslední aktualizace 19.11.2013
131
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
Proto aplikace pro platformu AIR for TV navrhujte s následujícími charakteristikami:
• Nepoužívejte technické termíny. • Vyhýbejte se používání modálních dialogových oken. • Používejte přátelské, neformální pokyny, jež se hodí pro prostředí obývacího pokoje a nikoli pro pracovní nebo technické prostředí.
• Používejte vysoce kvalitní grafické prvky, které televizní diváci očekávají. • Vytvořte uživatelské rozhraní, které lze snadno používat s dálkovým ovládáním. Nepoužívejte prvky uživatelského rozhraní a návrhu, které se lépe hodí do aplikace pro počítače nebo mobily. Například uživatelské rozhraní v počítači nebo mobilním zařízení často zahrnuje ukazování a klikání na tlačítka myší nebo prstem.
Písma a text Můžete používat písma zařízení nebo písma vložená do aplikace pro platformu AIR for TV. Písma zařízení jsou písma, jež jsou nainstalována v daném zařízení. Všechna zařízení využívající platformu AIR for TV mají následující písma zařízení: Název písma
Popis
_sans
Písmo _sans je bezpatkové písmo. Písmem _sans, jež je nainstalováno ve všech zařízeních AIR for TV, je Myriad Pro. Na televizní obrazovce obvykle vypadá bezpatkové písmo lépe, vzhledem k delší pozorovací vzdálenosti.
_serif
Písmo _serif patkové písmo. Písmem _serif, jež je nainstalováno ve všech zařízeních využívajících platformu AIR for TV, je Minion Pro.
_typewriter
Písmo _typewriter je neproporcionální písmo. Písmem _typewriter, jež je nainstalováno ve všech zařízeních využívajících platformu AIR for TV, je Courier Std.
Všechna zařízení využívající platformu AIR for TV mají také následující písma pro asijské jazyky: Název písma
Jazyk
Kategorie písma
Kód národního prostředí
RyoGothicPlusN-Regular
Japonština
sans
ja
RyoTextPlusN-Regular
Japonština
serif
ja
AdobeGothicStd-Light
Korejština
sans
ko
AdobeHeitiStd-Regular
Zjednodušená čínština
sans
zh_CN
AdobeSongStd-Light
Zjednodušená čínština
serif
zh_CN
AdobeMingStd-Light
Tradiční čínština
serif
zh_TW a zh_HK
Tato písma zařízení využívajících platformu AIR for TV:
• Jsou z knihovny Adobe® Type Library. • Vypadají dobře v televizorech. • Jsou navržena pro titulky videa. • Jsou obrysy písem, nikoli bitmapová písma.
Poslední aktualizace 19.11.2013
132
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
Poznámka: Výrobci zařízení často zahrnují do zařízení další písma zařízení. Tato písma zařízení poskytovaná výrobci jsou k písmům zařízení využívajících platformu AIR for TV nainstalována navíc. Společnost Adobe nabízí aplikaci s názvem FontMaster Deluxe, která zobrazuje všechna písma zařízení v daném zařízení. Aplikace je k dispozici na stránce Flash Platform for TV (Platforma Flash pro televizi). Můžete také písma do své aplikace pro platformu AIR for TV vložit. Informace o vložených písmech naleznete v části Rozšířené vykreslování textu v Příručce pro vývojáře jazyka ActionScript 3.0. Společnost Adobe doporučuje při používání textových polí TLF následující:
• Chcete-li používat národní prostředí, ve kterém je aplikace spuštěna, používejte pro text v asijských jazycích textová pole TLF. Nastavte vlastnost locale objektu TextLayoutFormat přidruženého k objektu TLFTextField. Informace o určení aktuálního národního prostředí naleznete v části Výběr lokální verze v Příručce pro vývojáře jazyka ActionScript 3.0.
• V případě, že se jedná o písmo, které není jedním z písem zařízení využívajících platformu AIR for TV, zadejte název písma do vlastnosti fontFamily v objektu TextLayoutFormat. Pokud je toto písmo v zařízení k dispozici, platforma AIR for TV je použije. Pokud požadované písmo v zařízení není, platforma AIR for TV je na základě nastavení vlastnosti locale zamění za vhodné písmo zařízení využívajícího platformu AIR for TV.
• Určete nastavení _sans, _serif nebo _typewriter pro vlastnost fontFamily a také nastavení vlastnosti locale, aby bylo zajištěno, že platforma AIR for TV zvolí správné písmo zařízení využívajícího platformu AIR for TV. Podle národního prostředí platforma AIR for TV provede výběr ze sady písem zařízení pro asijské jazyky nebo ze sady písem zařízení pro jiné než asijské jazyky. Tato nastavení poskytují jednoduchý způsob, jak automaticky použít správné písmo pro čtyři hlavní asijská národní prostředí a pro angličtinu. Poznámka: Používáte-li pro text v asijských jazycích klasická textová pole, pro zaručení správného vykreslení určete název písma zařízení využívajícího platformu AIR for TV. Pokud víte, že v cílovém zařízení je nainstalováno další písmo, můžete je také určit. S ohledem na výkon aplikace vezměte v úvahu následující skutečnosti:
• Klasická textová pole zajišťují vyšší výkon než textová pole TLF. • Klasické textové pole, které používá bitmapová písma, zajišťuje nejvyšší výkon. Bitmapová písma poskytují pro každý znak bitmapu, na rozdíl od obrysových písem, která poskytují pouze data s obrysy jednotlivých znaků. Písma zařízení i vložená písma mohou být bitmapovými písmy.
• Pokud určíte písmo zařízení, ujistěte se, že dané písmo zařízení je v cílovém zařízení nainstalováno. Pokud písmo není v zařízení nainstalováno, platforma AIR for TV vyhledá a použije jiné písmo, které je v zařízení nainstalováno. Toto chování však zpomalí výkon aplikace.
• Pokud se objekt TextField většinou nemění, stejně jako u jakéhokoli jiného objektu zobrazení nastavte jeho vlastnost cacheAsBitmap na hodnotu true . Toto nastavení zvýší výkon při provádění přechodů, jako jsou například mizení, klouzání a prolnutí alfa kanálů. Pro změny velikosti a polohy používejte vlastnost cacheAsBitmapMatrix. Další informace naleznete v části „Hardwarová akcelerace grafiky“ na stránce 122.
Zabezpečení souborového systému Aplikace pro platformu AIR for TV jsou aplikace AIR, a proto mají přístup k souborovému systému daného zařízení. U zařízení pro „obývací pokoj“ je však velmi důležité, aby aplikace neměla přístup k systémovým souborům zařízení ani k souborům jiných aplikací. Uživatelé televizorů a přidružených zařízení neočekávají a netolerují žádná selhání zařízení – sledují přece televizi.
Poslední aktualizace 19.11.2013
133
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
Na aplikaci pro platformu AIR for TV se proto v souborovém systému zařízení vztahují určitá omezení. Pomocí jazyka ActionScript 3.0 může vaše aplikace přistupovat pouze k určitým adresářům (a jejich podadresářům). Navíc názvy adresářů, které používáte v jazyce ActionScript, nejsou skutečnými názvy adresářů v zařízení. Tato další úroveň brání aplikacím pro platformu AIR for TV v tom, aby náhodou nebo úmyslně se škodlivým záměrem nezískaly přístup k místním souborům, které k nim nepatří. Podrobnosti naleznete v tématu Zobrazení složek pro aplikace prostředí AIR for TV.
Karanténa aplikace AIR Aplikace pro platformu AIR for TV jsou spouštěny v karanténě aplikace AIR, jež je popsána v tématu Karanténa aplikace AIR. Jediným rozdílem v případě aplikací pro platformu AIR for TV je, že tyto aplikace mají omezený přístup k souborovému systému, jak je popsáno v tématu „Zabezpečení souborového systému“ na stránce 132.
Životní cyklus aplikace Rozdílem oproti prostředí stolního počítače je, že koncový uživatel nemůže zavřít okno, ve kterém je aplikace pro platformu AIR for TV spuštěna. Nabídněte proto v uživatelském rozhraní mechanismus pro ukončení aplikace. Zařízení obvykle umožňuje koncovému uživateli kdykoli ukončit aplikaci pomocí tlačítka dálkového ovladače pro ukončení. Platforma AIR for TV však událost flash.events.Event.EXITING neodešle do aplikace. Ukládejte proto pravidelně stav aplikace, aby se při příštím spuštění mohla aplikace obnovit v odpovídajícím stavu.
Soubory cookie HTTP Platforma AIR for TV podporuje trvalé soubory cookie protokolu HTTP a soubory cookie relací. Platforma AIR for TV uloží každý soubor cookie aplikace AIR do specifického adresáře aplikace. /app-storage//Local Store
Soubor cookie má název cookies. Poznámka: Prostředí AIR pro jiná zařízení, například stolní počítače, neukládá soubory cookie samostatně pro každou aplikaci. Úložiště souborů cookie specifické pro aplikaci podporuje aplikaci a model zabezpečení pro platformu AIR for TV. Použijte vlastnost URLRequest.manageCookies jazyka ActionScript takto:
• Nastavte vlastnost manageCookies na hodnotu true. Tato hodnota je výchozí. Určuje, že platforma AIR for TV automaticky přidává soubory cookie do požadavků HTTP a ukládá do paměti soubory cookie v odpovědi HTTP. Poznámka: I když vlastnost manageCookies má hodnotu true, je možné v aplikaci přidat soubor cookie do požadavku HTTP ručně pomocí vlastnosti URLRequest.requestHeaders. Pokud tento soubor cookie má stejný název jako soubor cookie, který spravuje platforma AIR for TV, bude požadavek obsahovat dva soubory cookie se stejným názvem. Hodnoty těchto dvou souborů cookie mohou být různé.
• Nastavte vlastnost manageCookies na hodnotu false. Tato hodnota určuje, že za odesílání souborů cookie v požadavcích HTTP a za ukládání souborů cookie v odpovědi HTTP do paměti je odpovědná aplikace. Další informace viz třída URLRequest.
Poslední aktualizace 19.11.2013
134
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
Pracovní postup pro vývoj aplikace pro platformu AIR for TV Aplikace pro platformu AIR for TV lze vyvíjet pomocí následujících vývojových nástrojů platformy Adobe Flash:
• Adobe Flash Professional Aplikace Adobe Flash Professional CS5.5 podporuje prostředí AIR 2.5 for TV, první verze prostředí AIR podporující aplikace pro platformu AIR for TV.
• Adobe Flash® Builder® Flash Builder 4.5 podporuje prostředí AIR 2.5 for TV.
• Sada AIR SDK Od verze AIR 2.5 můžete k vývoji aplikací používat nástroje příkazového řádku poskytované se sadou AIR SDK. Chcete-li sadu AIR SDK stáhnout, navštivte stránku http://www.adobe.com/cz/products/air/sdk/.
Používání aplikace Flash Professional Používání aplikace Flash Professional k vývoji, testování a publikování aplikací pro platformu AIR for TV se podobá používání nástroje pro aplikace AIR pro stolní počítače. Při vytváření kódu jazyka ActionScript 3.0 však používejte pouze třídy a metody, které podporují profily tv a extendedTV prostředí AIR. Podrobnosti naleznete v tématu „Profily zařízení“ na stránce 241.
Nastavení projektu Při nastavení projektu pro aplikaci pro platformu AIR for TV postupujte takto:
• Na kartě Flash v dialogovém okně Nastavení publikování nastavte možnost Přehrávač minimálně na hodnotu AIR 2.5. • Na kartě Všeobecné v dialogovém okně pro nastavení aplikace Adobe AIR (Nastavení aplikace a instalátoru) nastavte profil na hodnotu TV nebo extended TV.
Ladění Svou aplikaci můžete spustit pomocí nástroje AIR Debug Launcher v aplikaci Flash Professional. Postupujte takto:
• Chcete-li spustit aplikaci v režimu ladění, vyberte položky: Ladit > Ladit film > V aplikaci AIR Debug Launcher (pro stolní počítače) Po provedení tohoto výběru můžete pro další spouštění ladění vybrat položky: Ladit > Ladit film > Ladit
• Chcete-li aplikaci spustit bez funkcí režimu ladění, vyberte položky: Ovládání > Testovací film > V aplikaci AIR Debug Launcher (pro stolní počítače) Po provedení tohoto výběru můžete pro další spouštění vybrat položky Ovládání > Testovací film > Testovat. V prostředí AIR jste nastavili profil pro televizi nebo rozšířený profil pro televizi, a proto nástroj AIR Debug Launcher obsahuje nabídku s názvem Remote Control Buttons (Tlačítka dálkového ovladače). Tato nabídka umožňuje simulaci stisknutí tlačítek dálkového ovladače. Další informace naleznete v tématu „Vzdálené ladění pomocí aplikace Flash Professional“ na stránce 143.
Poslední aktualizace 19.11.2013
135
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
Používání nativních rozšíření Jestliže vaše aplikace využívá nativní rozšíření, postupujte podle pokynů v části „Seznam úloh pro používání nativního rozšíření“ na stránce 147. Pokud však aplikace využívá nativní rozšíření:
• Danou aplikaci nelze publikovat pomocí aplikace Flash Professional. K publikování dané aplikace použijte nástroj ADT. Informace naleznete v tématu „Zabalení pomocí nástroje ADT“ na stránce 139.
• Danou aplikaci nelze spustit nebo ladit pomocí aplikace Flash Professional. K ladění dané aplikace ve vývojářském počítači použijte nástroj ADT. Informace naleznete v tématu „Simulace zařízení pomocí programu ADL“ na stránce 141.
Používání aplikace Flash Builder Od verze Flash Builder 4.5 podporuje aplikace Flash Builder vývoj na platformě AIR for TV. Používání aplikace Flash Builder k vývoji, testování a publikování aplikací pro platformu AIR for TV se podobá používání nástroje pro aplikace AIR pro stolní počítače.
Nastavení aplikace Ujistěte se, zda vaše aplikace:
• Používá jako třídu kontejneru v souboru MXML element Application, pokud používáte soubor MXML: <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"> .
Důležité: Aplikace pro platformu AIR for TV nepodporují element WindowedApplication. Poznámka: Soubor MXML nemusíte vůbec použít. Místo toho můžete vytvořit projekt v jazyce ActionScript 3.0.
• Používá pouze třídy a metody jazyka ActionScript 3.0, které podporují profily tv a extendedTV prostředí AIR. Podrobnosti naleznete v tématu „Profily zařízení“ na stránce 241. Dále se v souboru XML vaší aplikace ujistěte, že:
• Atribut xmlns v elementu application je nastaven na prostředí AIR 2.5:
• Element supportedProfiles obsahuje hodnotu tv nebo extendedTV: <supportedProfiles>tv
Ladění aplikace Svou aplikaci můžete spustit pomocí nástroje AIR Debug Launcher v aplikaci Flash Builder. Postupujte takto: 1 Vyberte položky Run (Spustit) >Debug Configurations (Konfigurace ladění). 2 Ujistěte se, zda je v poli Profile (Profil) nastavena hodnota Desktop (Stolní počítač). 3 Pro spuštění v režimu ladění vyberte položky Run (Spustit) > Debug (Ladit). Pro spuštění bez funkcí režimu ladění
vyberte položky Run (Spustit) > Run (Spustit).
Poslední aktualizace 19.11.2013
136
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
Element supportedProfiles jste nastavili na profil pro televizi nebo rozšířený profil pro televizi, a proto nástroj AIR Debug Launcher obsahuje nabídku s názvem Remote Control Buttons (Tlačítka dálkového ovladače). Tato nabídka umožňuje simulaci stisknutí tlačítek dálkového ovladače. Další informace naleznete v tématu „Vzdálené ladění pomocí aplikace Flash Builder“ na stránce 143.
Používání nativních rozšíření Jestliže vaše aplikace využívá nativní rozšíření, postupujte podle pokynů v části „Seznam úloh pro používání nativního rozšíření“ na stránce 147. Pokud však aplikace využívá nativní rozšíření:
• Danou aplikaci nelze publikovat pomocí aplikace Flash Builder. K publikování dané aplikace použijte nástroj ADT. Informace naleznete v tématu „Zabalení pomocí nástroje ADT“ na stránce 139.
• Danou aplikaci nelze spustit nebo ladit pomocí aplikace Flash Builder. K ladění dané aplikace ve vývojářském počítači použijte nástroj ADT. Informace naleznete v tématu „Simulace zařízení pomocí programu ADL“ na stránce 141.
Vlastnosti deskriptoru aplikace AIR for TV Stejně jako u jiných aplikací AIR nastavíte základní vlastnosti aplikace v jejím souboru deskriptoru. Aplikace s televizním profilem ignorují některé vlastnosti specifické pro stolní počítače, například velikost a průhlednost okna. Aplikace zaměřené na zařízení v profilu extendedTV mohou využívat nativní rozšíření. Tyto aplikace identifikují využívaná nativní rozšíření v elementu extensions.
Společná nastavení Několik nastavení deskriptoru aplikace je důležitých pro všechny aplikace s televizním profilem.
Vyžadovaná verze běhového modulu AIR Určete verzi běhového modulu AIR požadovanou pro aplikaci využívající obor názvů souboru deskriptoru aplikace. Obor názvů přiřazený elementu application do značné míry určuje, jaké funkce může daná aplikace používat. Představte si například aplikaci, která používá obor názvů prostředí AIR 2.5, ale uživatel má nainstalovanou některou novější verzi. V takovém případě aplikace stále sleduje chování prostředí AIR 2.5, i když chování v novější verzi prostředí AIR se liší. Aplikace bude mít přístup k novému chování a funkcím pouze v případě, že změníte obor názvů a publikujete aktualizaci. Důležitou výjimkou z tohoto pravidla jsou opravy zabezpečení. Určete obor názvů pomocí atributu xmlns kořenového elementu application:
Prostředí AIR 2.5 představuje první verzi, která podporuje televizní aplikace.
Identita aplikace Několik nastavení by mělo být jedinečných pro každou aplikaci, kterou publikujete. Nastavení zahrnuje elementy id, name a filename. com.example.MyAppMy ApplicationMyApplication
Poslední aktualizace 19.11.2013
137
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
Verze aplikace Element versionNumber slouží k zadání verze aplikace. Při zadávání hodnoty elementu versionNumber lze použít posloupnost až tří čísel oddělených tečkami, například: „0.1.2“. Každý segment čísla verze může mít až tři číslice. (Jinými slovy, nejvyšší přípustné číslo verze je „999.999.999“.) Není nutné uvést všechny tři segmenty čísla; hodnoty „1“ a „1.0“ jsou také přípustná čísla verzí. Můžete také zadat popisek verze pomocí elementu versionLabel. Přidáte-li popisek verze, zobrazí se místo čísla verze. 1.23.71.23 Beta 7
Hlavní soubor SWF aplikace Do podřízeného elementu versionLabel elementu initialWindow zadejte hlavní soubor SWF aplikace. Pokud se zaměřujete na zařízení v televizním profilu, je nutné soubor SWF použít (aplikace založené na kódu HTML nejsou podporovány). MyApplication.swf
Soubor je nutné zahrnout do balíčku AIR (pomocí nástroje ADT nebo vašeho prostředí IDE). Prosté uvedení názvu v deskriptoru aplikace nevede k automatickému zahrnutí souboru do balíčku.
Vlastnosti hlavní obrazovky Počáteční vzhled a chování hlavní obrazovky aplikace řídí několik elementů podřízených elementu initialWindow. Přestože je většina těchto vlastností v zařízeních s televizními profily ignorována, lze použít element fullScreen:
•
fullScreen – určuje, zda má aplikace zabírat celý displej zařízení, nebo zda jej má sdílet s běžnými prvky
operačního systému. true
Element visible Element visible je podřízený elementu initialWindow. Platforma AIR for TV ignoruje element visible, protože obsah aplikace je v zařízeních AIR for TV vždy viditelný. Pokud je však vaše aplikace určena také pro počítačová zařízení, nastavte element visible na hodnotu true. Ve stolních počítačích je hodnota tohoto elementu nastavena na výchozí hodnotu false. Proto pokud element visible nepoužijete, nebude obsah aplikace v počítačích viditelný. I když můžete použít k zobrazení obsahu aplikace
v počítačích třídu NativeWindow jazyka ActionScript, profily televizních zařízení třídu NativeWindow nepodporují. Pokud se pokusíte použít třídu NativeWindow v aplikaci běžící v zařízení AIR for TV, aplikace se nenačte. Nezáleží na tom, zda voláte nějakou metodu třídy NativeWindow. Aplikace používající tuto třídu se v zařízení AIR for TV nenačte.
Podporované profily Pokud má aplikace smysl pouze v televizním zařízení, můžete zabránit v její instalaci do jiných typů počítačových zařízení. Element supportedProfiles umožňuje vyřadit ze seznamu podporovaných profilů ostatní, nepodporované profily: <supportedProfiles>tv extendedTV
Pokud aplikace využívá nativní rozšíření, zahrňte do seznamu podporovaných profilů pouze profil extendedTV: <supportedProfiles>extendedTV
Poslední aktualizace 19.11.2013
138
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
Vynecháte-li element supportedProfiles, předpokládá se, že aplikace podporuje všechny profily. Nezahrnujte do seznamu supportedProfilespouze profil tv. Některá televizní zařízení vždy používají platformu AIR for TV v režimu, který odpovídá profilu extendedTV. Toto chování znamená, že platforma AIR for TV může spouštět aplikace, které používají nativní rozšíření. Pokud element supportedProfiles specifikuje pouze profil tv, znamená to, že obsah není kompatibilní s režimem platformy AIR for TV pro profil extendedTV. Proto některá televizní zařízení aplikaci, která specifikuje pouze profil tv, nenačtou. Seznam tříd jazyka ActionScript, které jsou podporovány v profilech tv a extendedTV, naleznete v tématu „Schopnosti různých profilů“ na stránce 242.
Požadovaná nativní rozšíření Aplikace, které podporují profil extendedTV, mohou využívat nativní rozšíření. Elementy extensions a extensionID umožňují deklarovat všechna nativní rozšíření, která aplikace AIR používá v deskriptoru aplikace. Následující příklad ukazuje syntaxi pro zadání dvou požadovaných nativních rozšíření: <extensions> <extensionID> com.example.extendedFeature <extensionID> com.example.anotherFeature
Pokud rozšíření není v seznamu, aplikace ho nemůže použít. Element extensionID má stejnou hodnotu jako element id v souboru deskriptoru rozšíření. Soubor deskriptoru rozšíření je soubor XML s názvem extension.xml. Je zabalen v souboru ANE, který obdržíte od výrobce zařízení. Pokud rozšíření uvedete v elementu extensions, ale v zařízení AIR for TV toto rozšíření není nainstalované, aplikaci nebude možné spustit. Výjimkou z tohoto pravidla je situace, kdy je v souboru ANE, který přibalíte ke své aplikaci AIR for TV, zástupná verze tohoto rozšíření. V takovém případě aplikace může běžet a bude používat zástupnou verzi rozšíření. Zástupná verze obsahuje kód v jazyce ActionScript, ale žádný nativní kód.
Ikony aplikace Požadavky na ikony aplikace v televizních zařízeních jsou specifické pro konkrétní zařízení. Výrobce zařízení například určí:
• Požadované ikony a velikosti ikon. • Požadované typy souborů a konvence pro vytváření názvů. • Způsob poskytování ikon pro aplikaci, například sbalení ikon spolu s aplikací. • Zda mají být v souboru deskriptoru aplikace určeny ikony v elementu icon. • Chování v případě, že aplikace neobsahuje ikony. Podrobnosti vám poskytne výrobce zařízení.
Ignorovaná nastavení Aplikace v televizních zařízeních ignorují nastavení aplikace, která se vztahují k funkcím mobilních zařízení, nativních oken či operačního systému stolního počítače. Ignorována nastavení zahrnují:
Zabalení aplikace AIR pro televizi Zabalení pomocí nástroje ADT K zabalení aplikace AIR pro televizi můžete použít nástroj příkazového řádku AIR ADT. Od sady AIR SDK verze 2.5 podporuje nástroj ADT balení pro televizní zařízení. Před sbalením proveďte kompilaci celého kódu jazyka ActionScript a MXML. Musíte také mít certifikát pro podepsání kódu. Certifikát můžete vytvořit pomocí příkazu certificate nástroje ADT. Podrobné informace o příkazech a možnostech nástroje ADT naleznete v tématu „AIR Developer Tool (ADT)“ na stránce 162. Vytvoření balíčku AIR Chcete-li vytvořit balíček AIR, použijte příkaz package nástroje ADT: adt -package -storetype pkcs12 -keystore ../codesign.p12 myApp.air myApp-app.xml myApp.swf icons
V příkladu se předpokládá, že:
• Cesta k nástroji ADT se nachází v definici cesty v prostředí příkazového řádku. (Viz téma „Proměnné prostředí pro cestu“ na stránce 300.)
• Certifikát codesign.p12 se nachází v nadřazeném adresáři adresáře, z něhož příkaz nástroje ADT spouštíte. Spusťte příkaz z adresáře obsahujícího soubory aplikace. Soubory aplikace v uvedeném příkladu jsou myApp-app.xml (soubor deskriptoru aplikace), myApp.swf a adresář icons.
Poslední aktualizace 19.11.2013
140
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
Při spuštění příkazu, jak je uveden, vás nástroj ADT vyzve k zadání hesla pro úložiště klíčů. Všechny programy prostředí nemusí zadávané znaky hesla zobrazovat; po dokončení zadávání stačí stisknout klávesu Enter. Případně můžete k zahrnutí hesla do příkazu nástroje ADT použít parametr storepass. Vytvoření balíčku AIRN Pokud vaše aplikace pro platformu AIR for TV využívá nativní rozšíření, místo balíčku AIR vytvořte balíček AIRN. Chcete-li vytvořit balíček AIRN, použijte příkaz package nástroje ADT, přičemž cílový typ nastavte na hodnotu airn. adt -package -storetype pkcs12 -keystore ../codesign.p12 -target airn myApp.airn myApp-app.xml myApp.swf icons -extdir C:\extensions
V příkladu se předpokládá, že:
• Cesta k nástroji ADT se nachází v definici cesty v prostředí příkazového řádku. (Viz téma „Proměnné prostředí pro cestu“ na stránce 300.)
• Certifikát codesign.p12 se nachází v nadřazeném adresáři adresáře, z něhož příkaz nástroje ADT spouštíte. • Parametr -extdir určuje název adresáře, který obsahuje soubory ANE, jež aplikace používá. Tyto soubory ANE obsahují zástupnou nebo simulační verzi rozšíření jazyka, která využívá pouze ActionScript. Verze rozšíření jazyka, která obsahuje nativní kód, je nainstalována v zařízení využívajícím platformu AIR for TV. Spusťte příkaz z adresáře obsahujícího soubory aplikace. Soubory aplikace v uvedeném příkladu jsou myApp-app.xml (soubor deskriptoru aplikace), myApp.swf a adresář icons. Při spuštění příkazu, jak je uveden, vás nástroj ADT vyzve k zadání hesla pro úložiště klíčů. Všechny programy prostředí nemusí zadávané znaky hesla zobrazovat; po dokončení zadávání stačí stisknout klávesu Enter. Případně můžete k zahrnutí hesla do příkazu použít parametr storepass. Pro aplikaci pro platformu AIR for TV, která využívá nativní rozšíření, můžete také vytvořit soubor AIRI. Soubor AIRI je stejný jako soubor AIRN, až na to, že není podepsán. Například: adt -prepare myApp.airi myApp.xml myApp.swf icons -extdir C:\extensions
Až budete připraveni k podpisu aplikace, můžete ze souboru AIRI vytvořit soubor AIRN: adt -package -storetype pkcs12 -keystore ../codesign.p12 -target airn myApp.airn myApp.airi
Další informace naleznete v tématu Vývoj nativních rozšíření pro prostředí Adobe AIR.
Balení pomocí aplikace Flash Builder nebo Flash Professional Aplikace Flash Professional a Flash Builder umožňují publikovat nebo exportovat balíčky AIR, aniž byste museli sami spustit nástroj ADT. Postup pro vytvoření balíčku AIR pro aplikaci AIR je popsán v dokumentaci k těmto aplikacím. V současné době však pouze nástroj ADT může vytvořit balíčky AIRN, což jsou balíčky aplikace pro aplikace AIR for TV používající nativní rozšíření. Další informace naleznete v následujících zdrojích:
• Balení aplikací AIR pomocí aplikace Flash Builder • Publikování pro prostředí Adobe AIR pomocí aplikace Flash Professional
Poslední aktualizace 19.11.2013
141
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
Ladění aplikací AIR pro televizi Simulace zařízení pomocí programu ADL Nejrychlejší a nejsnadnější způsob testování a ladění většiny funkcí aplikací je spuštění aplikace ve vývojovém počítači pomocí programu ADL (Adobe Debug Launcher). Program ADL zvolí profil, který má použít, na základě elementu supportedProfiles v deskriptoru aplikace. Konkrétně:
• Pokud je v seznamu uveden více než jeden profil, program ADL použije první z nich. • Pomocí parametru -profile programu ADL lze vybrat některý z dalších profilů v seznamu supportedProfiles. • (Pokud do deskriptoru aplikace element supportedProfiles nezahrnete, lze v argumentu -profile zadat libovolný profil.) Například pomocí následujícího příkazu spustíte aplikaci tak, aby simulovala profil tv: adl -profile tv myApp-app.xml
Při simulaci profilu tv nebo extendedTV ve stolním počítači pomocí programu ADL se aplikace spustí v prostředí, které lépe odpovídá cílovému zařízení. Například:
• Rozhraní API jazyka ActionScript, která nejsou součástí profilu v argumentu -profile, nejsou k dispozici. • Program ADL umožňuje vstup ovládacích prvků zařízení, například dálkových ovladačů, prostřednictvím příkazů nabídky.
• Zadání hodnoty tv nebo extendedTV do argumentu -profile umožní programu ADL simulaci třídy StageVideo na stolním počítači.
• Zadání hodnoty extendedTV do argumentu -profile umožní aplikaci využívat zástupné nebo simulační verze nativního rozšíření, jež jsou sbaleny se souborem AIRN aplikace. Protože však program ADL spustí aplikaci ve stolním počítači, platí pro testování aplikací AIR pro televizi pomocí programu ADL určitá omezení:
• Neodráží výkon aplikace v zařízení. Výkon otestujte na cílovém zařízení. • Nesimuluje omezení objektu StageVideo. K přehrávání videa, které je zaměřeno na aplikaci AIR pro televizní zařízení, se obvykle používá třída StageVideo, nikoli třída Video. Třída StageVideo těží z výhod v oblasti výkonu, které nabízí hardware zařízení, vztahují se však na ni určitá omezení v oblasti zobrazení. Program ADL přehrává video ve stolním počítači bez těchto omezení. Otestovat proto přehrávání videa na cílovém zařízení.
• Nemůže simulovat nativní kód nativního rozšíření. Můžete však zadat profil extendedTV, který podporuje nativní rozšíření, a to do argumentu -profile programu ADL. Program ADL umožňuje testování pomocí zástupné nebo simulační verze rozšíření jazyka, která využívá pouze ActionScript, jež je součástí balíčku ANE. Odpovídající rozšíření jazyka, jež je v zařízení nainstalováno, však obvykle zahrnuje také nativní kód. Chcete-li testovat pomocí rozšíření jazyka s tímto nativním kódem, spusťte aplikaci v cílovém zařízení. Další informace naleznete v části „Program AIR Debug Launcher (ADL)“ na stránce 156. Používání nativních rozšíření Pokud aplikace využívá nativní rozšíření, vypadá příkaz programu ADL jako v následujícím příkladu: adl -profile extendedTV -extdir C:\extensionDirs myApp-app.xml
Poslední aktualizace 19.11.2013
142
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
V příkladu se předpokládá, že:
• Cesta k nástroji ADL se nachází v definici cesty v prostředí příkazového řádku. (Viz téma „Proměnné prostředí pro cestu“ na stránce 300.)
• Aktuální adresář obsahuje soubory aplikace. Tyto soubory zahrnují soubory SWF a soubor deskriptoru aplikace, což v tomto příkladu je myApp-app.xml.
• Parametr -extdir určuje název adresáře, který obsahuje adresáře pro všechna nativní rozšíření, jež aplikace používá. Každý z těchto adresářů obsahuje rozbalený soubor ANE nativního rozšíření. Například: C:\extensionDirs extension1.ane META-INF ANE default library.swf extension.xml signatures.xml catalog.xml library.swf mimetype extension2.ane META-INF ANE default library.swf extension.xml signatures.xml catalog.xml library.swf mimetype
Tyto rozbalené soubory ANE obsahují zástupnou nebo simulační verzi rozšíření jazyka, která využívá pouze ActionScript. Verze rozšíření jazyka, která obsahuje nativní kód, je nainstalována v zařízení využívajícím platformu AIR for TV. Další informace naleznete v tématu Vývoj nativních rozšíření pro prostředí Adobe AIR. Řízení vstupu Program ADL simuluje tlačítka dálkového ovládání na televizním zařízení. Vstup z těchto tlačítek můžete do simulovaného zařízení odesílat pomocí nabídky zobrazené při spuštění programu ADL s použitím jednoho z televizních profilů. Velikost obrazovky Aplikaci můžete testovat s různými velikostmi obrazovky, a to nastavením parametru -screensize programu ADL. Můžete zadat řetězec obsahující čtyři hodnoty představující šířku a výšku u normální a maximalizované obrazovky. Zadané rozměry v pixelech se vždy týkají rozvržení na výšku, tzn. že šířka je menší než výška. Například: adl -screensize 728x1024:768x1024 myApp-app.xml
Trasování příkazů Spustíte-li televizní aplikaci ve stolním počítači, vytiskne se výstup trasování do ladicího programu nebo okna terminálu použitého ke spuštění programu ADL.
Poslední aktualizace 19.11.2013
143
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
Vzdálené ladění pomocí aplikace Flash Professional Ke vzdálenému ladění aplikace pro platformu AIR for TV při spuštění v cílovém zařízení lze použít aplikaci Flash Professional. Postup nastavení vzdáleného ladění však závisí na příslušném zařízení. Například sada Adobe® AIR® for TV MAX 2010 Hardware Development Kit obsahuje dokumentaci s podrobným postupem pro dané zařízení. Jako přípravu na vzdálené ladění však bez ohledu na cílové zařízení proveďte následující postup: 1 V dialogovém okně Nastavení publikování vyberte na kartě Flash možnost Povolit ladění.
Tato možnost zajistí, že aplikace Flash Professional zahrne ladicí informace do všech souborů SWF, jež vytvoří ze souboru FLA. 2 Na kartě Podpis v dialogovém okně pro nastavení aplikace Adobe AIR (Nastavení aplikace a instalátoru) vyberte
volbu pro přípravu souboru AIRI (AIR Intermediate). Pokud svou aplikaci zatím vyvíjíte, bude dostačovat použití souboru AIRI, který nevyžaduje digitální podpis. 3 Proveďte publikování aplikace, čímž vytvoříte soubor AIRI.
Posledními kroky jsou instalace a spuštění aplikace v cílovém zařízení. Tyto kroky jsou však závislé na konkrétním zařízení.
Vzdálené ladění pomocí aplikace Flash Builder Ke vzdálenému ladění aplikace pro platformu AIR for TV při spuštění v cílovém zařízení lze použít rovněž aplikaci Flash Builder. Postup provádění vzdáleného ladění však závisí na příslušném zařízení. Jako přípravu na vzdálené ladění však bez ohledu na cílové zařízení proveďte následující postup: 1 Vyberte možnosti Project (Projekt) > Export Release Build (Export sestavení vydání). Vyberte volbu pro přípravu
souboru AIRI (AIR Intermediate). Pokud svou aplikaci zatím vyvíjíte, bude dostačovat použití souboru AIRI, který nevyžaduje digitální podpis. 2 Proveďte publikování aplikace, čímž vytvoříte soubor AIRI. 3 Změňte balíček AIRI aplikace tak, aby obsahoval soubory SWF, jež obsahují ladicí informace.
Soubory SWF, jež obsahují ladicí informace, se nacházejí v projektovém adresáři Flash Builder pro danou aplikaci v adresáři s názvem bin-debug. Soubory SWF v balíčku AIRI nahraďte soubory SWF z adresáře bin-debug. Ve vývojovém počítači se systémem Windows můžete toto nahrazení provést následujícím způsobem: 1 Přejmenujte soubor balíčku AIRI tak, aby místo přípony AIRI měl příponu ZIP. 2 Extrahujte obsah souboru ZIP. 3 Nahraďte soubory SWF v extrahované adresářové struktuře soubory z adresáře bin-debug. 4 Znovu zabalte soubory v extrahovaném adresáři. 5 Znovu změňte zabalený soubor tak, aby měl opět příponu AIRI.
Používáte-li vývojový počítač se systémem Mac, je postup tohoto nahrazení závislý na konkrétním zařízení. Obecně však zahrnuje následující kroky: 1 Nainstalujte balíček AIRI do cílového zařízení. 2 Soubory SWF v instalačním adresáři aplikace v cílovém zařízení nahraďte soubory SWF z adresáře bin-debug.
Poslední aktualizace 19.11.2013
144
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Vývoj aplikací AIR pro televizní zařízení
Uveďme například postup pro zařízení, jež je součástí sady Adobe AIR for TV MAX 2010 Hardware Development Kit. Nainstalujte balíček AIRI podle popisu v dokumentaci k sadě. Potom pro přístup k cílovému zařízení použijte v příkazovém řádku vývojového počítače Mac nástroj telnet. Soubory SWF v instalačním adresáři aplikace /opt/adobe/stagecraft/apps// nahraďte soubory SWF z adresáře bin-debug. Následující postup je určen pro vzdálené ladění pomocí aplikace Flash Builder a zařízení, jež je součástí sady Adobe AIR for TV MAX 2010 Hardware Development Kit. 1 Ve vývojovém počítači s aplikací Flash Builder spusťte aplikaci AIR for TV Device Connector, která se dodává se
sadou MAX 2010 Hardware Development Kit. Program zobrazí adresu IP vašeho vývojového počítače. 2 V zařízení s vývojářskou sadou spusťte aplikaci DevMaster, která se také dodává s touto vývojářskou sadou. 3 V aplikaci DevMaster zadejte adresu IP vašeho vývojového počítače, jak je uvedena v aplikaci AIR for TV Device
Connector. 4 V aplikaci DevMaster se ujistěte, zda je vybrána možnost Enable Remote Debugging (Povolit vzdálené ladění). 5 Ukončete aplikaci DevMaster. 6 Ve vývojovém počítači v aplikaci AIR for TV Device Connector vyberte položku Start (Spustit). 7 V zařízení s vývojářskou sadou spusťte jinou aplikaci. Ověřte, zda jsou v aplikaci AIR for TV Device Connector
zobrazeny informace o trasování. Pokud nejsou informace o trasování zobrazeny, nejsou vývojový počítač a zařízení s vývojářskou sadou propojeny. Ujistěte se, zda je ve vývojovém počítači dostupný port, který se používá pro informace o trasování. V aplikaci AIR for TV Device Connector můžete zvolit jiný port. Ujistěte se také, zda vaše brána firewall umožňuje přístup ke zvolenému portu. Potom v aplikaci Flash Builder spusťte debugger. Postupujte takto: 1 V aplikaci Flash Builder vyberte položky Run (Spustit) > Debug Configurations (Konfigurace ladění). 2 Z existující konfigurace ladění, která je určena pro místní ladění, zkopírujte název projektu. 3 V dialogovém okně Debug Configurations (Konfigurace ladění) vyberte položku Web Application (Webová
aplikace). Potom vyberte ikonu New Launch Configuration (Nová konfigurace spuštění). 4 Vložte název projektu do pole Project (Projekt). 5 V části adresa URL Or Path To Launch (Adresa URL nebo cesta pro spuštění) zrušte zaškrtnutí políčka Use Default
(Použít výchozí). Do textového pole zadejte about:blank. 6 Uložte změny výběrem položky Apply (Použít). 7 Výběrem položky Debug (Ladit) spusťte debugger aplikace Flash Builder. 8 Spusťte svou aplikaci v zařízení s vývojářskou sadou.
Nyní můžete pomocí debuggeru aplikace Flash Builder například nastavit body přerušení a zkoumat proměnné.
Poslední aktualizace 19.11.2013
145
Kapitola 9: Použití nativních rozšíření pro prostředí Adobe AIR Nativní rozšíření prostředí AIR poskytují rozhraní API jazyka ActionScript, která umožňují přístup k funkcím specifickým pro určitá zařízení naprogramovaným v naivním kódu. Vývojáři nativních rozšíření někdy spolupracují s výrobci zařízení a někdy jsou vývojáři třetích stran. Pokud vyvíjíte nativní rozšíření, vyhledejte informace v tématu Vývoj nativních rozšíření pro prostředí Adobe AIR. Nativní rozšíření je kombinací:
• tříd ActionScript, • nativního kódu. Nicméně jako vývojář aplikace AIR používající nativní rozšíření pracujete pouze s třídami jazyka ActionScript. Nativní rozšíření jsou užitečná v následujících situacích:
• Implementace nativního kódu poskytuje přístup k funkcím specifickým pro platformu. Tyto funkce specifické pro platformu nejsou dostupné v integrovaných třídách jazyka ActionScript a nelze je implementovat ve třídách jazyka ActionScript specifických pro aplikaci. Implementace nativního kódu může takové funkce poskytnout, protože má přístup k hardwaru a softwaru specifickému pro zařízení.
• Implementace nativního kódu může občas být rychlejší než implementace, který používá pouze jazyk ActionScript. • Implementace nativního kódu může poskytnout přístup jazyku ActionScript ke staršímu nativním kódu. Některé příklady nativních rozšíření naleznete v technickém centru Adobe Developer Center. Například jedno nativní rozšíření poskytuje aplikacím AIR přístup k funkci vibrace systému Android. Viz Nativní rozšíření pro prostředí Adobe AIR.
Soubory ANE (AIR Native Extension) Vývojáři nativního rozšíření zabalí nativní rozšíření do souboru ANE. Soubor ANE je archivní soubor obsahující nezbytné knihovny a prostředky pro nativní rozšíření. U některých zařízení obsahuje soubor ANE knihovnu nativního kódu, kterou nativní rozšíření používá. Avšak u jiných zařízení je knihovna nativního kódu nainstalována v zařízení. V některých případech nemá nativní rozšíření pro konkrétní zařízení vůbec žádný kód, implementuje se pouze pomocí jazyka ActionScript. Jako vývojář aplikace AIR Developer použijte soubor ANE následovně:
• Zahrňte soubor ANE do cesty ke knihovně aplikace stejným způsobem, jakým zahrnete soubor SWC do cesty ke knihovně. Tato akce umožňuje aplikaci, aby odkazovala na třídy jazyka ActionScript rozšíření. Poznámka: Při kompilaci aplikace je nutné použít pro soubor ANE dynamické propojení. Pokud používáte aplikaci Flash Builder, určete na panelu ActionScript Builder Path Properties (Vlastnosti cesty editoru jazyka ActionScript) položku External (Externí); pokud používáte příkazový řádek, zadejte řetězec -external-library-path.
• Zabalte soubor ANE s aplikací AIR.
Poslední aktualizace 19.11.2013
146
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Použití nativních rozšíření pro prostředí Adobe AIR
Nativní rozšíření versus třída NativeProcess jazyka ActionScript Jazyk ActionScript 3.0 poskytuje třídu NativeProcess. Tato třída umožňuje aplikaci AIR spouštět nativní procesy v hostitelském operačním systému. Tato možnost je podobná nativním rozšířením, která poskytují přístup k funkcím a platformám specifickým pro platformu. Když se rozhodujete zda použít třídu NativeProcess nebo nativní rozšíření, zvažte následující skutečnosti:
• Pouze profil extendedDesktopprostředí AIR podporuje třídu NativeProcess. Pro aplikace AIR s profilem mobileDevice nebo extendedMobileDevice představuje nativní rozšíření jedinou možnost.
• Vývojáři nativního rozšíření často poskytují nativní implementace pro různé platformy, ale rozhraní API jazyka ActionScript, která poskytují, jsou obvykle stejná ve více platformách. Při použití třídy NativeProcess se může kód jazyka ActionScript pro spuštění nativního procesu na různých platformách lišit.
• Třída NativeProcess spustí samostatný proces, zatímco nativní rozšíření spustí stejný proces jako aplikace AIR. Proto pokud máte obavy ze zhroucení kódu, je použití třídy NativeProcess bezpečnější. Samostatný proces však znamená, že bude zřejmě nutné implementovat zpracování komunikace v rámci procesu.
Nativní rozšíření versus knihovny třídy jazyka ActionScript (soubory SWC) Soubor SWC je knihovna třídy jazyka ActionScript knihovny v archivním formátu. Soubor SWC obsahuje soubor SWF a jiné zdrojové soubory. Soubor SWC je pohodlný způsob sdílení tříd jazyka ActionScript namísto sdílení jednotlivých kódů jazyka ActionScript a zdrojových souborů. Balíček nativního rozšíření je soubor ANE. Stejně jako soubor SWC je soubor ANE také knihovnou jazyka ActionScript obsahující soubor SWF a jiné zdrojové soubory v archivním formátu. Nicméně nejdůležitějším rozdílem mezi souborem ANE a souborem SWC je, že pouze soubor ANE může obsahovat knihovnu nativního kódu. Poznámka: Při kompilaci aplikace je nutné použít pro soubor ANE dynamické propojení. Pokud používáte aplikaci Flash Builder, určete na panelu ActionScript Builder Path Properties (Vlastnosti cesty editoru jazyka ActionScript) položku External (Externí); pokud používáte příkazový řádek, zadejte řetězec -external-library-path.
Další témata Nápovědy O souborech SWC
Podporovaná zařízení Od verze prostředí AIR 3 můžete použít nativní rozšíření v aplikacích pro následující zařízení:
• zařízení se systémem Android od verze Android 2.2, • zařízení se systémem iOS od verze iOS 4.0, • Simulátor iOS, od aplikace AIR 3.3 • Blackberry PlayBook, • počítačová zařízení se systémem Windows, která podporují prostředí AIR 3.0,
Poslední aktualizace 19.11.2013
147
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Použití nativních rozšíření pro prostředí Adobe AIR
• počítačová zařízení se systémem Mac OS X, která podporují prostředí AIR 3.0, Často je jedno nativní rozšíření určeno pro více platforem. Soubor ANE rozšíření obsahuje knihovny jazyka ActionScript a nativní knihovny pro každou podporovanou platformu. Obvykle mají knihovny jazyka ActionScript stejná veřejná rozhraní pro všechny platformy. Nativní knihovny jsou nutně odlišné. V některých případech nativní rozšíření podporuje výchozí platformu. Implementace výchozí platformy má pouze kód jazyka ActionScript, ale žádný nativní kód. Pokud zabalíte aplikaci pro platformu, kterou rozšíření konkrétně nepodporuje, použije aplikace při spuštění výchozí implementaci. Například představte si rozšíření, které podporuje funkci vztahující se pouze na mobilní telefony. Rozšíření může poskytovat také výchozí implementaci, kterou počítačová aplikace může použít k simulaci této funkce.
Podporované profily zařízení Následující profily prostředí AIR podporují nativní rozšíření:
•
extendedDesktop, představen ve verzi AIR 3.0
•
mobileDevice, představen ve verzi AIR 3.0
•
extendedMobileDevice, představen ve verzi AIR 3.0
Další témata Nápovědy Podpora profilů prostředí AIR
Seznam úloh pro používání nativního rozšíření Chcete-li použít nativní rozšíření v aplikaci, proveďte následující úlohy: 1 Deklarujte rozšíření v souboru deskriptoru aplikace. 2 Zahrňte soubor ANE do cesty ke knihovně aplikace. 3 Zabalte aplikaci.
Deklarujte rozšíření v souboru deskriptoru aplikace. Všechny aplikace prostředí AIR mají soubor deskriptoru aplikace. Když aplikace používá nativní rozšíření, zahrnuje soubor deskriptoru aplikace element <extensions>. Například: <extensions> <extensionID>com.example.Extension1 <extensionID>com.example.Extension2
Element extensionID má stejnou hodnotu jako element id v souboru deskriptoru rozšíření. Soubor deskriptoru rozšíření je soubor XML s názvem extension.xml. Je zabalen v souboru ANE. Můžete použít nástroj extraktoru archivu pro zobrazení souboru extension.xml.
Poslední aktualizace 19.11.2013
148
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Použití nativních rozšíření pro prostředí Adobe AIR
Zahrnutí souboru ANE do cesty ke knihovně aplikace Chcete-li zkompilovat aplikaci, která využívá nativní rozšíření, zahrňte soubor ANE do cesty knihovny.
Použití souboru ANE s aplikací Flash Builder Jestliže vaše aplikace využívá nativní rozšíření zahrňte soubor ANE pro nativní rozšíření do cesty knihovny. Potom můžete v aplikaci Flash Builder zkompilovat kód jazyka ActionScript. V aplikaci Flash Builder 4.5.1 proveďte následující kroky: 1 Změňte příponu názvu souboru z ANE na SWC. Tento krok je nutný proto, aby aplikace Flash Builder soubor
našla. 2 V projektu aplikace Flash Builder vyberte možnost Project (Projekt) > Properties (Vlastnosti). 3 V dialogovém okně Properties (Vlastnosti) vyberte položku Flex Build Path (Cesta vytvoření Flex). 4 Na kartě Library Path (Cesta ke knihovně) vyberte možnost Add SWC... (Přidat soubor SWC...). 5 Vyhledejte soubor SWC a vyberte příkaz Open (Otevřít). 6 V dialogovém okně Add SWC... (Přidat soubor SWC...) klepněte na tlačítko OK.
Soubor ANE se nyní zobrazí v dialogovém okně Properties (Vlastnosti) na kartě Library Path (Cesta ke knihovně). 7 Rozbalte položku souboru SWC. Poklepáním na položku Link Type (Typ odkazu) otevřete dialogové okno Library
Path Item Options (Volby položek cesty knihovny). 8 V dialogovém okně Library Path Item Options (Volby položek cesty knihovny) změňte hodnotu volby Link Type
(Typ odkazu) na External (Externí). Nyní můžete aplikaci zkompilovat, například výběrem položek Project (Projekt) > Build Project (Vytvořit projekt).
Použití souboru ANE s aplikací Flash Professional Jestliže vaše aplikace využívá nativní rozšíření zahrňte soubor ANE pro nativní rozšíření do cesty knihovny. Potom můžete pomocí aplikace Flash Professional CS5.5 zkompilovat kód jazyka ActionScript. Postupujte takto: 1 Změňte příponu souboru ANE na SWC. Tento krok je nutný proto, aby aplikace Flash Professional mohla tento
soubor nalézt. 2 Pro soubor FLA vyberte položky Soubor > Nastavení jazyka ActionScript. 3 V dialogovém okně Další nastavení jazyka ActionScript 3.0 vyberte kartu Cesta knihovny. 4 Vyberte tlačítko Vyhledat soubor SWC. 5 Vyhledejte soubor SWC a vyberte příkaz Otevřít.
Soubor SWC se nyní zobrazí v dialogovém okně Další nastavení jazyka ActionScript 3.0 na kartě Cesta knihovny. 6 S vybraným souborem SWC vyberte tlačítko Nastavit volby navázání pro knihovnu. 7 V dialogovém okně Library Path Item Options (Volby položek cesty knihovny) změňte hodnotu volby Link Type
(Typ odkazu) na External (Externí).
Poslední aktualizace 19.11.2013
149
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Použití nativních rozšíření pro prostředí Adobe AIR
Zabalení aplikace, která používá nativní rozšíření K zabalení aplikace, která používá nativní rozšíření, použijte nástroj ADT. Ke sbalení aplikace nelze použít aplikaci Flash Professional CS5.5 ani Flash Builder 4.5.1. Podrobné informace o používání nástroje ADT naleznete na webu AIR Developer Tool (ADT). Například následující příkazu ADT vytvoří soubor DMG (soubor nativního instalátoru pro Mac OS X) pro aplikaci, která používá nativní rozšíření: adt -package -storetype pkcs12 -keystore myCert.pfx -target native myApp.dmg application.xml index.html resources -extdir extensionsDir
Následující příkaz vytvoří balíček APK pro zařízení se systémem Android: adt -package -target apk -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp-app.xml myApp.swf icons -extdir extensionsDir
Následující příkaz vytvoří balíček iOS pro aplikaci pro zařízení iPhone: adt -package -target ipa-ad-hoc -storetype pkcs12 -keystore ../AppleDistribution.p12 -provisioning-profile AppleDistribution.mobileprofile myApp.ipa myApp-app.xml myApp.swf icons Default.png -extdir extensionsDir
Zapamatujte si následující pravidla:
• Použijte typ balíčku nativního instalačního programu. • Určete adresář rozšíření. • Zkontrolujte, že soubor ANE podporuje cílové zařízení aplikace.
Použití typu balíčku nativního instalačního programu. Balíček aplikace musí být nativní instalační program. Nemůžete vytvořit balíček AIR pro více platforem (balíček .air) pro aplikaci, která využívá nativní rozšíření, protože nativní rozšíření obvykle obsahují nativní kód. Typické nativní rozšíření však podporuje více nativních platforem se stejnými rozšířeními API jazyka ActionScript. V těchto případech můžete použít stejný soubor ANE v různých nativních balíčcích instalačního programu. Následující tabulka nabízí souhrn hodnot pro použití u možnosti -target příkazu ADT:
Poslední aktualizace 19.11.2013
150
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Použití nativních rozšíření pro prostředí Adobe AIR
Cílová platforma aplikace
-target
Zařízení systému Mac OS X nebo Windows
-target native -target bundle
Android
-target apk nebo jiné cíle balíčku pro platformu Android.
iOS
-target ipa-ad-hoc nebo jiné cíle balíčku pro platformu iOS.
Určení adresáře rozšíření Použijte možnost ADT volba -extdir , která sdělí příkazu ADT adresář, který obsahuje nativní rozšíření (souborů ANE). Podrobnosti o této možnosti naleznete v tématu „Možnosti souboru a cesty“ na stránce 178.
Zkontrolujte, že soubor ANE podporuje cílové zařízení aplikace. Při poskytování souboru ANE vás vývojář nativního rozšíření informuje, které platformy dané rozšíření podporuje. Můžete také použít nástroj extraktoru archivu, pokud si chcete obsah souboru ANE prohlédnout. Extrahované soubory zahrnují adresář pro každou podporovanou platformu. Znát, které platformy rozšíření podporuje, je důležité při balení aplikace, která bude soubor ANE používat. Vezměte v úvahu následující aspekty:
• Chcete-li vytvořit balíček aplikace pro systém Android, musí soubor ANE obsahovat platformuAndroid-ARM . Nebo musí soubor ANE zahrnovat výchozí platformu a alespoň jednu další platformu.
• Chcete-li vytvořit balíček aplikace pro systém iOS, musí soubor ANE obsahovat platformuiPhone-ARM . Nebo musí soubor ANE zahrnovat výchozí platformu a alespoň jednu další platformu.
• Chcete-li vytvořit balíček aplikace pro simulátor iOS, musí soubor ANE obsahovat platformu iPhone-x86. • Chcete-li vytvořit balíček aplikace pro systém Mac OS X, musí soubor ANE obsahovat platformu MacOS-x86. Nebo musí soubor ANE zahrnovat výchozí platformu a alespoň jednu další platformu.
• Chcete-li vytvořit balíček aplikace pro systém Windows, musí soubor ANE obsahovat platformuWindows-x86. Nebo musí soubor ANE zahrnovat výchozí platformu a alespoň jednu další platformu.
Poslední aktualizace 19.11.2013
151
Kapitola 10: Kompilátory jazyka ActionScript Před zahrnutím do aplikace AIR je nutné kód jazyka ActionScript a MXML kompilovat. Jestliže použijete integrované vývojové prostředí (IDE), jako je například Adobe Flash Builder nebo Adobe Flash Professional, zpracuje prostředí IDE kompilaci na pozadí. Můžete však vyvolat kompilátory jazyka ActionScript z příkazového řádku k vytvoření souborů SWF, pokud nepoužíváte prostředí IDE nebo při použití skriptu sestavení.
O nástrojích příkazového řádku prostředí AIR v sadě Flex SDK Každý nástroj příkazového řádku použitý k vytvoření aplikace Adobe AIR volá odpovídající nástroj, který slouží k sestavení aplikací:
• nástroj amxmlc volá nástroj mxmlc ke kompilaci tříd aplikace, • nástroj acompc volá nástroj compc ke kompilaci tříd knihovny a komponent, • nástroj aasdoc volá nástroj asdoc k vygenerování souborů dokumentace z komentářů zdrojového kódu. Jediný rozdíl mezi verzemi nástrojů Flex a AIR je ten, že verze AIR načítají možnosti konfigurace ze souboru airconfig.xml místo souboru flex-config.xml. Nástroje Flex SDK a jejich volby příkazového řádku jsou podrobně popsány v dokumentaci k prostředí Flex. Tento dokument obsahuje základní popis nástrojů sady Flex SDK, v němž jsou vysvětleny rozdíly mezi sestavováním aplikací Flex a aplikací AIR.
Další témata Nápovědy „Vytvoření první aplikace AIR pro stolní počítače pomocí sady Flex SDK“ na stránce 36
Nastavení kompilátoru Parametry kompilace se obvykle nastavují pomocí příkazového řádku a jednoho nebo více konfiguračních souborů. Globální konfigurační soubor sady Flex SDK obsahuje výchozí hodnoty, které se použijí při každém spuštění kompilátoru. Tento soubor lze upravit, aby vyhovoval vlastnímu vývojovému prostředí. Existují dva globální konfigurační soubory Flex, které se nacházejí v adresáři instalace sady Flex SDK. Soubor air-config.xml se použije při spuštění kompilátoru amxmlc. Tento soubor konfiguruje kompilátor pro prostředí AIR včetně knihoven AIR. Soubor flex-config.xml se použije při spuštění nástroje mxmlc. Pomocí výchozích hodnot konfigurace zjistíte, jak aplikace Flex a AIR fungují, když však přejdete k plnohodnotnému projektu, prozkoumejte dostupné možnosti podrobněji. Do voleb kompilátoru v místním konfiguračním souboru lze zadat hodnoty specifické pro projekt, jež budou mít přednost před globálními hodnotami pro daný projekt. Poznámka: Žádné parametry kompilace nejsou použity speciálně pro aplikace AIR, ale při kompilaci aplikace AIR je nutné vytvořit odkaz na knihovny AIR. Na tyto knihovny se obvykle odkazuje v konfiguračním souboru na úrovni projektu, v souboru k nástroji sestavení, například Ant, nebo přímo na příkazovém řádku.
Poslední aktualizace 19.11.2013
152
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Kompilátory jazyka ActionScript
Kompilace zdrojových souborů MXML a ActionScript pro aplikaci AIR Datové zdroje jazyka Adobe® ActionScript® 3.0 a MXML aplikace AIR můžete kompilovat pomocí kompilátoru příkazového řádku MXML (amxmlc). (Aplikace založené na HTML není nutné kompilovat. Pokud chcete kompilovat obsah SWF v aplikaci Flash Professional, publikujte film do souboru SWF.) Základní vzor příkazového řádku pro použití nástroje amxmlc: amxmlc [compiler options] -- MyAIRApp.mxml
kde [možnosti kompilátoru] určují volby příkazového řádku použité ke kompilaci aplikace AIR. Příkaz amxmlc iniciuje standardní kompilátor Flex mxmlc s dodatečným parametrem +configname=air. Tento parametr dává kompilátoru pokyn použít soubor air-config.xml namísto souboru flex-config.xml. Používání kompilátoru amxmlc je jinak identické s používáním mxmlc. Kompilátor načte konfigurační soubor air-config.xml, který určuje knihovny AIR a Flex obvykle vyžadované pro kompilaci aplikace AIR. Můžete také použít lokální konfigurační soubor na úrovni projektu pro potlačení nebo přidání dodatečných voleb ke globální konfiguraci. Nejsnazším způsobem vytvoření lokálního konfiguračního souboru je obvykle upravení kopie globální verze. Lokální soubor můžete načíst pomocí volby -load-config: -load-config=project-config.xml Potlačí globální volby. -load-config+=project-config.xml Přidá dodatečné hodnoty k těm globálním volbám, které přebírají více než hodnotu, například k volbě -library-path. Globální volby, které přebírají pouze jedinou hodnotu, jsou potlačeny. Jestliže pro lokální konfigurační soubor používáte speciální konvence pojmenování, kompilátor amxmlc načte lokální soubor automaticky. Jestliže je například hlavní soubor MXML RunningMan.mxml, pojmenujte lokální konfigurační soubor: RunningMan-config.xml. Nyní musíte pro kompilaci aplikace pouze zadat: amxmlc RunningMan.mxml RunningMan-config.xml je načten automaticky, protože jeho název souboru odpovídá názvu kompilovaného
souboru MXML. Příklady kompilátoru amxmlc Následující příklady ukazují použití kompilátoru amxmlc. (Musíte kompilovat pouze datové zdroje jazyka ActionScript a MXML své aplikace.) Kompilace souboru AIR MXML: amxmlc myApp.mxml
Kompilace a nastavení názvu výstupu: amxmlc –output anApp.swf -- myApp.mxml
Kompilace souboru AIR ActionScript: amxmlc myApp.as
Určení konfiguračního souboru kompilátoru: amxmlc –load-config config.xml -- myApp.mxml
Přidání dodatečných voleb z jiného konfiguračního souboru: amxmlc –load-config+=moreConfig.xml -- myApp.mxml
Poslední aktualizace 19.11.2013
153
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Kompilátory jazyka ActionScript
Přidání knihoven na příkazový řádek (vedle knihoven, které se již v konfiguračním souboru nacházejí): amxmlc –library-path+=/libs/libOne.swc,/libs/libTwo.swc
-- myApp.mxml
Kompilace souboru AIR MXML bez použití konfiguračního souboru (Win): mxmlc -library-path [AIR SDK]/frameworks/libs/air/airframework.swc, ^ [AIR SDK]/frameworks/libs/air/airframework.swc, ^ -library-path [Flex SDK]/frameworks/libs/framework.swc ^ -- myApp.mxml
Kompilace souboru AIR MXML bez použití konfiguračního souboru (Mac OS X nebo Linux): mxmlc -library-path [AIR SDK]/frameworks/libs/air/airframework.swc, \ [AIR SDK]/frameworks/libs/air/airframework.swc, \ -library-path [Flex 3 SDK]/frameworks/libs/framework.swc \ -- myApp.mxml
Kompilace souboru AIR MXML pro použití knihovny sdílené za běhu: amxmlc -external-library-path+=../lib/myLib.swc -runtime-shared-libraries=myrsl.swf -myApp.mxml
Kompilace souboru MXML prostředí AIR pro použití souboru ANE (pro soubor ANE je nutné použít volbu external-library-path): amxmlc -external-library-path+=../lib/myANE.ane -output=myAneApp.swf -- myAneApp.mxml
Kompilace z jazyka Java (s cestou třídy nastavenou tak, aby obsahovala mxmlc.jar): java flex2.tools.Compiler +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml
Volba flexlib určuje umístění vašeho adresáře rámce sady Flex SDK a umožňuje tak kompilátoru najít soubor flex_config.xml. Kompilace z jazyka Java (bez nastavené cesty třídy): java -jar [Flex SDK 2]/lib/mxmlc.jar +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml
Vyvolání kompilátoru pomocí nástroje Apache Ant (v příkladu je použita úloha Java ke spuštění souboru mxmlc.jar): <property name="SDK_HOME" value="C:/Flex46SDK"/> <property name="MAIN_SOURCE_FILE" value="src/myApp.mxml"/> <property name="DEBUG" value="true"/> <java jar="${MXMLC.JAR}" fork="true" failonerror="true"> <arg value="-debug=${DEBUG}"/> <arg value="+flexlib=${SDK_HOME}/frameworks"/> <arg value="+configname=air"/> <arg value="-file-specs=${MAIN_SOURCE_FILE}"/>
Poslední aktualizace 19.11.2013
154
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Kompilátory jazyka ActionScript
Kompilace komponenty nebo knihovny kódu aplikace AIR (Flex) Kompilátor komponenty acompc použijte ke kompilaci knihoven AIR a nezávislých komponent. Kompilátor komponenty acompc se chová jako kompilátor amxmlc, s následujícími výjimkami:
• Musíte určit, které třídy v základně kódu mají být do knihovny nebo komponenty zahrnuty. • acompc nevyhledá lokální konfigurační soubor automaticky. Pro použití konfiguračního souboru projektu musíte použít volbu –load-config. Příkaz acompc iniciuje standardní kompilátor komponenty Flex compc, ale načte jeho volby konfigurace ze souboru air-config.xml namísto souboru flex-config.xml.
Konfigurační soubor kompilátoru komponenty Použitím lokálního konfiguračního souboru se vyhnete zadání (a možná nesprávného zadání) zdrojové cesty a názvů tříd na příkazovém řádku. Přidejte volbu -load-config do příkazového řádku acompc a načtěte tak lokální konfigurační soubor. Následující příklad ukazuje konfiguraci pro vývoj knihovny se dvěma třídami, ParticleManager a Particle, kde obě jsou součástí balíku: com.adobe.samples.particles. Soubory třídy jsou umístěny ve složce source/com/adobe/samples/particles. <source-path> <path-element>source com.adobe.samples.particles.ParticleManagercom.adobe.samples.particles.Particle
Pro kompilaci knihovny pomocí konfiguračního souboru pojmenovaného ParticleLib-config.xmlzadejte: acompc -load-config ParticleLib-config.xml -output ParticleLib.swc
Pro kompletní spuštění stejného příkazu na příkazovém řádku zadejte: acompc -source-path source -include-classes com.adobe.samples.particles.Particle com.adobe.samples.particles.ParticleManager -output ParticleLib.swc
(Zadejte celý příkaz na jeden řádek, nebo použijte znak pro pokračování řádku pro svou skořepinu příkazu.)
příklady kompilátoru acompc Tyto příklady předpokládají, že používáte konfigurační soubor pojmenovaný myLib-config.xml. Kompilace komponenty nebo knihovny AIR: acompc -load-config myLib-config.xml -output lib/myLib.swc
Poslední aktualizace 19.11.2013
155
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Kompilátory jazyka ActionScript
(Všimněte si, že před spuštěním příkazu musí existovat složka lib a musí být prázdná.)
Poslední aktualizace 19.11.2013
156
Kapitola 11: Program AIR Debug Launcher (ADL) Nástroj AIR Debug Launcher (ADL) použijte během vyvíjení pro spuštění aplikací vycházejících z SWF i HTML. Pomocí ADL můžete spustit aplikaci bez předchozího zabalení a instalace. ADL implicitně používá runtime obsažený v sadě SDK, což znamená, že pro použití ADL nemusíte runtime instalovat samostatně. ADL vytiskne příkazy trace a chyby v době běhu do standardního výstupu, ale nepodporuje body rozdělení nebo jiné funkce ladění. K ladění složitých problémů lze použít nástroj Flash Debugger (nebo integrované vývojové prostředí, např. Flash Builder). Poznámka: Pokud se příkazy trace() nezobrazí v konzole, zkontrolujte, zda jste v souboru mm.cfg neurčili vlastnost ErrorReportingEnable nebo TraceOutputFileEnable. Další informace o umístěních tohoto souboru specifických pro platformu naleznete v článku Úpravy souboru mm.cfg. Prostředí AIR podporuje přímé ladění, takže nepotřebujete ladicí verzi běhového modulu (kterou byste potřebovali v aplikaci Adobe® Flash® Player). Chcete-li provést ladění z příkazového řádku, použijte nástroje Flash Debugger a AIR Debug Launcher (ADL). Nástroj Flash Debugger se dodává v adresáři Flex SDK. Nativní verze, například fdb.exe pro Windows, se nacházejí v podadresáři bin. Java verze se nachází v dílčím adresáři lib. Aplikace AIR Debug Launcher, adl.exe, se nachází v adresáři bin instalace sady Flex SDK. (Není k dispozici samostatná verze Java.) Poznámka: Aplikaci AIR nelze spustit přímo pomocí souboru fdb, protože soubor fdb se ji pokouší spustit v aplikaci Flash Player. Místo toho nechejte aplikaci AIR, aby se připojila ke spuštěné relaci souboru fdb.
Použití nástroje ADL Chcete-li spustit aplikaci pomocí programu ADL, postupujte následovně: adl application.xml
Kde application.xml je soubor deskriptoru aplikace pro danou aplikaci. Kompletní syntaxe pro program ADL je: adl [-runtime runtime-directory] [-pubid publisher-id] [-nodebug] [-atlogin] [-profile profileName] [-screensize value] [-extdir extension-directory] application.xml [root-directory] [-- arguments]
(Položky v závorkách [] jsou volitelné).
Poslední aktualizace 19.11.2013
157
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Program AIR Debug Launcher (ADL)
-runtimeruntime-directoryUrčuje adresář obsahující běhový modul, který má být použit. Jestliže není určeno, použije se adresář runtime ve stejné sadě SDK jako v případě programu ADL. Jestliže program ADL přesunete mimo složku sady SDK, určete adresář runtime. V systémech Windows a Linux určete adresář obsahující adresář prostředí Adobe AIR . V OS X Mac určete adresář obsahující Adobe AIR.framework. -pubid publisher-id Přiřadí určenou hodnotu jako ID vydavatele aplikace AIR pro toto spuštění. Určení přechodného ID vydavatele pro testování funkcí aplikace AIR, například komunikaci přes lokální připojení, které používá ID vydavatele. To vám umožní jedinečně identifikovat aplikaci. Od verze prostředí AIR 1.5.3 lze rovněž zadat ID vydavatele do souboru deskriptoru aplikace (a tento parametr by se neměl používat). Poznámka: Od verze prostředí AIR 1.5.3 již ID vydavatele není automaticky vypočítáno a přiřazeno k aplikaci AIR. ID vydavatele můžete zadat při vytváření aktualizace stávající aplikace AIR, ale nové aplikace nemusí a ani by neměly určovat ID vydavatele. -nodebug Vypne podporu ladění. Je-li použit, proces aplikace se nemůže připojit k nástroji ladění Flash a dialogy pro zpracovávání výjimek jsou potlačeny. (Příkazy trace se nicméně stále tisknou do okna konzoly.) Vypnete-li ladění, poběží vaše aplikace o trochu rychleji a také podrobněji emuluje režim spuštění nainstalované aplikace. -atlogin Simuluje spuštění aplikace při přihlášení. Tento příznak umožňuje testování logiky aplikace, která se spustí pouze při nastavení aplikace ke spuštění při přihlášení uživatele. Je-li -atlogin použit, vlastnost reason objektu InvokeEvent odeslaného do aplikace bude login místostandard (pokud již aplikace není spuštěna). -profile profileName Program ADL ladí aplikaci pomocí určeného profilu. Proměnná profileName může mít jednu z následujících hodnot:
• Stolní počítač • Rozšířený profil pro stolní počítače • Mobilní zařízení Pokud deskriptor aplikace obsahuje element supportedProfiles, musí být profil zadaný pomocí příznaku -profile členem seznamu podporovaných profilů. Pokud se příznak -profile nepoužívá, bude jako aktivní profil použit první profil v deskriptoru aplikace. Pokud deskriptor aplikace neobsahuje element supportedProfiles a nepoužijete příznak -profile, bude použit profil desktop. Další informace naleznete v tématu „supportedProfiles“ na stránce 235 a „Profily zařízení“ na stránce 241. -screensize hodnota Simulovaná velikost obrazovky při spuštění aplikace v profilu mobileDevice na ploše. Zadejte velikost obrazovky buď jako předdefinovaný typ obrazovky, nebo zadejte rozměry v pixelech pro normální šířku a výšku při rozvržení na výšku plus šířku a výšku maximalizované obrazovky. Chcete-li zadat hodnotu podle typu, použijte jeden z následujících předdefinovaných typů obrazovky: Typ obrazovky
Šířka x výška normální obrazovky
Šířka x výška celé obrazovky
480
720 x 480
720 x 480
720
1 280 x 720
1 280 x 720
1 080
1 920 x 1 080
1 920 x 1 080
Droid
480 x 816
480 x 854
FWQVGA
240 x 432
240 x 432
FWVGA
480 x 854
480 x 854
HVGA
320 x 480
320 x 480
iPad
768 x 1 004
768 x 1 024
Poslední aktualizace 19.11.2013
158
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Program AIR Debug Launcher (ADL)
Typ obrazovky
Šířka x výška normální obrazovky
Šířka x výška celé obrazovky
iPadRetina
1 536 x 2 008
1 536 x 2 048
iPhone
320 x 460
320 x 480
iPhoneRetina
640 x 920
640 x 960
iPhone5Retina
640 x 1 096
640 x 1 136
iPod
320 x 460
320 x 480
iPodRetina
640 x 920
640 x 960
iPod5Retina
640 x 1 096
640 x 1 136
NexusOne
480 x 762
480 x 800
QVGA
240 x 320
240 x 320
SamsungGalaxyS
480 x 762
480 x 800
SamsungGalaxyTab
600 x 986
600 x 1 024
WQVGA
240 x 400
240 x 400
WVGA
480 x 800
480 x 800
K určení rozměrů obrazovky v obrazových bodech přímo použijte následující formát: widthXheight:fullscreenWidthXfullscreenHeight
Zadané rozměry v pixelech se vždy týkají rozvržení na výšku, tzn. že šířka je menší než výška. Například obrazovku zařízení NexusOne lze specifikovat pomocí parametru: -screensize 480x762:480x800
-extdir extension-directory Adresář, ve kterém má běhové prostředí hledat nativní rozšíření. Tento adresář obsahuje podadresáře pro každé nativní rozšíření, které bude aplikace používat. Každý z těchto podadresářů obsahuje rozbalený soubor ANE rozšíření. Například:
Poslední aktualizace 19.11.2013
159
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Program AIR Debug Launcher (ADL)
Při použití parametru -extdir mějte na paměti následující skutečnosti:
• Příkaz programu ADL vyžaduje, aby každý ze zadaných adresářů měl příponu názvu souboru ANE. Nicméně část názvu souboru před příponu ANE může být jakýkoli platný název souboru. Nemusí se shodovat s hodnotou elementu extensionID souboru popisovače aplikace.
• Parametr -extdir můžete určit více než jednou. • Použití parametru -extdir v nástroji ADT a v nástroji ADL se liší. V nástroji ADT určuje parametr adresář, který obsahuje soubory ANE.
• Můžete také použít proměnnou prostředí AIR_EXTENSION_PATH k určení adresářů rozšíření. Viz téma „Proměnné prostředí nástroje ADT“ na stránce 184. application.xml Soubor deskriptoru aplikace. Další informace naleznete v tématu „Soubory deskriptorů aplikací AIR“ na stránce 201. Deskriptor aplikace je jediný parametr vyžadovaný programem ADL a ve většině případů je jediným potřebným parametrem. root-directory Určuje kořenový adresář aplikace, které má být spuštěna. Není-li určeno, použije se adresář obsahující soubor deskriptoru aplikace. -- argumentsJakékoliv řetězce znaků, které se zobrazí za pomlčkami „--“, jsou předány aplikaci jako argumenty příkazového řádku. Poznámka: Když spustíte aplikaci AIR, která již běží, nespustí se nová instance dané aplikace. Namísto toho se k běžící instanci odešle událost invoke.
Příklady ADL Spuštění aplikace v aktuálním adresáři: adl myApp-app.xml
Poslední aktualizace 19.11.2013
160
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Program AIR Debug Launcher (ADL)
Spuštění aplikace v podadresáři aktuálního adresáře: adl source/myApp-app.xml release
Spusťte aplikaci a předejte dva argumenty příkazového řádku, „tick“ a „tock“: adl myApp-app.xml -- tick tock
Spuštění aplikace pomocí specifického runtime: adl -runtime /AIRSDK/runtime myApp-app.xml
Spuštění aplikace bez podpory ladění: adl -nodebug myApp-app.xml
Spusťte aplikaci v profilu mobilního zařízení a simulujte velikost obrazovky zařízení Nexus One: adl -profile mobileDevice -screensize NexusOne myMobileApp-app.xml
Spusťte aplikaci pomocí programu Apache Ant pro spuštění aplikace (cesty v příkladu jsou určeny pro systém Windows): <property <property <property <property
Kódy ukončení a chyb nástroje ADL Následující tabulka popisuje kódy ukončení vytištěné ADL: Kódy ukončení
Popis
0
Úspěšné spuštění. ADL se ukončí po ukončení aplikace AIR.
1
Úspěšná iniciace již běžící aplikace AIR. ADL se okamžitě ukončí.
2
Chyba použití. Argumenty dodané ADL nejsou správné.
3
Runtime se nepodařilo nalézt.
4
Runtime se nepodařilo spustit. K tomu často dojde z toho důvodu, že verze určená v aplikaci neodpovídá verzi runtime.
5
Došlo k neznámé chybě.
6
Soubor deskriptoru aplikace se nepodařilo nalézt.
7
Obsah deskriptoru aplikace není platný. Tato chyba obvykle určuje, že XML není dobře vytvořen.
8
Hlavní obsahový soubor aplikace (určený v elementu souboru deskriptoru aplikace) se nepodařilo nalézt.
Poslední aktualizace 19.11.2013
161
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Program AIR Debug Launcher (ADL)
Kódy ukončení
Popis
9
Hlavní obsahový soubor aplikace není platným SWF nebo HTML souborem.
10
Aplikace nepodporuje profil určený v možnosti -profile.
11
Argument - screensize není v aktuálním profilu podporován.
Poslední aktualizace 19.11.2013
162
Kapitola 12: AIR Developer Tool (ADT) AIR Developer Tool (ADT) je víceúčelový nástroj příkazového řádku pro vývoj aplikací AIR. Pomocí nástroje ADT lze provádět následující úkoly:
• Zabalit aplikaci AIR jako instalační soubor .air • Zabalit aplikaci AIR jako nativní instalační balíček – například jako soubor .exe instalační služby v systému Windows, soubor .ipa v systému iOS nebo soubor .apk na platformě Android
• Zabalení nativního rozšíření jako soubor AIRNative Extension (ANE) • Podepsat aplikaci AIR digitálním certifikátem • Změnit (migrovat) digitální podpis použitý pro aktualizace aplikace • Určit zařízení připojená k počítači • Vytvořit podpisový certifikát s automatickým podpisem digitálního kódu • Vzdáleně nainstalovat, spustit a odinstalovat aplikaci v mobilním zařízení • Vzdáleně nainstalovat a odinstalovat běhový modul AIR v mobilním zařízení ADT je program v jazyce Java zahrnutý v sadě AIR SDK. K jeho použití je nutná verze jazyka Java 1.5 nebo vyšší. Sada SDK obsahuje soubor skriptu pro vyvolání nástroje ADT. Chcete-li tento skript použít, musí být program Java zahrnut v proměnné prostředí path. Pokud je adresář AIR SDK bin rovněž uveden v proměnné prostředí path, můžete zadáním příkazu adt s příslušnými argumenty na příkazovém řádku vyvolat nástroj ADT. (Pokud nevíte, jak nastavit proměnnou prostředí path, naleznete informace v dokumentaci k operačnímu systému. Za účelem další podpory jsou postupy pro nastavení cesty ve většině počítačových systémů popsány v tématu „Proměnné prostředí pro cestu“ na stránce 300.) Aby bylo možné používat nástroj ADT, jsou nutné minimálně 2 GB paměti počítače. Pokud máte méně paměti, může dojít k nedostatku paměti pro nástroj ADT, zejména při balení aplikací pro iOS. Za předpokladu, že program Java i adresáře bin AIR SDK jsou oba zahrnuty v proměnné path, můžete spustit nástroj ADT pomocí následující základní syntaxe: adt -command options
Poznámka: Většina integrovaných vývojových prostředí, včetně aplikací Adobe Flash Builder a Adobe Flash Professional, může balit a podepisovat aplikace AIR automaticky. Obvykle není třeba pro tyto běžné úlohy používat nástroj ADT, když již používáte toto vývojové prostředí. Nicméně může být nutné použít nástroj ADT jako nástroj příkazového řádku pro funkce, jež integrované vývojové prostředí nepodporuje. Nástroj ADT navíc můžete použít jako nástroj příkazového řádku jako součást procesu automatického sestavení.
Příkazy nástroje ADT První argument předaný nástroji ADT určuje jeden z následujících příkazů.
• -package – Zabalí aplikaci AIR nebo balíček ANE (AIR Native Extension). • -prepare – Zabalí aplikaci AIR jako přechodný soubor (AIRI), ale nepodepíše jej. Soubory AIRI nelze nainstalovat.
Poslední aktualizace 19.11.2013
163
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR AIR Developer Tool (ADT)
• -sign – Podepíše balíček AIRI vytvořené pomocí příkazu -prepare. Příkazy -prepare a - sign umožňují provést zabalení a podepsání v různou dobu. Příkaz -sign lze použít také k podepsání nebo opakovanému podepsání balíčku ANR.
• -migrate – Použije podpis migrace u podepsaného balíčku AIR, čímž umožní použít nový nebo obnovený certifikát podpisu kódu.
• -certificate – Vytvoří digitální certifikát podpisu kódu podepsaný sám sebou. • -checkstore – Ověří, zda lze přistupovat k digitálnímu certifikátu v úložišti klíčů. • -installApp – Nainstaluje aplikaci AIR do zařízení nebo do emulátoru zařízení. • -launchApp – Spustí aplikaci AIR v zařízení nebo v emulátoru zařízení. • -appVersion – Zobrazí verzi aktuálně nainstalované aplikace AIR v zařízení nebo v emulátoru zařízení. • -uninstallApp – Odinstaluje aplikaci AIR ze zařízení nebo z emulátoru zařízení. • -installRuntime – Nainstaluje běhový modul AIR do zařízení nebo do emulátoru zařízení. • -runtimeVersion – Zobrazí verzi běhového modulu AIR aktuálně nainstalovaného v zařízení nebo v emulátoru zařízení.
• -uninstallRuntime – Odinstaluje aktuálně nainstalovaný běhovÝ modul AIR ze zařízení nebo z emulátoru zařízení. • -version – Zobrazí číslo verze nástroje ADT. • -devices – Zobrazí informace o zařízení pro připojená mobilní zařízení nebo emulátory. • -help – Zobrazí seznam příkazů a možností. Mnoho příkazů nástroje ADT sdílejí související sady příznaků možností a parametrů. Tyto sady možností jsou podrobně popsány samostatně:
• „Možnosti podpisu kódu nástroje ADT“ na stránce 176 • „Možnosti souboru a cesty“ na stránce 178 • „Možnosti připojení debuggeru“ na stránce 179 • „Možnosti nativního rozšíření“ na stránce 180
Příkaz package nástroje ADT Příkaz -package je nutné spouštět z hlavního adresáře aplikace. Tento příkaz používá následující syntaxi: Vytvoření balíčku prostředí AIR z dílčích souborů aplikace: adt -package AIR_SIGNING_OPTIONS -target packageType -sampler -hideAneLibSymbols NATIVE_SIGNING_OPTIONS output app_descriptor FILE_OPTIONS
Vytvoření nativního balíčku z dílčích souborů aplikace:
Poslední aktualizace 19.11.2013
164
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR AIR Developer Tool (ADT)
Vytvoření nativního balíčku obsahujícího nativní rozšíření z dílčích souborů aplikace: adt -package AIR_SIGNING_OPTIONS -migrate MIGRATION_SIGNING_OPTIONS -target packageType DEBUGGER_CONNECTION_OPTIONS -airDownloadURL URL NATIVE_SIGNING_OPTIONS output app_descriptor -platformsdk path FILE_OPTIONS
Vytvoření nativního balíčku ze souboru AIR nebo AIRI: adt -package -target packageType NATIVE_SIGNING_OPTIONS output input_package
Vytvoření balíčku nativního rozšíření ze souborů nativního rozšíření komponenty: adt -package AIR_SIGNING_OPTIONS -target ane output ANE_OPTIONS
Poznámka: Soubor ANE není nutné podepisovat, proto jsou parametry AIR_SIGNING_OPTIONS v tomto příkladu volitelné. AIR_SIGNING_OPTIONS Možnosti podpisu AIR identifikují certifikát použitý k podepsání instalačního souboru AIR. Možnosti podpisu jsou kompletně popsány v tématu „Možnosti podpisu kódu nástroje ADT“ na stránce 176. -migrate Tento příznak určuje, že je aplikace podepsána nejen certifikátem určeným v parametrech AIR_SIGNING_OPTIONS, ale i certifikátem přenosu. Tento příznak je platný, pouze pokud balíte aplikaci pro stolní počítače jako nativní instalátor, přičemž tato aplikace využívá nativní rozšíření. V ostatních případech dojde k chybě. Možnosti podpisu pro certifikát přenosu jsou určeny jako parametry MIGRATION_SIGNING_OPTIONS. Tyto možnosti podpisu jsou podrobně popsány v části „Možnosti podpisu kódu nástroje ADT“ na stránce 176. Pomocí příznaku -migrate lze vytvořit aktualizaci aplikace nativního instalátoru pro stolní počítače, která používá nativní rozšíření, a pro tuto aplikaci změnit podpisový certifikát kódu, například když původnímu certifikátu vyprší platnost. Další informace naleznete v části „Podepisování aktualizované verze aplikace AIR“ na stránce 196. Příznak -migrate příkazu -package je k dispozici v prostředí AIR 3.6 a novějších.
Poslední aktualizace 19.11.2013
165
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR AIR Developer Tool (ADT)
-target Typ balíčku, který chcete vytvořit. Podporované typy balíčků jsou:
• air – balíček aplikace AIR. air je výchozí hodnota a příznak -target nemusí být při vytváření souborů AIR nebo AIRI zadán.
• airn – balíček nativní aplikace pro zařízení v profilu rozšířené televize. • ane – balíček nativního rozšíření AIR • Cíle balíčku pro platformu Android: • apk – balíček pro platformu Android Balíček vytvořený s tímto cílem lze nainstalovat pouze do zařízení se systémem Android, nikoli do emulátoru.
• apk-captive-runtime – balíček pro systém Android, který obsahuje aplikaci i vázanou verzi běhového prostředí AIR. Balíček vytvořený s tímto cílem lze nainstalovat pouze do zařízení se systémem Android, nikoli do emulátoru.
• apk-debug – balíček pro platformu Android se zvláštními informacemi o ladění. (Soubory SWF v aplikaci musí být také zkompilovány s podporou ladění.)
• apk-emulator – balíček pro platformu Android pro použití v emulátoru bez podpory ladění. (Cíl apk-emulator použijte, chcete-li povolit ladění v emulátorech i v zařízeních.)
• apk-profile – balíček pro platformu Android, který podporuje výkon aplikací a profilování paměti. • Cíle balíčku pro systém iOS: • ipa-ad-hoc – balíček iOS pro distribuci ad hoc. • ipa-app-store – balíček iOS pro distribuci úložiště aplikací Apple. • ipa-debug – balíček iOS se zvláštními informacemi o ladění. (Soubory SWF v aplikaci musí být také zkompilovány s podporou ladění.)
• ipa-test – balíček iOS kompilovaný bez informací o optimalizaci nebo ladění. • ipa-debug-interpreter – funkční ekvivalent ladícího balíčku, ale s rychlejší kompilací. Bytový kód jazyka ActionScript je však interpretován a není převáděn do strojového kódu. Spuštění kódu v balíčku interpreteru je proto pomalejší.
• ipa-debug-interpreter-simulator – funkce ekvivalentní k funkci ipa-debug-interpreter, ale zabalená pro simulátor iOS. Pouze systém Macintosh. Pokud použijete tuto možnost, musíte také zahrnout volbu platformsdk, která určuje cestu k simulátoru iOS sady SDK.
• ipa-test-interpreter – funkční ekvivalent testovacího balíčku, ale s rychlejší kompilací. Bytový kód jazyka ActionScript je však interpretován a není převáděn do strojového kódu. Spuštění kódu v balíčku interpreteru je proto pomalejší.
• ipa-test-interpreter-simulator – funkce ekvivalentní k funkci ipa-test-interpreter, ale zabalená pro simulátor iOS. Pouze systém Macintosh. Pokud použijete tuto možnost, musíte také zahrnout volbu -platformsdk, která určuje cestu k simulátoru iOS sady SDK.
• native – nativní instalační program pro stolní počítač. Typ souboru, které bude vytvořen, je nativní instalační formát operačního systému, ve kterém je příkaz spuštěn:
• EXE – Windows • DMG – Mac • DEB – Ubuntu Linux (AIR 2.6 nebo starší) • RPM – Fedora nebo OpenSuse Linux (AIR 2.6 nebo starší) Další informace naleznete v části „Sbalení nativního instalátoru pro stolní počítač“ na stránce 55.
Poslední aktualizace 19.11.2013
166
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR AIR Developer Tool (ADT)
-sampler (Pouze systém iOS, AIR 3.4 a vyšší) Zapíná v aplikacích systému iOS sampler jazyka ActionScript založený na telemetrii. Při použití tohoto příznaku lze aplikace profilovat nástrojem Adobe Scout. Přestože nástroj Scout může profilovat libovolný obsah platformy Flash, zapnutím podrobné telemetrie získáte lepší přehled o časování funkcí jazyka ActionScript, objektu DisplayList, vykreslování objektu Stage3D a podobně. Používáním tohoto příznaku se mírně snižuje výkon, proto ho nepoužívejte u produkčních aplikací. -hideAneLibSymbols (pouze systém iOS, AIR 3.4 a vyšší) vývojáři aplikací mohou používat více nativních rozšíření z různých zdrojů, a pokud soubory ANE sdílejí společný název symbolu, ADT vygeneruje chybu „duplicitní symbol v souboru objektu“. V některých případech se tato chyba může projevit jako selhání za běhu. Pomocí volby hideAneLibSymbols můžete určit, zda se mají symboly knihovny souboru ANE změnit na viditelné pouze pro zdroje této knihovny (yes), nebo mají být viditelné globálně (no):
• yes – skryje symboly souboru ANE, čímž vyřeší případné problémy s neúmyslnými konflikty symbolů. • no – (výchozí) neskryje symboly souboru ANE. Toto je chování před uvedením verze AIR 3.4. DEBUGGER_CONNECTION_OPTIONS Možnosti připojení debuggeru určují, zda se má ladicí balíček pokusit připojit ke vzdálenému debuggeru, který je spuštěn v jiném počítači, nebo má naslouchat připojení ze vzdáleného debuggeru. Tato sada možností je podporována pouze pro ladicí balíčky pro mobilní zařízení (cíle apk-debug a ipadebug). Tyto možnosti jsou popsány v tématu „Možnosti připojení debuggeru“ na stránce 179. - airDownloadURL Určuje alternativní adresu URL pro stažení a instalaci běhového prostředí AIR do zařízení Android. Pokud není zadána, přesměruje aplikace AIR uživatele na běhové prostředí AIR na webu Android Market, pokud není běhové prostředí již nainstalováno. Pokud je aplikace distribuována prostřednictvím alternativního tržiště (jiného než web Android Market, který je spravován společností Google), bude pravděpodobně nutné zadat adresu URL pro stažení běhového prostředí AIR z daného tržiště. Některá alternativní tržiště neumožňují, aby aplikace vyžadovaly stažení z webu mimo dané tržiště. Tato možnost je podporována pouze u balíčků pro zařízení Android. NATIVE_SIGNING_OPTIONS Nativní možnosti podpisů identifikují certifikát použitý k podepsání nativního souboru balíčku. Tyto možnosti podpisů slouží k použití podpisu používaného nativním operačním systémem, nikoli běhovým modulem AIR. Možnosti jsou jinak identické s možnostmi AIR_SIGNING_OPTIONS a jsou podrobně popsány v tématu „Možnosti podpisu kódu nástroje ADT“ na stránce 176. Nativní podpisy jsou podporovány v systémech Windows a Android. V systému Windows je třeba zadat možnosti podpisů AIR i možnosti nativních podpisů. V systému Android lze zadat pouze možnosti nativních podpisů. V mnoha případech můžete použít stejný certifikát podpisu kódu k přidání podpisu AIR i nativního podpisu. Neplatí to však ve všech případech. Například zásady společnosti Google pro aplikace odeslané so služby Android Market vyžadují, aby všechny aplikace byly podepsány certifikátem, který je platný alespoň do roku 2033. To znamená, že certifikát vydaný dobře známou certifikační autoritou, který se doporučuje při použití podpisu AIR, by neměl být použit k podepsání aplikace Android. (Žádné certifikační autority nevydávají certifikát podpisu kódu s tak dlouhou dobou platnosti.) output Název souboru balíčku, který má být vytvořen. Určení přípony souboru je volitelné. Pokud není zadána, bude přidána příslušná přípona pro hodnotu -target a aktuální operační systém. app_descriptorC esta k souboru deskriptoru aplikace. Cestu lze určit relativně k aktuálnímu adresáři nebo jako absolutní cestu. (Soubor deskriptoru aplikace je v souboru AIR přejmenován na application.xml.) -platformsdk Cesta k sadě SDK platformy pro cílové zařízení:
• Android – Sada AIR 2.6+ SDK obsahuje nástroje ze sady Android SDK potřebné k implementaci příslušných příkazů ADT. Tuto hodnotu nastavte pouze v případě, že chcete použít jinou verzi sady Android SDK. Cestu k sadě SDK platformy také není nutné zadávat na příkazovém řádku, pokud je již nastavena proměnná prostředí AIR_ANDROID_SDK_HOME. (Pokud jsou nastaveny obě, pak bude použita cesta na příkazovém řádku.)
Poslední aktualizace 19.11.2013
167
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR AIR Developer Tool (ADT)
• iOS – Sada AIR SDK se dodává s kaptivní sadou SDK pro systém iOS. Možnost -platformsdk umožňuje balení aplikací s externí sadou SDK, takže nejste omezení na používání kaptivní verze iOS SDK. Pokud jste například vytvořili rozšíření s nejnovější sadou iOS SDK, můžete tuto sadu SDK určit při balení aplikace. Pokud navíc sadu ADT používáte se simulátorem iOS, musíte vždy zahrnout možnost -platformsdk určující cestu k sadě SDK simulátoru iOS. FILE_OPTIONS Určuje soubory aplikace, které mají být zahrnuty do balíčku. Možnosti souboru jsou kompletně popsány v tématu „Možnosti souboru a cesty“ na stránce 178. Nezadávejte možnosti souboru při vytváření nativního balíčku ze souboru AIR nebo AIRI. input_airi Zadejte při vytváření nativního balíčku ze souboru AIRI. AIR_SIGNING_OPTIONS jsou požadovány, pokud je jako cíl zadána hodnota air (nebo pokud není zadán žádný cíl). input_air Zadejte při vytváření nativního balíčku ze souboru AIR. Nezadávejte AIR_SIGNING_OPTIONS. ANE _ OPTIONS Identifikuje možnosti a soubory k vytváření nativního balíčku rozšíření. Možnosti balíčku rozšíření jsou kompletně popsány v tématu „Možnosti nativního rozšíření“ na stránce 180.
Příklady příkazu -package programu ADT Zabalení konkrétních souborů aplikace do aktuálního adresáře pro aplikaci AIR založenou na formátu SWF: adt –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.swf components.swc
Zabalení konkrétních souborů aplikace do aktuálního adresáře pro aplikaci AIR založenou na jazyce HTML: adt –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.html AIRAliases.js image.gif
Všechny soubory a podadresáře balíku v aktuálním pracovním adresáři: adt –package -storetype pkcs12 -keystore ../cert.p12 myApp.air myApp.xml .
Poznámka: Soubor úložiště klíčů obsahuje osobní klíč použití k podepsání vaší aplikace. Certifikát podpisu nikdy nevkládejte do balíku AIR! Jestliže v příkazu programu ADT použijete zástupné znaky, uložte soubor úložiště klíčů do odlišného umístění, aby nebyl zahrnut do balíku. V tomto příkladu je soubor úložiště klíčů, cert.p12, umístěn do nadřazeného adresáře. Zabalení pouze hlavních souborů a obrazů podadresáře: adt –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.swf images
Zabalení aplikace vycházející z HTML a všech souborů v podadresářích HTML, skriptů a obrazů: adt –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml index.html AIRALiases.js html scripts images
Zabalení souboru application.xml a hlavního souboru SWF umístěného v pracovním adresáři(release/bin): adt –package -storetype pkcs12 -keystore cert.p12 myApp.air release/bin/myApp.xml –C release/bin myApp.swf
Zabalení datových zdrojů z více než jednoho místa v systému vývoje souborů. V tomto příkladu jsou datové zdroje aplikace před zabalením umístěny v následujících složkách:
Poslední aktualizace 19.11.2013
168
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR AIR Developer Tool (ADT)
Má za následek následující strukturu balíku: /myAppRoot /META-INF /AIR application.xml hash myApp.swf or myApp.html mimetype /images image-1.png ... image-n.png /libs lib-1.swf lib-2.swf lib-a.js AIRAliases.js
Spuštění ADT jako programu jazyka Java pro jednoduchou aplikaci založenou na formátu SWF (bez nastavení cest pro třídy): java –jar {AIRSDK}/lib/ADT.jar –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.swf
Spuštění ADT jako programu jazyka Java pro jednoduchou aplikaci založenou na jazyce HTML (bez nastavení cest pro třídy): java –jar {AIRSDK}/lib/ADT.jar –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.html AIRAliases.js
Spuštění ADT jako programu jazyka Java (cesta třídy Java je nastavena tak, aby obsahovala balík ADT.jar):
Poslední aktualizace 19.11.2013
169
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR AIR Developer Tool (ADT)
Spusťte ADT jako úlohu jazyka Java v nástroji Apache Ant (přestože je obvykle nejvhodnější použít příkaz ADT přímo ve skriptech nástroje Ant). Cesty uvedené v příkladu jsou určeny pro systém Windows: <property name="SDK_HOME" value="C:/AIRSDK"/> <property name="ADT.JAR" value="${SDK_HOME}/lib/adt.jar"/> target name="package"> <java jar="${ADT.JAR}" fork="true" failonerror="true"> <arg value="-package"/> <arg value="-storetype"/> <arg value="pkcs12"/> <arg value="-keystore"/> <arg value="../../ExampleCert.p12"/> <arg value="myApp.air"/> <arg value="myApp-app.xml"/> <arg value="myApp.swf"/> <arg value="icons/*.png"/>
Poznámka: V některých počítačových systémech mohou být chybně interpretovány dvoubajtové znaky v souboru systémových cest. V takovém případě zkuste nastavit běhové prostředí Java použité ke spuštění nástroje ADT na znakovou sadu UTF-8. Ve výchozím nastavení to provedete ve skriptu použitém ke spuštění nástroje ADT v systémech Mac a Linux. V souboru adt.bat systému Windows, nebo pokud spouštíte ADT přímo prostřednictvím jazyka Java, určete na příkazovém řádku jazyka Java volbu -Dfile.encoding=UTF-8.
Příkaz prepare nástroje ADT Příkaz -prepare vytvoří nepodepsaný balíček AIRI. Balíček AIRI nelze použít samostatně. Použijte příkaz -sign k převodu souboru AIRI na podepsaný balíček AIR nebo použijte příkaz package k převodu souboru AIRI na nativní balíček. Příkaz -prepare používá následující syntaxi: adt -prepare output app_descriptor FILE_OPTIONS
output Název souboru AIRI, který je vytvořen. app_descriptorC esta k souboru deskriptoru aplikace. Cestu lze určit relativně k aktuálnímu adresáři nebo jako absolutní cestu. (Soubor deskriptoru aplikace je v souboru AIR přejmenován na application.xml.) FILE_OPTIONS Určuje soubory aplikace, které mají být zahrnuty do balíčku. Možnosti souboru jsou plně popsány v tématu „Možnosti souboru a cesty“ na stránce 178.
Příkaz sign nástroje ADT Příkaz -sign podepíše soubory AIRI a ANE. Příkaz -sign používá následující syntaxi: adt -sign AIR_SIGNING_OPTIONS input output
AIR_SIGNING_OPTIONS Možnosti podpisu aplikace AIR identifikují certifikát použitý k podepsání souboru balíčku. Možnosti podpisu jsou kompletně popsány v tématu „Možnosti podpisu kódu nástroje ADT“ na stránce 176. input Název souboru AIRI nebo ANE, který má být podepsán.
Poslední aktualizace 19.11.2013
170
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR AIR Developer Tool (ADT)
output Název podepsaného balíčku, který má být vytvořen. Pokud je soubor ANE již podepsán, bude původní podpis zrušen. (Soubory AIR nelze podepsat znovu – chcete-li pro aktualizaci aplikace použít nový podpis, použijte příkaz -migrate.)
Příkaz migrate nástroje ADT Příkaz -migrate použije podpis migrace u souboru AIR. Podpis migrace musí být použit při obnovení nebo změně digitálního certifikátu, či pokud je nutné aktualizovat aplikace podepsané starým certifikátem. Další informace o balení aplikací AIR pomocí podpisu přenosu naleznete v části „Podepisování aktualizované verze aplikace AIR“ na stránce 196. Poznámka: Certifikát přenosu je nutné použít do 365 dnů od vypršení platnosti. Po uplynutí této lhůty již aktualizace aplikace nemohou být podepsány podpisem migrace. Uživatelé mohou nejprve aktualizovat na verzi aplikace, která byla podepsána podpisem migrace, a pak nainstalovat nejnovější aktualizaci, nebo mohou původní aplikaci odinstalovat a nainstalovat nový balíček AIR. Chcete-li použít podpis migrace, nejprve podepište aplikaci AIR pomocí nového či obnoveného certifikátu (použijte příkaz -package nebo -sign) a pak použijte podpis migrace pomocí původního certifikátu a příkazu -migrate. Příkaz -migrate používá následující syntaxi: adt -migrate AIR_SIGNING_OPTIONS input output
AIR_SIGNING_OPTIONS Možnosti podpisu aplikace AIR identifikující původní certifikát, který byl použit k podepsání stávajících verzí aplikace AIR. Možnosti podpisu jsou kompletně popsány v tématu „Možnosti podpisu kódu nástroje ADT“ na stránce 176. input Soubor AIR již podepsaný pomocí NOVÉHO certifikátu aplikace. output Název konečného balíčku s podpisy z nového i starého certifikátu. Názvy souborů použité pro vstupní a výstupní soubory AIR musí být odlišné. Poznámka: Příkaz migrate nástroje ADT nelze použít u aplikací AIR pro stolní počítače, které zahrnují nativní rozšíření, protože tyto aplikace jsou zabaleny jako nativní instalátory a nikoli jako soubory s příponou AIR. Chcete-li změnit certifikáty pro aplikaci AIR pro stolní počítače, která zahrnuje nativní rozšíření, zabalte aplikaci pomocí „Příkaz package nástroje ADT“ na stránce 163 s příznakem -migrate.
Příkaz checkstore nástroje ADT Příkaz -checkstore umožňuje zkontrolovat platnost úložiště klíčů. Příkaz používá následující syntaxi: adt -checkstore SIGNING_OPTIONS
SIGNING_OPTIONS Možnosti podpisu identifikující úložiště klíčů, které má být ověřeno. Možnosti podpisu jsou kompletně popsány v tématu „Možnosti podpisu kódu nástroje ADT“ na stránce 176.
Příkaz certificate nástroje ADT Příkaz -certificate umožňuje vytvořit digitální certifikát podpisu kódu podepsaný sám sebou. Příkaz používá následující syntaxi: adt -certificate -cn name -ou orgUnit -o orgName -c country -validityPeriod years key-type output password
-cn Řetězec přiřazený jako běžný název nového certifikátu.
Poslední aktualizace 19.11.2013
171
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR AIR Developer Tool (ADT)
-ou Řetězec přiřazený jako organizační jednotka vydávající certifikát. (Volitelné.) -o Řetězec přiřazený jako organizace vydávající certifikát. (Volitelné.) -c Kód země ISO-3166 obsahující dvě písmena. Certifikát není vygenerován, je-li zadán neplatný kód. (Volitelné.) -validityPeriod Počet let, během kterých bude certifikát platný. Pokud není tato hodnota určena, je přiřazena doba
platnosti pět let. (Volitelné.) key_type Typ klíče, který bude pro certifikát použit. Buď 1024-RSA nebo 2048-RSA.
output Cesta a název souboru pro soubor certifikátu, který má být vygenerován. password Heslo pro přístup k novému certifikátu. Heslo je vyžadováno při podepisování souborů AIR tímto certifikátem.
Příkaz installApp nástroje ADT Příkaz - installApp nainstaluje aplikaci do zařízení nebo emulátoru. Před opětovnou instalací pomocí tohoto příkazu je nutné odinstalovat existující aplikace. Příkaz používá následující syntaxi: adt -installApp -platform platformName -platformsdk path-to-sdk -device deviceID -package fileName
-platform Název platformy zařízení. Určete systém ios nebo android. -platformsdk Cesta k sadě SDK platformy pro cílové zařízení (volitelné):
• Android – Sada AIR 2.6+ SDK obsahuje nástroje ze sady Android SDK potřebné k implementaci příslušných příkazů ADT. Tuto hodnotu nastavte pouze v případě, že chcete použít jinou verzi sady Android SDK. Cestu k sadě SDK platformy také není nutné zadávat na příkazovém řádku, pokud je již nastavena proměnná prostředí AIR_ANDROID_SDK_HOME. (Pokud jsou nastaveny obě, pak bude použita cesta na příkazovém řádku.)
• iOS – Sada AIR SDK se dodává s kaptivní sadou SDK pro systém iOS. Možnost -platformsdk umožňuje balení aplikací s externí sadou SDK, takže nejste omezení na používání kaptivní verze iOS SDK. Pokud jste například vytvořili rozšíření s nejnovější sadou iOS SDK, můžete tuto sadu SDK určit při balení aplikace. Pokud navíc sadu ADT používáte se Simulátorem iOS, musíte vždy zahrnout možnost -platformsdk určující cestu k sadě SDK simulátoru iOS. -device Určete vlastnost ios_simulator, sériové číslo (Android) nebo parametr handle (iOS) připojeného zařízení. V systému iOS je tento parametr vyžadován, v systému Android je tento parametr třeba určovat pouze tehdy, když je k počítači připojeno a spuštěno více než jedno zařízení nebo emulátor se systémem Android. Pokud není určené zařízení připojeno, vrací nástroj ADT kód ukončení 14: Chyba zařízení (Android) nebo Určeno neplatné zařízení (iOS). Pokud je připojeno více zařízení nebo emulátorů a zařízení není zadáno, vrátí nástroj ADT kód ukončení 2: Chyba použití. Poznámka: Instalace souboru IPA přímo do zařízení se systémem iOS je možná v prostředí AIR 3.4 a vyšších a vyžaduje přehrávač iTunes 10.5.0 nebo vyšší. Za účelem určení parametru handle nebo sériového čísla připojených zařízení použijte příkaz adt -devices (k dispozici v prostředí AIR 3.4 a novějším). Upozorňujeme, že v systému iOS je třeba použít parametr handle, a nikoli identifikátor UUID zařízení. Další informace naleznete v tématu „Příkaz devices nástroje ADT“ na stránce 175. U platformy Android můžete kromě toho seznam sériových čísel připojených zařízení a spuštěných emulátorů zobrazit pomocí nástroje Android ADB: adb devices
Poslední aktualizace 19.11.2013
172
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR AIR Developer Tool (ADT)
-package Název souboru pro instalovaný balíček. V systému iOS se musí jednat o soubor IPA. U platformy Android to musí být balíček APK. Pokud je zadaný balíček již nainstalován, vrátí nástroj ADT kód chyby 14: Chyba zařízení.
Příkaz appVersion nástroje ADT Příkaz - appVersion zobrazí nainstalovanou verzi aplikace v zařízení nebo emulátoru. Příkaz používá následující syntaxi: adt -appVersion -platform platformName -platformsdk path_to_sdk -device deviceID -appid applicationID
-platform Název platformy zařízení. Určete systém ios nebo android. -platformsdk Cesta k sadě SDK platformy pro cílové zařízení:
• Android – Sada AIR 2.6+ SDK obsahuje nástroje ze sady Android SDK potřebné k implementaci příslušných příkazů ADT. Tuto hodnotu nastavte pouze v případě, že chcete použít jinou verzi sady Android SDK. Cestu k sadě SDK platformy také není nutné zadávat na příkazovém řádku, pokud je již nastavena proměnná prostředí AIR_ANDROID_SDK_HOME. (Pokud jsou nastaveny obě, pak bude použita cesta na příkazovém řádku.)
• iOS – Sada AIR SDK se dodává s kaptivní sadou SDK pro systém iOS. Možnost -platformsdk umožňuje balení aplikací s externí sadou SDK, takže nejste omezení na používání kaptivní verze iOS SDK. Pokud jste například vytvořili rozšíření s nejnovější sadou iOS SDK, můžete tuto sadu SDK určit při balení aplikace. Pokud navíc sadu ADT používáte se Simulátorem iOS, musíte vždy zahrnout možnost -platformsdk určující cestu k sadě SDK simulátoru iOS. -device Určete ios_simulator nebo sériové číslo zařízení. Zařízení je nutné určit pouze v případě, že je k počítači připojeno a spuštěno více zařízení nebo emulátorů Android. Pokud zadané zařízení není připojeno, vrátí nástroj ADT kód ukončení 14: Chyba zařízení. Pokud je připojeno více zařízení nebo emulátorů a zařízení není zadáno, vrátí nástroj ADT kód ukončení 2: Chyba použití. U platformy Android zobrazte seznam sériových čísel připojených zařízení a spuštěných emulátorů pomocí nástroje Android ADB: adb devices
-appid ID aplikace AIR nainstalované aplikace. Pokud v zařízení není nainstalována žádná aplikace se zadaným ID, vrátí nástroj ADT vrátí kód ukončení 14: Chyba zařízení.
Příkaz launchApp nástroje ADT Příkaz - launchApp spustí nainstalované aplikace v zařízení nebo emulátoru. Příkaz používá následující syntaxi: adt -launchApp -platform platformName -platformsdk path_to_sdk -device deviceID -appid applicationID
-platform Název platformy zařízení. Určete systém ios nebo android. -platformsdk Cesta k sadě SDK platformy pro cílové zařízení:
• Android – Sada AIR 2.6+ SDK obsahuje nástroje ze sady Android SDK potřebné k implementaci příslušných příkazů ADT. Tuto hodnotu nastavte pouze v případě, že chcete použít jinou verzi sady Android SDK. Cestu k sadě SDK platformy také není nutné zadávat na příkazovém řádku, pokud je již nastavena proměnná prostředí AIR_ANDROID_SDK_HOME. (Pokud jsou nastaveny obě, pak bude použita cesta na příkazovém řádku.)
Poslední aktualizace 19.11.2013
173
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR AIR Developer Tool (ADT)
• iOS – Sada AIR SDK se dodává s kaptivní sadou SDK pro systém iOS. Možnost -platformsdk umožňuje balení aplikací s externí sadou SDK, takže nejste omezení na používání kaptivní verze iOS SDK. Pokud jste například vytvořili rozšíření s nejnovější sadou iOS SDK, můžete tuto sadu SDK určit při balení aplikace. Pokud navíc sadu ADT používáte se Simulátorem iOS, musíte vždy zahrnout možnost -platformsdk určující cestu k sadě SDK simulátoru iOS. -device Určete ios_simulator nebo sériové číslo zařízení. Zařízení je nutné určit pouze v případě, že je k počítači připojeno a spuštěno více zařízení nebo emulátorů Android. Pokud zadané zařízení není připojeno, vrátí nástroj ADT kód ukončení 14: Chyba zařízení. Pokud je připojeno více zařízení nebo emulátorů a zařízení není zadáno, vrátí nástroj ADT kód ukončení 2: Chyba použití. U platformy Android zobrazte seznam sériových čísel připojených zařízení a spuštěných emulátorů pomocí nástroje Android ADB: adb devices
-appid ID aplikace AIR nainstalované aplikace. Pokud v zařízení není nainstalována žádná aplikace se zadaným ID, vrátí nástroj ADT vrátí kód ukončení 14: Chyba zařízení.
Příkaz uninstallApp nástroje ADT Příkaz - uninstallApp slouží k úplnému odebrání nainstalovaných aplikací ze vzdáleného zařízení nebo emulátoru. Příkaz používá následující syntaxi: adt -uninstallApp -platform platformName -platformsdk path_to_sdk -device deviceID -appid applicationID
-platform Název platformy zařízení. Určete systém ios nebo android. -platformsdk Cesta k sadě SDK platformy pro cílové zařízení:
• Android – Sada AIR 2.6+ SDK obsahuje nástroje ze sady Android SDK potřebné k implementaci příslušných příkazů ADT. Tuto hodnotu nastavte pouze v případě, že chcete použít jinou verzi sady Android SDK. Cestu k sadě SDK platformy také není nutné zadávat na příkazovém řádku, pokud je již nastavena proměnná prostředí AIR_ANDROID_SDK_HOME. (Pokud jsou nastaveny obě, pak bude použita cesta na příkazovém řádku.)
• iOS – Sada AIR SDK se dodává s kaptivní sadou SDK pro systém iOS. Možnost -platformsdk umožňuje balení aplikací s externí sadou SDK, takže nejste omezení na používání kaptivní verze iOS SDK. Pokud jste například vytvořili rozšíření s nejnovější sadou iOS SDK, můžete tuto sadu SDK určit při balení aplikace. Pokud navíc sadu ADT používáte se Simulátorem iOS, musíte vždy zahrnout možnost -platformsdk určující cestu k sadě SDK simulátoru iOS. -device Určete ios_simulator nebo sériové číslo zařízení. Zařízení je nutné určit pouze v případě, že je k počítači připojeno a spuštěno více zařízení nebo emulátorů Android. Pokud zadané zařízení není připojeno, vrátí nástroj ADT kód ukončení 14: Chyba zařízení. Pokud je připojeno více zařízení nebo emulátorů a zařízení není zadáno, vrátí nástroj ADT kód ukončení 2: Chyba použití. U platformy Android zobrazte seznam sériových čísel připojených zařízení a spuštěných emulátorů pomocí nástroje Android ADB: adb devices
-appid ID aplikace AIR nainstalované aplikace. Pokud v zařízení není nainstalována žádná aplikace se zadaným ID, vrátí nástroj ADT vrátí kód ukončení 14: Chyba zařízení.
Příkaz installRuntime nástroje ADT Příkaz - installRuntime nainstaluje běhový modul AIR do zařízení.
Poslední aktualizace 19.11.2013
174
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR AIR Developer Tool (ADT)
Před opětovnou instalací pomocí tohoto příkazu je nutné odinstalovat stávající verzi běhového modulu AIR. Příkaz používá následující syntaxi: adt -installRuntime -platform platformName -platformsdk path_to_sdk -device deviceID -package fileName
-platform Název platformy zařízení. Tento příkaz je aktuálně podporován pouze na Android platform. Použijte název android. -platformsdk Cesta k sadě SDK platformy pro cílové zařízení. V současné době je jedinou podporovanou sadou SDK platformy Android. Sada AIR 2.6+ SDK obsahuje nástroje ze sady Android SDK potřebné k implementaci příslušných příkazů ADT. Tuto hodnotu nastavte pouze v případě, že chcete použít jinou verzi sady Android SDK. Cestu k sadě SDK platformy také není nutné zadávat na příkazovém řádku, pokud je již nastavena proměnná prostředí AIR_ANDROID_SDK_HOME. (Pokud jsou nastaveny obě, pak bude použita cesta na příkazovém řádku.) -device Sériové číslo zařízení Zařízení je nutné zadat pouze v případě, že je k počítači připojeno a spuštěno více zařízení nebo emulátorů. Pokud zadané zařízení není připojeno, vrátí nástroj ADT kód ukončení 14: Chyba zařízení. Pokud je připojeno více zařízení nebo emulátorů a zařízení není zadáno, vrátí nástroj ADT kód ukončení 2: Chyba použití. U platformy Android zobrazte seznam sériových čísel připojených zařízení a spuštěných emulátorů pomocí nástroje Android ADB: adb devices
-package Název souboru pro instalovaný běhový modul. U platformy Android to musí být balíček APK. Pokud není zadán žádný balíček, bude vybrán příslušný běhový modul pro emulátor nebo zařízení z těch, které jsou k dispozici v sadě SDK AIR. Pokud je běhový modul již nainstalován, vrátí nástroj ADT kód chyby 14:Chyba zařízení.
Příkaz runtimeVersion nástroje ADT Příkaz - runtimeVersion zobrazí nainstalovanou verzi běhového modulu AIR v zařízení nebo emulátoru. Příkaz používá následující syntaxi: adt -runtimeVersion -platform platformName -platformsdk path_to_sdk -device deviceID
-platform Název platformy zařízení. Tento příkaz je aktuálně podporován pouze na Android platform. Použijte název android. -platformsdk Cesta k sadě SDK platformy pro cílové zařízení. V současné době je jedinou podporovanou sadou SDK platformy Android. Sada AIR 2.6+ SDK obsahuje nástroje ze sady Android SDK potřebné k implementaci příslušných příkazů ADT. Tuto hodnotu nastavte pouze v případě, že chcete použít jinou verzi sady Android SDK. Cestu k sadě SDK platformy také není nutné zadávat na příkazovém řádku, pokud je již nastavena proměnná prostředí AIR_ANDROID_SDK_HOME. (Pokud jsou nastaveny obě, pak bude použita cesta na příkazovém řádku.) -device Sériové číslo zařízení Zařízení je nutné zadat pouze v případě, že je k počítači připojeno a spuštěno více zařízení nebo emulátorů. Pokud není nainstalován běhový modulu nebo zadané zařízení není připojeno, vrátí nástroj ADT kód ukončení 14: Chyba zařízení. Pokud je připojeno více zařízení nebo emulátorů a zařízení není zadáno, vrátí nástroj ADT kód ukončení 2: Chyba použití. U platformy Android zobrazte seznam sériových čísel připojených zařízení a spuštěných emulátorů pomocí nástroje Android ADB: adb devices
Poslední aktualizace 19.11.2013
175
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR AIR Developer Tool (ADT)
Příkaz uninstallRuntime nástroje ADT Příkaz - uninstallRuntime zcela odstraní běhový modul AIR ze zařízení nebo emulátoru. Příkaz používá následující syntaxi: adt -uninstallRuntime -platform platformName -platformsdk path_to_sdk -device deviceID
-platform Název platformy zařízení. Tento příkaz je aktuálně podporován pouze na Android platform. Použijte název android. -platformsdk Cesta k sadě SDK platformy pro cílové zařízení. V současné době je jedinou podporovanou sadou SDK platformy Android. Sada AIR 2.6+ SDK obsahuje nástroje ze sady Android SDK potřebné k implementaci příslušných příkazů ADT. Tuto hodnotu nastavte pouze v případě, že chcete použít jinou verzi sady Android SDK. Cestu k sadě SDK platformy také není nutné zadávat na příkazovém řádku, pokud je již nastavena proměnná prostředí AIR_ANDROID_SDK_HOME. (Pokud jsou nastaveny obě, pak bude použita cesta na příkazovém řádku.) -device Sériové číslo zařízení Zařízení je nutné zadat pouze v případě, že je k počítači připojeno a spuštěno více zařízení nebo emulátorů. Pokud zadané zařízení není připojeno, vrátí nástroj ADT kód ukončení 14: Chyba zařízení. Pokud je připojeno více zařízení nebo emulátorů a zařízení není zadáno, vrátí nástroj ADT kód ukončení 2: Chyba použití. U platformy Android zobrazte seznam sériových čísel připojených zařízení a spuštěných emulátorů pomocí nástroje Android ADB: adb devices
Příkaz devices nástroje ADT Příkaz -help nástroje ADT zobrazí ID zařízení pro aktuálně připojená mobilní zařízení a emulátory: adt -devices -platform iOS|android
-platform Zobrazí název platformy ke kontrole. Zadejte hodnoty android nebo iOS. Poznámka: V systému iOS tento příkaz vyžaduje přehrávač iTunes 10.5.0 nebo vyšší.
Příkaz help nástroje ADT Příkaz -help nástroje ADT zobrazí výstižné připomenutí možností příkazového řádku: adt -help
Výstup nápovědy používá následující konvence symbolů:
• < > – položky v lomených závorkách označují informace, které je nutné zadat. • () – položky v závorkách označují možnosti, které jsou ve výstupu příkazu help považovány za skupinu. • ALL_CAPS – položky velkými písmeny označují sadu možností, které jsou popsány zvlášť. • | – Nebo Například (A | B) znamená položka A nebo položka B. • ? – 0 nebo 1. Otazník následující za položkou označuje, že položka je volitelná a pokud je použita, může se vyskytnout pouze jedenkrát.
• * – 0 nebo více Hvězdička následující za položkou znamená, že položka je nepovinná a může se vyskytovat v libovolném počtu instancí.
• + – 1 nebo více. Znaménko plus následující za položkou označuje, že položka je vyžadována a může se vyskytovat ve více instancích.
• žádný symbol – Pokud za položkou nenásleduje žádný symbol, je vyžadována a může se vyskytnout pouze jedenkrát.
Poslední aktualizace 19.11.2013
176
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR AIR Developer Tool (ADT)
Sady možností nástroje ADT Několik příkazů nástroje ADT sdílí společné sady možností.
Možnosti podpisu kódu nástroje ADT Program ADT používá funkci Java Cryptography Architecture (JCA) k získání přístupu k osobním klíčům a certifikátům pro podpis aplikací AIR. Možnosti podpisu určují úložiště klíčů a osobní klíče a certifikáty v daném úložišti klíčů. Úložiště klíčů musí obsahovat osobní klíč i asociovaný řetězec certifikátu. Jestliže certifikát podpisu provede propojení k důvěryhodnému certifikátu v počítači, zobrazí se obsah běžného názvu certifikátu jako název vydavatele v dialogovém okně instalace AIR. Nástroj ADT vyžaduje, aby certifikát odpovídal normě x509v3 (RFC3280) a obsahoval příponu rozšířeného použití klíče (Extended Key Usage) s řádnou hodnotou pro podepsání kódu. Omezení definovaná v rámci certifikátu jsou respektována a mohou vyloučit použití některých certifikátů pro podepsání aplikací AIR. Poznámka: Je-li to vhodné, používá nástroj ADT nastavení proxy běhového prostředí jazyka Java pro připojení ke zdrojům na Internetu ke kontrole seznamu zrušených certifikátů a získání časových známek. Jestliže používáte nástroj ADT a při připojování ke zdrojům na Internetu dojde k potížím a vaše síť vyžaduje specifické nastavení proxy, bude třeba nakonfigurovat nastavení proxy běhového prostředí Java. Syntaxe možností podpisu aplikace AIR U možností podpisu se používá následující syntaxe (na jednom příkazovém řádku): -alias aliasName -storetype type -keystore path -storepass password1 -keypass password2 -providerName className -tsa url
-alias Alias klíče v úložišti klíčů. Určení alias není nutné, jestliže úložiště klíčů obsahuje pouze jediný certifikát. Neníli určen žádný alias, použije program ADT první klíč v úložišti klíčů. Ne všechny aplikace pro správu úložiště klíčů umožňují přiřazení alias certifikátům. Například při používání úložiště klíčů systému Windows použijte jako alias rozlišující název certifikátu. Můžete použít utilitu Java Keytool pro zobrazení dostupných certifikátů, takže budete moct určit alias. Například spuštění příkazu: keytool -list -storetype Windows-MY
vytvoří pro certifikát výstup podobný následující ukázce: CN=TestingCert,OU=QE,O=Adobe,C=US, PrivateKeyEntry, Certificate fingerprint (MD5): 73:D5:21:E9:8A:28:0A:AB:FD:1D:11:EA:BB:A7:55:88
Pro odkázání tohoto certifikátu na příkazovém řádku ADT nastavte alias na: CN=TestingCert,OU=QE,O=Adobe,C=US
V OS Mac X je alias certifikátu v řetězci klíčů název zobrazený v aplikaci přístupu k řetězci klíčů.
Poslední aktualizace 19.11.2013
177
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR AIR Developer Tool (ADT)
-storetype Typ úložiště klíčů určený implementací úložiště. Výchozí implementace úložiště klíčů zahrnutá ve většině instalací jazyka Java podporuje typy JKS a PKCS12. Java 5.0 obsahuje podporu pro typ PKCS11 pro získání přístupu k úložištím klíčů na známkách hardware a typ Keychain pro získání přístupu k řetězci klíčů OS Mac X. Java 6.0 obsahuje podporu pro typ MSCAPI (pro OS Windows). Jestliže byly nainstalovány a nakonfigurovány jiní poskytovatelé JCA, mohou být k dispozici další typy úložišť klíčů. Jestliže nebyly určeny žádné typy úložiště klíčů, použije se výchozí typ pro výchozího poskytovatele JCA. Typ uložení
Formát úložiště klíčů
Minimální verze Java
JKS
Soubor úložiště klíčů Java (.keystore)
1.2
PKCS12
soubor PKCS12 (.p12 nebo .pfx) 1.4
PKCS11
Známka hardware
1.5
Úložiště řetězce klíčů
Úložiště řetězce klíčů pro OS Mac X
1.5
Windows-MY nebo Windows-ROOT
MSCAPI
1.6
-keystore Cesta k souboru úložiště klíčů pro typy uložení vycházející ze souborů. -storepass Heslo vyžadované pro přístup k úložišti klíčů. Není-li určeno, nástroj ADT požádá o zadání hesla. -keypass Heslo vyžadované pro přístup k osobnímu klíči, který je použit pro podepsání aplikace AIR. Není-li určeno, nástroj ADT požádá o zadání hesla. Poznámka: Pokud jako součást příkazu nástroje ADT zadáte heslo, budou znaky hesla uloženy do historie příkazového řádku. Proto se použití příkazu -keypass nebo -storepass nedoporučuje, je-li důležité zabezpečení certifikátu. Všimněte si také, že při vynechání možnosti hesla se znaky zadané při výzvě k zadání hesla nezobrazí (ze stejných důvodů zabezpečení). Jednoduše zadejte heslo a stiskněte klávesu Enter. -providerName Poskytovatel JCA pro určený typ úložiště klíčů. Není-li určen, použije nástroj ADT výchozího poskytovatele pro daný typ úložiště klíčů. -tsa Určuje adresu URL RFC3161vyhovujícího serveru časového razítka pro přidání časového razítka k digitálnímu podpisu. Není-li určena žádná URL, použije se výchozí server časové známky poskytnutý autoritou Geotrust. Když je podpis aplikace AIR opatřen časovou známkou, aplikace může být stále instalována i po vypršení certifikátu podpisu, protože časová známka ověří, že certifikát byl v době podpisu platný. Jestliže se program ADT nemůže připojit k serveru časové známky, je podepisování zrušeno a nebude vytvořen žádný balík. Pro vypnutí získávání časové známky určete -tsa none. Nicméně aplikace AIR zabalená bez časové známky nemůže být nainstalována po vypršení certifikátu podpisu. Poznámka: Mnoho možností podpisu je shodných se stejnou možností v nástroji Java Keytool. Utilitu Keytool můžete použít k prozkoumání a správě úložišť klíčů v systému Windows. Utilitu zabezpečení Apple® lze za tímto účelem také použít v OS Mac X. -provisioning-profile Soubor zajišťování Apple iOS. (Požadováno pouze pro balení aplikací iOS.) Příklady možností podepsání Podepsání se souborem .p12: -storetype pkcs12 -keystore cert.p12
Podepsání s výchozím úložištěm klíčů Java:
Poslední aktualizace 19.11.2013
178
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR AIR Developer Tool (ADT)
Podepsání s řetězcem klíčů OS Mac X: -alias AIRcert -storetype KeychainStore -providerName Apple
Podepsání s úložištěm klíčů OS Windows: -alias cn=AIRCert -storeype Windows-MY
Podepsání známkou hardware (rady pro konfiguraci Java k použití známky a správnou hodnotu providerName naleznete v pokynech výrobce známky): -alias AIRCert -storetype pkcs11 -providerName tokenProviderName
Možnosti souboru a cesty Možnosti souboru a cestu určují všechny soubory, které jsou součástí balíčku. Možnosti souboru a cesty používají následující syntaxi: files_and_dirs -C dir files_and_dirs -e file_or_dir dir -extdir dir
files_and_dirs Soubory a adresáře, které budou zabaleny v souboru AIR. Lze určit jakýkoliv počet souborů a slovníků, oddělených prázdným prostorem. Jestliže uvedete adresář, budou všechny soubory a podadresáře, s výjimkou skrytých souborů, přidány do balíku. (Pokud je určen soubor deskriptoru aplikace, přímo nebo pomocí zástupného znaku či doplnění aplikace, je ignorován a není podruhé přidán do balíku.) Určené soubory a slovníky musí být umístěny v aktuálním adresáři nebo jednom z jeho podadresářích. Pomocí volby -C změňte aktuální adresář. Důležité: Zástupné znaky nelze použít v argumentech file_or_dir po volbě –C. (Skořepiny příkazu rozšiřují zástupné znaky před předání argumentů do programu ADT a tento program vyhledá soubory ve špatném umístění.) Pro nahrazení stávajícího adresáře můžete nicméně použít znak tečky „.“. Například: -C assets. zkopíruje vše v adresáři datového zdroje, včetně všech dílčích adresářů, až ke kořenové úrovni balíku aplikace. -C dir files_and_dirs Změní pracovní adresář na hodnotu dir před tím, než zpracuje následné soubory a adresáře přidané do balíčku aplikace určeného argumentem files_and_dirs). Soubory nebo adresáře jsou přidány ke kořenům balíku aplikace. Volbu –C lze použít tolikrát, kolikrát si přejete, pro zahrnutí souborů s více bodů do systému souborů. Je-li pro dirurčena relativní cesta, je cesta vždy získána z původního pracovního adresáře.
Když program ADT zpracovává soubory a adresáře obsažené v balení, uloží se relativní cesta mezi aktuálním adresářem a cílovými soubory. Tyto cesty jsou při instalaci balíku rozšířeny do struktury adresáře aplikace. Proto určením -C release/bin lib/feature.swf umístíte soubor release/bin/lib/feature.swf do podadresáře lib kořenové složky aplikace. -e file_or_dir dir Umístí soubor nebo adresář do zadaného adresáře balíčku. Tuto možnost nelze použít při
balení souboru ANE. Poznámka: Element souboru deskriptoru aplikace musí určit finální umístění hlavního souboru aplikace ve stromové struktuře adresáře balíku aplikace. -extdir dir Hodnota dir je název adresáře pro vyhledávání nativních rozšíření (souborů ANE). Určuje absolutní nebo relativní cestu k aktuálnímu adresáři. Možnost -extdir můžete zadat vícekrát.
Poslední aktualizace 19.11.2013
179
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR AIR Developer Tool (ADT)
Zadaný adresář obsahuje soubory ANE pro nativní rozšíření, která bude aplikace používat. Každý soubor ANE v tomto adresáři má příponu názvu souboru .ane. Název souboru před příponou ANE však nemusí odpovídat hodnotě elementu extensionID v souboru deskriptoru aplikace. Pokud například použijete hodnotu -extdir./extensions , může adresář extensions vypadat například takto: extensions/ extension1.ane extension2.ane
Poznámka: Použití možnosti -extdir v nástroji ADT a v nástroji ADL se liší. V nástroji ADL tato možnost určuje adresář obsahující podadresáře, z nichž každý obsahuje nerozbalený soubor ANE. V nástroji ADT určuje tato možnost adresář, který obsahuje soubory ANE.
Možnosti připojení debuggeru Pokud je cílem balíčku apk-debug a ipa-debug nebo ipa-debug-interpreter, lze pomocí možností připojení určit, zda se má aplikace pokusit připojit ke vzdálenému debuggeru, (který se obvykle používá k ladění wifi) nebo zda má naslouchat příchozímu připojení ze vzdáleného debuggeru (obvykle používaného k ladění USB). Pro připojení k ladicímu programu použijte volbu -connect. Chcete-li přijmout připojení z ladicímu programu přes rozhraní USB, použijte volbu -listen. Tyto volby se vzájemně vylučují, což znamená, že je nelze použít společně. Možnost -connect používá následující syntaxi: -connect hostString
-connect Pokud je tato možnost zadána, aplikace se pokusí připojit ke vzdálenému debuggeru. hostString Řetězec identifikující počítač se spuštěným nástrojem ladění Flash FDB. Pokud tato možnost není zadána, aplikace se pokusí připojit k debuggeru spuštěnému v počítači, ve kterém je balíček vytvořen. Řetězec host může být plně kvalifikovaný název domény počítače: machinename.subgroup.example.com nebo adresa IP 192.168.4.122. Pokud zadaný (nebo výchozí) počítač nebyl nalezen, zobrazí běhový modul dialogové okno požadující platný název hostitele. Možnost -listen používá následující syntaxi: -listen port
-listen Pokud je tato možnost zadána, běhové prostředí čeká na připojení ze vzdáleného debuggeru. port (volitelné) Port pro naslouchání. Ve výchozím nastavení běhové prostředí naslouchá na portu 7936. Další informace o použití možnosti -listen naleznete v části „Vzdálené ladění pomocí nástroje FDB přes port USB“ na stránce 102.
Možnosti profilování aplikace Android Pokud je cílem balíčku apk-profile, lze pomocí možností profileru určit, který předem zavedený soubor SWF má být použit pro profilování výkonu a paměti. Možnosti profileru používají následující syntaxi: -preloadSWFPath directory
-preloadSWFPath Je-li tato možnost zadána, aplikace se pokusí najít předem zavedený soubor SWF v zadaném adresáři. Pokud není zadána, obsahuje nástroj ADT předem zavedený soubor SWF ze sady AIR SDK. directory Adresář obsahující předem zavedený soubor SWF profileru.
Poslední aktualizace 19.11.2013
180
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR AIR Developer Tool (ADT)
Možnosti nativního rozšíření Možnosti nativního rozšíření určují možnosti a soubory pro balení souboru ANE pro nativní rozšíření. Tyto možnosti použijte s příkazem package nástroje ADT, ve kterém má možnost -target hodnotu ane. extension-descriptor -swc swcPath -platform platformName -platformoptions path/platform.xml FILE_OPTIONS
extension-descriptor Soubor deskriptoru pro nativní rozšíření. -swc Soubor SWC obsahující kód jazyka ActionScript a prostředky pro nativní rozšíření. -platform Název platformy, kterou tento soubor ANE podporuje. Můžete zahrnout více možností -platform, každou s vlastním parametrem FILE_OPTIONS. -platformoptions Cesta k souboru obsahujícímu možnosti platformy (platform.xml). Tento soubor můžete použít k určení jiných než výchozích možností propojení, sdílených knihoven a statických knihoven třetích stran používaných v rozšíření. Další informace a ukázky naleznete v části Nativní knihovny iOS. FILE_OPTIONS Určuje nativní soubory platformy, které budou součástí balíčku, jako např. statické knihovny obsažené v nativním balíčku rozšíření. Možnosti souboru jsou kompletně popsány v tématu „Možnosti souboru a cesty“ na stránce 178. (Všimněte si, že možnost -e nelze použít při balení souboru ANE.)
Další témata Nápovědy Zabalení nativního rozšíření
Chybová hlášení programu ADT Následující tabulka obsahuje seznam možných chyb, které může nahlásit program ADT, a jejich pravděpodobné příčiny: Chyby ověření deskriptoru aplikace Kód chyby
Popis
Poznámky
100
Deskriptor aplikace nelze analyzovat.
Zkontrolujte, zda se v souboru deskriptoru aplikace nevyskytují chyby syntaxe jazyka XML, jako jsou například neuzavřené tagy.
101
Chybí jmenný prostor.
Přidejte chybějící jmenný prostor.
102
Neplatný jmenný prostor
Zkontrolujte pravopis jmenného prostoru.
103
Neočekávaný element nebo atribut
Odstraňte nevhodné elementy a atributy. V souboru deskriptoru nejsou povoleny vlastní hodnoty. Zkontrolujte pravopis názvů elementů a atributů. Ujistěte se, že jsou elementy umístěny ve správném nadřazeném elementu a že jsou atributy použity se správnými elementy.
104
Chybějící element nebo atribut
Přidejte požadovaný element nebo atribut.
Poslední aktualizace 19.11.2013
181
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR AIR Developer Tool (ADT)
Kód chyby
Popis
Poznámky
105
Element nebo atribut obsahuje neplatnou hodnotu.
Opravte nevhodnou hodnotu.
106
Nesprávná kombinace atributu okna
Některá nastavení oken nelze používat společně (například nastavení transparency = true a systemChrome = standard. Změňte jedno z nekompatibilních nastavení.
107
Minimální velikost okna je větší než maximální velikost okna.
Změňte buď nastavení minimální velikosti, nebo nastavení maximální velikosti.
108
Atribut se již používá v předchozím elementu.
109
Element je duplicitní.
Odeberte duplicitní element.
110
Je vyžadován alespoň jeden element určeného typu.
Přidejte chybějící element.
111
Žádné profily uvedené v deskriptoru aplikace nepodporují nativní rozšíření.
Do seznamu supportedProfies přidejte profil, který podporuje nativní rozšíření
112
Cíl AIR nepodporuje nativní rozšíření.
Vyberte cíl, který podporuje nativní rozšíření.
113
a musí být uvedeny společně.
Funkce inicializátoru musí být zadána pro každou nativní knihovnu v nativním rozšíření.
114
Byl nalezen bez .
Nezadávejte finalizační metodu, pokud platforma používá nativní knihovnu.
115
Výchozí platforma nesmí obsahovat nativní Nezadávejte nativní knihovnu ve výchozím implementaci. elementu platformy.
116
Vyvolání prohlížeče není pro tento cíl podporováno.
117
Tento cíl vyžaduje minimálně obor názvů n Změňte obor názvů AIR v deskriptoru pro zabalení nativních rozšíření. aplikace na podporovanou hodnotu.
Element nemůže mít pro zadaný cíl balíčku hodnotu true.
Informace o oborech názvů, elementech, atributech a jejich platných hodnotách naleznete v tématu „Soubory deskriptorů aplikací AIR“ na stránce 201. Chyby ikony aplikace
Poslední aktualizace 19.11.2013
182
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR AIR Developer Tool (ADT)
Kód chyby
Popis
Poznámky
200
Nelze otevřít soubor ikony.
Zkontrolujte, že soubor v určené cestě existuje. Ujistěte se pomocí jiné aplikace, že soubor lze otevřít.
201
Ikona má nesprávnou velikost.
Velikost ikony (v obrazových bodech) musí odpovídat tagu XML. Je-li například daný element deskriptoru aplikace: icon.png
Musí mít obraz v souboru icon.png rozměry 32 x 32 obrazových bodů. 202
Soubor ikony obsahuje nepodporovaný formát souboru.
Podporován je pouze formát PNG. Před zabalením aplikace převeďte obrazy v jiných formátech.
Chyby souboru aplikace Kód chyby
Popis
Poznámky
300
Soubor chybí nebo nelze otevřít.
Soubor určený na příkazovém řádku nelze najít nebo otevřít.
301
Soubor deskriptoru aplikace chybí nebo nelze otevřít.
Soubor deskriptoru aplikace nelze v určené cestě najít nebo ho nelze otevřít.
302
V balíčku chybí soubor kořenového obsahu.
Do balíčku je třeba přidat soubor SWF nebo HTML odkazovaný v elementu deskriptoru aplikace – zahrňte tento soubor do souborů, které jsou uvedeny na příkazovém řádku programu ADT.
303
V balíčku chybí soubor ikony.
Do balíčku je třeba přidat soubory ikony určené v deskriptoru aplikace – zahrňte tyto soubory do souborů uvedených na příkazovém řádku programu ADT. Soubory ikon nejsou přidávány automaticky.
304
Počáteční obsah okna je neplatný.
Soubor odkazovaný v elementu deskriptoru aplikace není
rozpoznán jako platný soubor HTML nebo SWF. 305
Počáteční verze SWF obsahu okna je vyšší než verze jmenného prostoru
Verze formátu SWF souboru odkazovaného v elementu deskriptoru aplikace není podporována verzí aplikace AIR, která je určena ve jmenném prostoru deskriptoru. Tuto chybu například vygenerujete, pokud se pro počáteční obsah aplikace AIR 1.1 pokusíte zabalit soubor ve formátu SWF10 (Flash Player 10).
306
Profil není podporován.
Profil, který zadáváte v souboru deskriptoru aplikace, není podporován. Viz „supportedProfiles“ na stránce 235.
307
Obor názvů musí být alespoň nnn.
Použijte příslušný obor názvů pro funkce použité v aplikaci (například obor názvů 2.0).
Poslední aktualizace 19.11.2013
183
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR AIR Developer Tool (ADT)
Kódy ukončení pro jiné chyby Kódy ukončení
Popis
Poznámky
2
Chyba použití
Zkontrolujte, jestli argumenty v příkazovém řádku neobsahují chyby
5
Neznámá chyba
Tato chyba označuje situaci, kterou nelze vysvětlit pomocí běžných podmínek chyb. Mezi hlavní příčiny patří nekompatibilita mezi programem ADT a prostředím runtime jazyka Java, poškozené instalace programu ADT nebo prostředí JRE a programovací chyby uvnitř programu ADT.
6
Nelze provést zápis do výchozího adresáře. Ujistěte se, že je určený (nebo předpokládaný) výstupní adresář přístupný a že na jednotce, která tento adresář obsahuje, je dostatek volného místa.
7
Nelze získat přístup k certifikátu
Ujistěte se, že je cesta ke stisknutí klávesy určena správně. Zkontrolujte, zda lze k certifikátu přistupovat v rámci stisknutí klávesy. K řešení potíží s přístupem k certifikátu slouží nástroj Java 1.6 Keytool.
8
Neplatný certifikát
Soubor certifikátu je utvořený nesprávně, upravený, má vypršenou platnost nebo byl odvolán.
9
Soubor AIR nelze podepsat.
Ověřte možnosti podpisu předané programu ADT.
10
Nelze vytvořit časové razítko.
Program ADT nedokáže ustavit připojení k serveru časového razítka. Pokud jste k internetu připojeni prostřednictvím serveru proxy, bude patrně potřeba nakonfigurovat nastavení proxy prostředí JRE.
11
Chyba vytvoření certifikátu
Ověřte argumenty příkazového řádku použité k vytvoření podpisů.
12
Neplatné zadání
Ověřte cesty souborů a další argumenty předané programu ADT na příkazovém řádku.
13
Chybí sada SDK zařízení
Zkontrolujte konfiguraci sady SDK zařízení. Nástroj ADT nemůže najít sadu SDK zařízení potřebnou pro provedení zadaného příkazu.
14
Chyba zařízení
Nástroj ADT nemůže provést příkaz z důvodu omezení nebo problému u zařízení. Tento kód ukončení je například odeslán při pokusu o odinstalaci aplikace, která není ve skutečnosti nainstalována.
Poslední aktualizace 19.11.2013
184
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR AIR Developer Tool (ADT)
Kódy ukončení
Popis
Poznámky
15
Žádná zařízení
Ověřte, zda je zařízení připojeno a zapnuto, nebo že je spuštěn emulátor.
16
Chybějící komponenty GPL
Aktuální sada AIR SDK nezahrnuje všechny komponenty potřebné k provedení požadované operace.
17
Nástroj balení zařízení vygenerovat chybu.
Balíček nelze vytvořit, protože očekávané komponenty operačního systému nebyly nalezeny.
Chyby systému Android Kódy ukončení
Popis
Poznámky
400
Aktuální verze sady SDK systému Android Zkontrolujte, zda je název atributu zadán nepodporuje atribut. správně a zda se jedná o platný atribut pro element, ve kterém se vyskytuje. Může být nutné nastavit příznak -platformsdk v příkazu nástroje ADT, pokud byl atribut zaveden po verzi Android 2.2.
401
Aktuální verze sady SDK systému Android Zkontrolujte, zda je správně zadána nepodporuje hodnotu atributu. hodnota atributu a zda je platná pro atribut. Může být nutné nastavit příznak platformsdk v příkazu nástroje ADT, pokud byla hodnota atributu zavedena po verzi Android 2.2.
402
Aktuální verze sady SDK systému Android Zkontrolujte, zda je název tagu XML zadán nepodporuje tag XML. správně a zda se jedná o platný element dokumentu manifestu systému Android. Může být nutné nastavit příznak platformsdk v příkazu nástroje ADT, pokud byl element zaveden po verzi Android 2.2.
403
Přepsání tagu systému Android není povoleno.
Aplikace se pokouší o přepsání elementu manifestu systému Android, který je vyhrazen pro použití aplikacemi AIR. Viz téma „Nastavení systému Android“ na stránce 73.
404
Přepsání atributu systému Android není povoleno.
Aplikace se pokouší o přepsání atributu manifestu systému Android, který je vyhrazen pro použití aplikacemi AIR. Viz téma „Nastavení systému Android“ na stránce 73.
405
Tag %1 systému Android musí být první element v tagu manifestAdditions.
Přesuňte zadaný tag do požadovaného umístění.
406
Atribut % 1 tagu %2 systému Android má neplatnou hodnotu % 3.
Zadejte platnou hodnotu pro atribut.
Proměnné prostředí nástroje ADT Nástroj ADT načítá hodnoty proměnných prostředí (pokud jsou nastaveny):
Poslední aktualizace 19.11.2013
185
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR AIR Developer Tool (ADT)
AIR_ANDROID_SDK_HOME Určuje cestu ke kořenovému adresáři sady Android SDK (adresář obsahující složku nástrojů). Sada AIR 2.6+ SDK obsahuje nástroje ze sady Android SDK potřebné k implementaci příslušných příkazů ADT. Tuto hodnotu nastavte pouze v případě, že chcete použít jinou verzi sady Android SDK. Pokud je tato proměnná nastavena, není nutné zadávat příkaz -platformsdk při spouštění příkazů nástroje ADT, které ji vyžadují. Pokud je nastavena tato proměnná i možnost příkazového řádku, bude použita cesta zadaná na příkazovém řádku. Proměnná prostředí AIR_EXTENSION_PATHurčuje cestu pro hledání nativních rozšíření, která jsou vyžadována pro aplikaci. Tento seznam adresářů bude prohledán za účelem nalezení jakýchkoli adresářů nativního rozšíření zadaných na příkazovém řádku nástroje ADT. Příkaz nástroje ADL také používá tuto proměnnou prostředí. Poznámka: V některých počítačových systémech mohou být chybně interpretovány dvoubajtové znaky v systémových cestách k souborům uložených v těchto proměnných prostředí. V takovém případě zkuste nastavit běhové prostředí Java použité ke spuštění nástroje ADT na znakovou sadu UTF-8. Ve výchozím nastavení to provedete ve skriptu použitém ke spuštění nástroje ADT v systémech Mac a Linux. V souboru adt.bat systému Windows nebo při spuštění nástroje ADT přímo z jazyka Java zadejte možnost -Dfile.encoding=UTF-8 na příkazovém řádku jazyka Java.
Poslední aktualizace 19.11.2013
186
Kapitola 13: Podepisování aplikací AIR Digitální podepisování souboru AIR Digitální podpis vašich instalačních souborů AIR s certifikátem vydaným uznávanou certifikační autoritou (CA) poskytuje vašim uživatelům významnou záruku, že aplikace, kterou instalují, nebyla náhodně nebo úmyslně upravena a identifikuje vás jako autora podpisu (vydavatele). AIR zobrazí název vydavatele během instalace, pokud byla aplikace AIR podepsána s certifikátem, který je důvěryhodný, nebo který provede propojení na důvěryhodný certifikát v počítači instalace:
Dialog potvrzení instalace pro aplikaci, která je podepsána důvěryhodným certifikátem
Pokud podepíšete aplikaci pomocí certifikátu podepsaného svým držitelem (nebo certifikátu, který není spojen s důvěryhodným certifikátem), uživatel musí při instalaci vaší aplikace podstoupit větší bezpečnostní riziko. V dialozích instalace bude toto riziko uvedeno:
Dialog potvrzení instalace pro aplikaci, která je podepsána certifikátem podepsaným svým držitelem
Důležité: Podvodné entity by mohly falsifikovat soubor AIR s vaší totožností, jestliže nějakým způsobem získají váš soubor úložiště klíčů podpisu nebo zjistí váš osobní klíč.
Poslední aktualizace 19.11.2013
187
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Podepisování aplikací AIR
Certifikáty podpisu kódu Záruky zabezpečení, omezení a právní závazky týkající se použití certifikátů podpisu kódu jsou uvedeny v Prohlášení o postupech certifikátu (Certificate Practice Statements - CPS) a v ujednáních odběratele zveřejněných vydávající certifikační autoritou. Více informací o ujednáních pro certifikační autority, které aktuálně vydávají certifikáty pro podpis kódu aplikace AIR, naleznete na níže uvedených odkazech: ChosenSecurity (http://www.chosensecurity.com/products/tc_publisher_id_adobe_air.htm) CPS ChosenSecurity (http://www.chosensecurity.com/resource_center/repository.htm) GlobalSign (http://www.globalsign.com/code-signing/index.html) GlobalSign CPS (http://www.globalsign.com/repository/index.htm) Thawte CPS (http://www.thawte.com/cps/index.html) VeriSign CPS (http://www.verisign.com/repository/CPS/) Smlouva předplatitele společnosti VeriSign (https://www.verisign.com/repository/subscriber/SUBAGR.html)
O podepisování kódu AIR Když je soubor AIR podepsán, je digitální podpis zahrnut v instalačním souboru. Podpis zahrnuje souhrn balíku, který je použit pro ověření, že soubor AIR nebyl od podepsání upraven a zahrnuje informace o certifikátu podpisu, který je použit pro ověření totožnosti vydavatele. AIR používá infrastrukturu veřejného klíče (PKI) podporovanou pomocí certifikátu operačního systému uloženého pro určení důvěryhodnosti certifikátu. Pro ověření informace vydavatele musí počítač, na kterém je aplikace AIR nainstalována, buď přímo důvěřovat certifikátu použitému pro podepsání aplikace AIR, nebo musí důvěřovat řetězci certifikátů propojujícímu certifikát s důvěryhodnou certifikační autoritou. Jestliže je soubor AIR podepsán s certifikátem, který neprovede propojení k jednomu z důvěryhodných kořenových certifikátů (a toto běžně zahrnuje všechny certifikáty s vlastním podpisem), nelze informace vydavatele ověřit. Zatímco AIR může určit, že balík AIR nebyl od jeho podepsání změněn, neexistuje způsob pro zjištění, kdo daný soubor vlastně vytvořil a podepsal. Poznámka: Uživatel si může zvolit důvěřovat certifikátu s vlastním podpisem a libovolná aplikace AIR podepsaná s certifikátem poté zobrazí hodnotu pole společného názvu v daném certifikátu jako název vydavatele. AIR neposkytuje uživatelům žádné prostředky k označení certifikátu jako důvěryhodného. Certifikát (neobsahující osobní klíč) musí být poskytnut uživateli samostatně a uživatel musí k importu certifikátu do příslušného umístění v systémovém úložišti certifikátu použít jeden z mechanismů poskytnutých operačním systémem nebo příslušným nástrojem.
O identifikátorech vydavatele AIR Důležité: Od verze prostředí AIR 1.5.3 se ID vydavatele nepoužívá a není již vypočítáno na základě certifikátu pro podpis kódu. Nové aplikace nemusí a ani by neměly používat ID vydavatele. Při aktualizaci stávajících aplikací je nutné zadat do souboru deskriptoru aplikace původní ID vydavatele. Před vydáním verze prostředí AIR 1.5.3 generoval ID vydavatele instalační program aplikace AIR během instalace souboru AIR. Jednalo se o identifikátor, který byl jedinečný pro certifikát použitý k podpisu souboru AIR. Pokud jste znovu použili stejný certifikát pro více aplikací AIR, tyto aplikace získaly stejné ID vydavatele. Podpis aktualizace aplikace jiným certifikátem a v některých případech dokonce i obnovenou instancí původního certifikátu změnil ID vydavatele.
Poslední aktualizace 19.11.2013
188
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Podepisování aplikací AIR
Ve verzi prostředí AIR 1.5.3 a starších není ID vydavatele přiřazováno prostředím AIR. Aplikace publikovaná prostředím AIR 1.5.3 může mít řetězec ID vydavatele uveden v deskriptoru aplikace. ID vydavatele je nutné určit pouze při publikování aktualizací pro aplikace původně publikované pro verze prostředí AIR starší než verze 1.5.3. Pokud nezadáte původní ID do deskriptoru aplikace, nový balík AIR nebude považován za aktualizaci stávající aplikace. Chcete-li zjistit původní ID vydavatele, vyhledejte soubor publisherid v podadresáři META-INF/AIR, kde je nainstalována původní aplikace. Řetězec uvnitř tohoto souboru je ID vydavatele. Deskriptor vaší aplikace musí určovat běhový modul AIR 1.5.3 (nebo novější) v deklaraci jmenného prostoru deskriptoru aplikace, aby bylo možné zadat ID vydavatele ručně. ID vydavatele, pokud je přítomno, slouží k těmto účelům:
• Jako součást šifrovacího klíče pro šifrované místní úložiště • Jako součást cesty pro adresář úložiště aplikace • Jako součást připojovacího řetězce pro místní připojení • Jako součást řetězce identity používaného k vyvolání aplikace pomocí rozhraní API v prohlížeči prostředí AIR • Jako součást specifikace OSID (používané při vytváření vlastních instalačních a odinstalačních programů) Když se změní ID vydavatele, změní se i chování veškerých funkcí prostředí AIR, které na tomto ID závisí. Například data ve stávajícím zašifrovaném úložišti již nejsou přístupná a veškeré instance prostředí Flash nebo AIR, které vytvářejí místní připojení k aplikaci, musí v připojovacím řetězci používat nové ID. V prostředí AIR 1.5.3 nebo novějším nelze změnit ID vydavatele nainstalované aplikace. Pokud při publikování balíku AIR použijete jiné ID vydavatele, instalátor nebude s novým balíčkem pracovat jako s aktualizací, ale jako s jinou aplikací.
O formátech certifikátu Podpisové nástroje AIR přijímají jakékoliv úložiště klíčů přístupné pomocí funkce Java Cryptography Architecture (JCA). Mezi ně patří úložiště klíčů vycházející ze souborů, například soubory s formátem PKCS12 (které obvykle používají koncovku souboru .pfx nebo .p12), soubory jazyka Java .keystore, úložiště klíčů hardware PKCS11 a systémová úložiště klíčů. Formáty úložiště klíčů, ke kterým může program ADT získat přístup, závisí na verzi a konfiguraci runtime jazyka Java použitého ke spuštění programu ADT. Přístup k některým typům úložišť klíčů, například k známkám hardware PKCS11, může vyžadovat instalaci a konfiguraci dalších ovladačů software a modulů JCA. K podepsání souborů AIR můžete použít stávající certifikát podpisu kódu nebo můžete získat nový certifikát vydaný výlučně za účelem podpisu aplikací AIR. Lze použít například libovolný z následujících typů certifikátů od společností VeriSign, Thawte, GlobalSign nebo ChosenSecurity:
• ChosenSecurity • Služba TC Publisher ID for Adobe AIR • GlobalSign • Služba ObjectSign Code Signing Certificate • Thawte: • AIR Developer Certificate • Apple Developer Certificate • JavaSoft Developer Certificate • Microsoft Authenticode Certificate
Poslední aktualizace 19.11.2013
189
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Podepisování aplikací AIR
• VeriSign: • Digitální identifikátor Adobe AIR • Microsoft Authenticode Digital ID • Sun Java Signing Digital ID Poznámka: Certifikát musí být vytvořen pro podpis kódu. K podpisu souborů AIR nelze použít certifikát SSL nebo jiný typ certifikátů.
Časové známky Když podepíšete soubor AIR, nástroj balení pošle serveru dotaz ohledně autority časové známky pro získání nezávisle ověřitelného data a času podpisu. Získaná časová známka je vložena do souboru AIR. Pokud je certifikát podpisu platný v době podpisu, lze soubor AIR nainstalovat, i po vypršení certifikátu. Pokud ale není obdržena žádná časová známka, soubor AIR již nelze nainstalovat, pokud certifikát vyprší nebo je zrušen. Nástroje balení AIR implicitně získají časovou známku. Pokud ale chcete povolit zabalení aplikace, když je služba časových známek nedostupná, můžete získávání časových známek vypnout. Společnost Adobe doporučuje, aby všechny veřejně distribuované soubory AIR obsahovaly časovou známku. Výchozí autorita časových známek používaná nástroji balení AIR je Geotrust.
Získání certifikátu Pro získání certifikátu navštivte webové stránky certifikační autority a projděte procesem zprostředkování dané společnosti. Nástroje použité k vytvoření souboru úložiště klíčů potřebného nástroji AIR závisí na typu zakoupeného certifikátu, způsobu uložení certifikátu na počítači příjemce a někdy také na prohlížeči použitém k získání certifikátu. Chcete-li například získat a exportovat certifikát Adobe Developer od společnosti Thawte, musíte použít prohlížeč Mozilla Firefox. Certifikát lze poté exportovat jako soubor .p12 nebo .pfx přímo z uživatelského rozhraní prohlížeče Firefox. Poznámka: Jazyk Java verze 1.5 a vyšší nepřijímá hesla obsahující znaky high-ASCII pro ochranu souborů certifikátů PKCS12. Vývojářské nástroje prostředí AIR používají k vytváření podepsaných balíků AIR jazyk Java. Když exportujete certifikát jako soubor .p12 nebo .pfx, používejte jako heslo pouze běžné znaky ASCII. Certifikát s vlastním podpisem můžete vygenerovat pomocí programu Air Development Tool (ADT) používaného k balení instalačních souborů AIR. Lze také použít některé nástroje třetích stran. Pokyny pro vygenerování certifikátu s vlastním podpisem i pokyny pro podepsání souboru AIR naleznete v tématu „AIR Developer Tool (ADT)“ na stránce 162. Soubory AIR lze rovněž vyexportovat a podepsat pomocí aplikací Flex Builder, Dreamweaver a aktualizace AIR pro nástroj Flash. Následující příklad popisuje způsob získání certifikátu vývojáře AIR od certifikační autority Thawte a přípravu tohoto certifikátu pro jeho použití s programem ADT.
Příklad: Získání certifikátu vývojáře AIR od autority Thawte Poznámka: Tento příklad ukazuje pouze jeden z mnoha způsobů získání a přípravy certifikátu podpisu kódu, který můžete použít. Každá certifikační autorita má vlastní zásady a postupy. Pro zakoupení certifikátu vývojáře AIR server autority Thawte vyžaduje použití prohlížeče Mozilla Firefox. Osobní klíč pro certifikát je uložen v úložišti klíčů prohlížeče. Ujistěte se, zda je úložiště klíčů Firefox zajištěno pomocí hlavního hesla, a že je samotný počítač fyzicky zabezpečen. (Jakmile je proces zprostředkování dokončen, můžete certifikát a osobní klíč z úložiště klíčů prohlížeče exportovat a odstranit.)
Poslední aktualizace 19.11.2013
190
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Podepisování aplikací AIR
Jako součást procesu přihlášení certifikátu je vygenerována dvojice osobního a veřejného klíče. Osobní klíč je automaticky uložen v úložišti klíčů aplikace Firefox. Pro vyžádání i načtení certifikátu ze serveru autority Thawte musíte použít stejný počítač a stejný prohlížeč. 1 Navštivte server autority Thawte a přejděte na Stránka produktů pro certifikáty podpisu kódu. 2 Ze seznamu certifikátů podpisu kódu vyberte Adobe AIR Developer Certificate. 3 Absolvujte proces přihlášení zahrnující dva kroky. Je třeba poskytnout informace o organizaci a vaše kontaktní
údaje. Thawte poté provede proces ověření identity a může požádat o dodatečné informace. Po dokončení ověření vám autorita Thawte odešle e-mail s pokyny, jak načíst certifikát. Poznámka: Dodatečné informace o typu vyžadované dokumentace lze nalézt zde: https://www.thawte.com/ssldigital-certificates/free-guides-whitepapers/pdf/enroll_codesign_eng.pdf. 4 Načtěte vydaný certifikát ze serveru Thawte. Certifikát je automaticky uložen do úložiště klíčů aplikace Firefox. 5 Exportujte soubor úložiště klíčů obsahující osobní klíč a certifikát z úložiště klíčů Firefox pomocí následujících
kroků: Poznámka: Při exportu osobního klíče a certifikátu z aplikace Firefox je export proveden ve formátu .p12 (pfx), který může být použit programy ADT, Flex, Flash a Dreamweaver. a Otevřete dialogové okno aplikace Firefox Správce certifikátu: b V systému Windows: Otevřete položky Nástroje -> Možnosti -> Rozšířené -> Šifrování -> Certifikáty. c V systému Mac OS: Otevřete aplikaci Firefox -> Preference -> Rozšířené -> Šifrování -> Zobrazit certifikáty d V systému Linux: Otevřete položky Nástroje -> Možnosti -> Rozšířené -> Šifrování -> Certifikáty. e Ze seznamu certifikátů vyberte Adobe AIR Code Signing Certificate a klepněte na tlačítko Záloha. f
Zadejte název souboru a umístění, kam chcete soubor úložiště klíčů exportovat. Poté klepněte na možnost Uložit.
g Jestliže používáte hlavní heslo Firefox, budete požádání o zadání svého hesla pro zařízení k zabezpečení
software, abyste mohli soubor exportovat. (Toto heslo je použito pouze aplikací Firefox.) h V dialogovém okně Výběr hesla pro zálohování certifikátu vytvořte heslo pro soubor úložiště klíčů.
Důležité: Toto heslo chrání soubor úložiště klíčů a je vyžadováno, je-li soubor použit pro podpis aplikací AIR. Měli byste zvolit bezpečné heslo. i
Klikněte na tlačítko OK. Měli byste obdržet zprávu o úspěšném provedení zálohy hesla. Soubor úložiště klíčů obsahující osobní klíč a certifikát je uložen s příponou .p12 (ve formátu PKCS12)
6 Exportovaný soubor úložiště klíčů použijte s programy ADT, Flex Builder, Flash nebo Dreamweaver. Heslo
vytvořené pro tento soubor je vyžadováno při každém podpisu aplikace AIR. Důležité: Osobní klíč a certifikát jsou stále uloženy v úložišti klíčů aplikace Firefox. To vám nejen umožňuje exportovat další kopii souboru certifikátu, ale jedná se také o další bod přístupu, který musí být chráněn, aby bylo zajištěno zabezpečení vašeho certifikátu a osobního klíče.
Změna certifikátů V některých situacích je nutné změnit certifikát, který používáte k podepsání aktualizací pro vaši aplikaci AIR. Mezi takové okolnosti patří:
• Obnovení původního podpisového certifikátu. • Aktualizace z certifikátu s vlastním podpisem na certifikát vydaný certifikační autoritou.
Poslední aktualizace 19.11.2013
191
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Podepisování aplikací AIR
• Změna z certifikátu s vlastním podpisem, který za chvíli vyprší, na jiný • Změna z jednoho komerčního certifikátu na jiný, například při změně identity vaší společnosti. Aby prostředí AIR rozpoznalo soubor AIR jako aktualizaci, je nutné buďto podepsat původní i aktualizační soubor AIR stejným certifikátem, nebo použít na aktualizaci podpis přesunu certifikátu. Podpis přesunu je druhý podpis použitý na aktualizační balík AIR pomocí původního certifikátu. Podpis přesunu používá původní certifikát k potvrzení, že podepsaný je původní vydavatel aplikace. Po instalaci souboru AIR s podpisem přesunu se nový certifikát stane primárním certifikátem. Následující aktualizace podpis přesunu nevyžadují. Podpisy přesunu je však třeba používat co nejdéle, čímž vyjdete vstříc uživatelům, kteří vynechávají aktualizace. Důležité: Je nutné změnit certifikát a použít podpis migrace u aktualizace s původním certifikátem před jeho vypršením. Uživatelé jinak budou muset před instalací nové verze odinstalovat stávající verzi aplikace. V prostředí AIR 5.3.365 nebo novějším můžete používat podpis přesunu pomocí certifikátu s prošlou platností během lhůty odkladu 365 dní od vypršení platnosti. Certifikát s prošlou platností však nelze použít k uplatnění podpisu hlavní aplikace. Chcete-li změnit certifikáty: 1 Vytvořte aktualizaci své aplikace 2 Zabalte a podepište aktualizovaný soubor AIR pomocí certifikátu nový 3 Znovu podepište soubor AIR pomocí certifikátu původní (pomocí příkazu programu ADT -migrate)
Soubor AIR s podpisem přesunu je v jiných ohledech běžným souborem AIR. Jestliže je aplikace v systému nainstalována bez původní verze, AIR nainstaluje novou verzi obvyklým způsobem. Poznámka: Před vydáním verze prostředí AIR 1.5.3 podpis aplikace AIR obnoveným certifikátem ne vždy vyžadoval podpis přesunu. Počínaje prostředím AIR verze 1.5.3 je pro obnovené certifikáty vždy vyžadován podpis přesunu. Podpis přesunu lze použít pomocí „Příkaz migrate nástroje ADT“ na stránce 170, jak je uvedeno v části „Podepisování aktualizované verze aplikace AIR“ na stránce 196. Poznámka: Příkaz migrate nástroje ADT nelze použít u aplikací AIR pro stolní počítače, které zahrnují nativní rozšíření, protože tyto aplikace jsou zabaleny jako nativní instalátory a nikoli jako soubory s příponou AIR. Chcete-li změnit certifikáty pro aplikaci AIR pro stolní počítače, která zahrnuje nativní rozšíření, zabalte aplikaci pomocí „Příkaz package nástroje ADT“ na stránce 163 s příznakem -migrate. Změny identity aplikace Před vydáním verze prostředí AIR 1.5.3 se identita aplikace AIR změnila po instalaci aktualizace podepsané podpisem přesunu. Změna identity aplikace má mimo jiné tyto důsledky:
• Nová verze aplikace nemůže získat přístup k datům ve stávajícím kódovaném lokálním úložišti. • Umístění adresáře ukládání aplikace se změní. Data ve starém umístění nejsou zkopírována do nového adresáře. (Nicméně nová aplikace může najít původní adresář na základě starého ID vydavatele).
• Aplikace již nemůže otevřít místní připojení pomocí starého ID vydavatele. • Řetězec identity použitý pro přístup k aplikaci z webové stránky se změní. • Změní se specifikace OSID aplikace. (Specifikace OSID se používá při psaní vlastních instalačních a odinstalačních programů.) Při publikování aktualizace pomocí prostředí AIR 1.5.3 nebo novějšího se nemůže změnit identita aplikace. ID původní aplikace a vydavatele musí být uvedeno v deskriptoru aplikace aktualizačního souboru AIR. Jinak nebude nový balík rozpoznán jako aktualizace.
Poslední aktualizace 19.11.2013
192
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Podepisování aplikací AIR
Poznámka: Při publikování nové aplikace AIR pomocí prostředí AIR verze 1.5.3 a novějších nesmí být určeno ID vydavatele.
Terminologie Tato část poskytuje slovníček některých klíčových pojmů, kterým byste měli rozumět při rozhodování o způsobu podepsání své aplikace pro veřejnou distribuci. Pojem
Popis
Certifikační autorita (CA)
Objekt v síti infrastruktury veřejných klíčů, který slouží jako důvěryhodná třetí strana a certifikuje totožnost vlastníka veřejného klíče. CA obvykle vydává digitální certifikáty podepsané jejím vlastním osobním klíčem a označuje tak, že ověřila totožnost držitele certifikátu.
Prohlášení o postupech certifikátu (Certificate Practice Statement - CPS)
Stanovuje postupy a zásady certifikační autority při vydávání a ověřování certifikátů. CPS je součástí smlouvy mezi CA a jejími odběrateli a souvisejícími stranami. Udává také postupy pro ověření totožnosti a úroveň zaručení nabízenou certifikátem, který autorita poskytuje.
Seznam zrušených certifikátů (Certificate Revocation List - CRL)
Seznam vydaných certifikátů, které byly zrušeny a nelze již na ně spoléhat. AIR zkontroluje CRL při podpisu aplikace AIR a dále při instalaci aplikace, jestliže není přítomna žádná časová známka.
Řetězec certifikátu
Řetězec certifikátu je sekvence certifikátů, kde je každý certifikát v řetězci podepsán dalším certifikátem.
Digitální certifikát
Digitální dokument obsahující informace o totožnosti majitele, veřejném klíči majitele a totožnosti certifikátu jako takového. Certifikát vydaný certifikační autoritou je podepsán certifikátem patřícím vydávající CA.
Digitální podpis
Kódovaná zpráva nebo souhrn, který lze dekódovat pouze pomocí veřejného klíče, poloviny dvojice veřejného a osobního klíče. V infrastruktuře veřejného klíče obsahuje digitální podpis jeden nebo více digitálních certifikátů, které lze dosledovat k certifikační autoritě. Digitální podpis lze použít k ověření, zda zpráva (nebo soubor počítače) nebyla od podpisu pozměněna (v rámci omezení zajištění poskytovaného použitým kryptografickým algoritmem) a, za předpokladu, že důvěřujete vydávající certifikační autoritě, k ověření totožnosti autora podpisu.
Úložiště klíčů
Databáze obsahující digitální certifikáty a v některých případech související osobní klíče.
Java Cryptography Architecture (JCA)
Rozšířitelná architektura pro správu a získání přístupu k úložištím klíčům. Více informací naleznete v Referenční příručka Java Cryptography Architecture.
PKCS #11
Standard rozhraní kryptografické známky od RSA Laboratories. Úložiště klíčů založené na známce hardware.
PKCS #12
Standard syntaxe pro výměnu osobních informací od RSA Laboratories. Úložiště klíčů vycházející ze souboru obvykle obsahující osobní klíč a jeho asociovaný digitální certifikát.
Osobní klíč
Osobní polovina z dvoudílného asymetrického kryptografického systému veřejného a osobního klíče. Osobní klíč je nutné uchovat v tajnosti a nikdy jej nepřenášet sítí. Digitálně podepsané zprávy jsou kódovány pomocí osobního klíče autorem podpisu.
Veřejný klíč
Veřejná polovina z dvoudílného asymetrického kryptografického systému veřejného a osobního klíče. Veřejný klíč je volně dostupný a používá se k dekódování zpráv kódovaných pomocí osobního klíče.
Poslední aktualizace 19.11.2013
193
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Podepisování aplikací AIR
Systém důvěry, kde certifikační autority ověřují totožnost majitelů veřejných klíčů. Klienti sítě se spoléhají na digitální certifikáty vydané důvěryhodnou CA pro ověření totožnosti autora podpisu digitální zprávy (nebo souboru).
Časová známka
Digitálně podepsaný údaj obsahující datum a čas, kdy došlo k události. ADT může do balíku AIR zahrnout časovou známku z časového serveru podléhajícího RFC 3161. Je-li časová známka k dispozici, použije ji AIR pro stanovení platnosti certifikátu v době podpisu. To umožňuje instalaci aplikace AIR po vypršení jejího certifikátu podpisu.
Autorita časové známky
Autorita, která vydává časové známky. Pro to, aby byla časová známka programem AIR rozpoznána, musí se shodovat s normou RFC 3161 a podpis časové známky musí provést zřetězení k důvěryhodnému kořenovému certifikátu v počítači instalace.
Certifikáty iOS Podpisové certifikáty kódu vydané společností Apple slouží k podepisování aplikací iOS, včetně aplikací vyvinutých v prostředí Adobe AIR. Použití podpisu pomocí vývojového certifikátu společnosti Apple je nutné k instalaci aplikace do zkušebních zařízení. Použití podpisu pomocí distribučního certifikátu je vyžadováno pro distribuci dokončených aplikací. K podpisu aplikace vyžaduje program ADT přístup k oběma certifikátům podpisu kódu a k přidruženému soukromému klíči. Soubor certifikátu sám neobsahuje soukromý klíč. Je třeba vytvořit úložiště klíčů ve formátu souboru pro výměnu osobních informací (soubor s příponou P12 nebo PFX), který obsahuje certifikát i soukromý klíč. Další informace naleznete v tématu „Převod certifikátu pro vývojáře do souboru úložiště klíčů P12“ na stránce 194.
Vytvoření podpisové žádosti certifikátu Chcete-li získat certifikát pro vývojáře, vytvořte soubor podpisové žádosti certifikátu, který odešlete na web Apple iOS Provisioning Portal. Proces podpisové žádosti certifikátu generuje dvojici veřejného a soukromého klíče. Soukromý klíč zůstane v počítači. Podpisovou žádost obsahující veřejný klíč a vaše identifikační údaje odešlete společnosti Apple, která zastává roli certifikační autority. Společnost Apple podepíše certifikát vlastním certifikátem World Wide Developer Relations. Vytvoření podpisové žádosti certifikátu v systému Mac OS V systému Mac OS můžete k vytvoření podpisové žádostí kódu použít aplikaci Keychain Access. Aplikace Keychain Access se nachází v podadresáři Utilities (Nástroje) adresáře Applications (Aplikace). Pokyny pro vytvoření podpisové žádosti certifikátu jsou k dispozici na webu Apple iOS Provisioning Portal. Vytvoření podpisové žádosti certifikátu v systému Windows Pro vývojáře pro systém Windows může být jednodušší získat certifikát vývojáře pro zařízení iPhone v počítači Macintosh. Získat certifikát je však možné i v počítači se systémem Windows. Nejdříve je třeba pomocí softwaru OpenSSL vytvořit podpisovou žádost certifikátu (soubor CSR): 1 Instalace softwaru OpenSSL v počítači se systémem Windows: (Přejděte na adresu
http://www.openssl.org/related/binaries.html.) Je možné, že bude také třeba nainstalovat redistribuční soubory programu Visual C++ 2008 uvedené na stránce stažení softwaru Open SSL. (Nepotřebujete instalovat program Visual C++ do počítače.) 2 Otevřete příkazovou relaci systému Windows a pomocí příkazového řádku přejděte do složky bin softwaru
OpenSSL (jako je například složka c:\OpenSSL\bin\). 3 Vytvořte soukromý klíč. Zadejte na příkazový řádek následující příkaz:
Poslední aktualizace 19.11.2013
194
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Podepisování aplikací AIR
openssl genrsa -out mykey.key 2048
Uložte soubor s tímto soukromým klíčem. Použijete jej později. Při používání softwaru OpenSSL neignorujte chybové zprávy. I když software OpenSSL vygeneruje chybovou zprávu, může stále poskytovat soubory. Tyto soubory však nemusejí být použitelné. Pokud zjistíte chyby, zkontrolujte syntaxi a spusťte příkaz znovu. 4 Vytvořte soubor CSR. Zadejte na příkazový řádek následující příkaz: openssl req -new -key mykey.key -out CertificateSigningRequest.certSigningRequest "/[email protected], CN=John Doe, C=US"
-subj
Nahraďte hodnoty e-mailové adresy, CN (název certifikátu) a C (země) vlastními informacemi. 5 Odešlete soubor CSR společnosti Apple na web pro vývojáře pro zařízení iPhone. (Viz část „Použití certifikátu
vývojáře pro zařízení iPhone a vytvoření prováděcího profilu“.)
Převod certifikátu pro vývojáře do souboru úložiště klíčů P12 Chcete-li vytvořit úložiště klíčů P12, je nutné zkombinovat certifikát pro vývojáře společnosti Apple a přidružený soukromý klíč do jednoho souboru. Proces vytváření souboru úložiště klíčů závisí na metodě použité ke generování původní podpisové žádosti certifikátu a umístění úložiště soukromého klíče certifikátu. Převod certifikátu vývojáře pro zařízení iPhone na soubor P12 v systému Mac OS Po stažení certifikátu zařízení Apple iPhone od společnosti Apple certifikát jej exportujte do formátu úložiště klíčů P12. Postup v systému Mac® OS: 1 Otevřete aplikaci Keychain Access (ve složce Applications/Utilities (Aplikace/Nástroje)). 2 Pokud jste do aplikace Keychain dosud nepřidali certifikát, zvolte položku File (Soubor) > Import. Poté přejděte k
souboru certifikátu (soubor .cer) získaného od společnosti Apple. 3 V aplikaci Keychain Access vyberte kategorii Keys (Klíče). 4 Vyberte soukromý klíč přiřazený vašemu vývojovému certifikátu pro zařízení iPhone.
Soukromý klíč je označen na základě veřejného certifikátu iPhone Developer: <Jméno>
, s nímž je spárován. 5 Klikněte na certifikát pro vývojáře iPhone a vyberte možnost Exportovat „iPhone Developer: název...“. 6 Úložiště klíčů uložte do formátu souborů pro výměnu osobních informací (.p12). 7 Zobrazí se výzva k vytvoření hesla, které se používá při použití úložiště klíčů k podpisu aplikace nebo k převodu
klíče a certifikátu v tomto úložišti klíčů do jiného úložiště klíčů. Převod certifikátu vývojáře od společnosti Apple do souboru P12 v systému Windows Chcete-li vyvíjet aplikace AIR pro aplikace iOS, je nutné použít soubor certifikátu P12. Tento certifikát vytvoříte na základě souboru certifikátu vývojáře pro zařízení Apple iPhone získaného od společnosti Apple. 1 Převeďte soubor certifikátu vývojáře od společnosti Apple na soubor certifikátu PEM. Spusťte ze složky bin
softwaru OpenSSL následující příkaz příkazového řádku: openssl x509 -in developer_identity.cer -inform DER -out developer_identity.pem -outform PEM
2 Pokud používáte soukromý klíč z řetězce klíčů v počítači Macintosh, převeďte tento klíč na klíč PEM: openssl pkcs12 -nocerts -in mykey.p12 -out mykey.pem
3 Na základě tohoto klíče a verze PEM certifikátu vývojáře pro zařízení iPhone můžete nyní vygenerovat platný
soubor P12:
Poslední aktualizace 19.11.2013
195
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Podepisování aplikací AIR
Pokud používáte klíč z řetězce klíčů systémů MacOS, použijte verzi PEM, kterou jste vygenerovali v předchozím kroku. V opačném případě použijte dříve vygenerovaný klíč OpenSSL (v systému Windows).
Vytvoření nepodepsaného přechodného souboru AIR pomocí programu ADT K vytvoření nepodepsaného přechodného souboru AIR použijte příkaz -prepare. Přechodný soubor AIR musí být podepsán použitím příkazu programu ADT -sign pro vytvoření platného instalačního souboru AIR. Příkaz -prepare přebírá stejné příznaky a parametry jako příkaz -package (s výjimkou možností podpisu). Jediným rozdílem je to, že výstupní soubor není podepsaný. Přechodný soubor je vygenerován s příponou názvu souboru: airi. Pro podpis přechodného souboru AIR použijte příkaz programu ADT -sign. (Viz „Příkaz prepare nástroje ADT“ na stránce 169.) Ukázka příkazu ADT -prepare adt -prepare unsignedMyApp.airi myApp.xml myApp.swf components.swc
Podpis přechodného souboru AIR pomocí programu ADT Pro podpis přechodného souboru AIR pomocí programu ADT použijte příkaz -sign. Příkaz podpisu je funkční pouze u přechodných souborů AIR (přípona airi). Soubor AIR nelze podepsat podruhé. Pro podpis přechodného souboru AIR použijte příkaz programu ADT -prepare. (Viz „Příkaz prepare nástroje ADT“ na stránce 169.) Podpis souboru AIRI ❖ Použijte příkaz ADT -sign s následující syntaxí: adt -sign SIGNING_OPTIONS airi_file air_file
SIGNING_OPTIONS Možnosti podpisu určují osobní klíč a certifikát použitý k podepsání souboru AIR. Tyto možnosti podpisu jsou popsány v tématu „Možnosti podpisu kódu nástroje ADT“ na stránce 176. airi_file Cesta k nepodepsanému přechodnému souboru AIR, který musí být podepsán. air_file Název souboru AIR, který má být vytvořen. Ukázka příkazu ADT -sign adt -sign -storetype pkcs12 -keystore cert.p12 unsignedMyApp.airi myApp.air
Další informace naleznete v tématu „Příkaz sign nástroje ADT“ na stránce 169.
Poslední aktualizace 19.11.2013
196
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Podepisování aplikací AIR
Podepisování aktualizované verze aplikace AIR Pokaždé, když vytvoříte aktualizovanou verzi existující aplikace AIR, podepíšete aktualizovanou aplikaci. V nejlepším případě můžete k podpisu aktualizované verze použít stejný certifikát, který jste použili k podpisu předchozí verze. Pak je podepisování naprosto stejné, jako když aplikaci podepisujete poprvé. Pokud certifikátu použitému k podpisu předchozí verze aplikace vypršela platnost a byl obnoven nebo nahrazen, můžete k podpisu aktualizované verze použít obnovený nebo nový (náhradní) certifikát. Provedete to tak, že aplikaci podepíšete novým certifikátem a podpis přesunu použijete pomocí původního certifikátu. Podpis migrace ověří, že původní vlastník certifikátu publikoval aktualizaci. Před použitím podpisu migrace zvažte následující body:
• Aby bylo možné použít podpis migrace, musí být původní certifikát dosud platný, nebo jeho platnost musela vypršet během posledních 365 dnů. Toto období je označováno jako období odkladu a jeho doba trvání se v budoucnu může změnit. Poznámka: Období odkladu bylo do vydání verze aplikace AIR 2.6 180 dní.
• Podpis migrace nelze použít po vypršení platnosti certifikátu a uplynutí lhůty 365 dnů. V takovém případě musí uživatelé před instalací aktualizované verze odinstalovat stávající verzi.
• Období odkladu trvající 365 dní se vztahuje pouze na aplikace, které ve jmenném prostoru deskriptoru aplikace uvádějí verzi prostředí AIR 1.5.3 nebo vyšší. Důležité: Podepisování aktualizací pomocí podpisů migrace z certifikátů s prošlou platností je dočasné řešení. Pro komplexní řešení vytvořte standardizovaný pracovní postup podepisování pro nasazení aktualizací aplikací. Jednotlivé aktualizace můžete například podepsat nejnovějším certifikátem a certifikát přesunu použít pomocí certifikátu použitého k podpisu předchozí aktualizace (pokud je to možné). Jednotlivé aktualizace odesílejte na jejich vlastní adresy URL, z nichž si uživatelé mohou stáhnout aplikaci. Další informace naleznete v části „Pracovní postup podepisování pro aktualizace aplikací“ na stránce 256. Následující tabulka a obrázek shrnují pracovní postup pro podpisy přesunu: Scénář
Stav původního certifikátu
Akce vývojáře
Akce uživatele
Aplikace založená na běhovém modulu Adobe AIR verze 1.5.3 nebo vyšší
Platné
Publikování nejnovější verze aplikace AIR
Není požadována žádná akce Aplikace bude automaticky upgradována.
Prošlý, ale v mezích období odkladu trvajícího 365 dní
Podepište aplikaci novým certifikátem. Podpis přesunu použijte pomocí prošlého certifikátu.
Není požadována žádná akce
Platnost vypršela a není v období odkladu
Podpis migrace nelze použít pro aktualizaci aplikace AIR.
Odinstalujte aktuální verzi aplikace AIR a nainstalujte nejnovější verzi
Místo toho je třeba publikovat jinou verzi aplikace AIR pomocí nového certifikátu. Po odinstalování stávající verze aplikace AIR mohou uživatelé instalovat novou verzi.
Poslední aktualizace 19.11.2013
Aplikace bude automaticky upgradována.
197
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Podepisování aplikací AIR
Scénář
Stav původního certifikátu
Akce vývojáře
Akce uživatele
•
Platné
Publikování nejnovější verze aplikace AIR
Není požadována žádná akce
Aplikace založená na běhovém modulu Adobe AIR verze 1.5.2 nebo nižší
•
ID vydavatele v deskriptoru aplikace v aktualizaci se shoduje s ID vydavatele předchozí verze
•
Aplikace založená na běhovém modulu Adobe AIR verze 1.5.2 nebo nižší
•
ID vydavatele v deskriptoru aplikace v aktualizaci se neshoduje s ID vydavatele předchozí verze
Aplikace bude automaticky upgradována. Platnost vypršela a není v období odkladu
Podpis migrace nelze použít pro aktualizaci aplikace AIR.
Odinstalujte aktuální verzi aplikace AIR a nainstalujte nejnovější verzi
Místo toho je třeba publikovat jinou verzi aplikace AIR pomocí nového certifikátu. Po odinstalování stávající verze aplikace AIR mohou uživatelé instalovat novou verzi.
Jakýkoli
Podepište aplikaci AIR pomocí platného Odinstalujte aktuální verzi aplikace certifikátu a publikujte nejnovější verzi aplikace AIR a nainstalujte nejnovější verzi AIR
Pracovní postup podepisování pro aktualizace
Poslední aktualizace 19.11.2013
198
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Podepisování aplikací AIR
Přesun aplikace AIR za účelem použití nového certifikátu Chcete-li přesunout aplikaci AIR k novému certifikátu a současně ji aktualizovat, postupujte takto: 1 Vytvořte aktualizaci své aplikace 2 Zabalte a podepište aktualizovaný soubor AIR pomocí certifikátu nový 3 Znovu podepište soubor AIR certifikátem původní pomocí příkazu -migrate
Soubor AIR podepsaný pomocí příkazu -migrate lze použít nejen k aktualizaci libovolné předchozí verze aplikace podepsané starým certifikátem, ale i k instalaci nové verze. Poznámka: Při aktualizaci aplikace publikované pro prostředí AIR verze starší než 1.5.3 zadejte do deskriptoru aplikace původní ID vydavatele. V opačném případě musí uživatelé vaší aplikace před instalací aktualizace odinstalovat starší verzi. Použijte příkaz ADT -migrate s následující syntaxí: adt -migrate SIGNING_OPTIONS air_file_in air_file_out
• SIGNING_OPTIONS Možnosti podpisu určují osobní klíč a certifikát použitý k podepsání souboru AIR. Tyto možnosti musí určovat původní certifikát podpisu a jsou popsány v tématu „Možnosti podpisu kódu nástroje ADT“ na stránce 176.
• air_file_in Soubor AIR pro aktualizaci podepsaný novým certifikátem. • air_file_out Soubor AIR, který má být vytvořen. Poznámka: Názvy souborů používané pro vstupní a výstupní soubory aplikace AIR se musí lišit. Následující příklad uvádí použití podpisu přesunu na aktualizovanou verzi aplikace AIR voláním nástroje ADT s příznakem -migrate: adt -migrate -storetype pkcs12 -keystore cert.p12 myAppIn.air myApp.air
Poznámka: Příkaz -migrate byl přidán do nástroje ADT ve verzi prostředí AIR 1.1.
Přesun aplikace AIR nativního instalátoru za účelem použití nového certifikátu Aplikaci AIR, která je publikována jako nativní instalátor (např. aplikace, která využívá rozhraní API nativního rozšíření), nelze podepsat pomocí příkazu -migrate nástroje ADT, protože je to nativní aplikace specifická pro platformu, nikoli soubor s příponou AIR. Chcete-li přenést aplikaci AIR publikovanou jako nativní rozšíření k novému certifikátu, postupujte takto: 1 Vytvořte pro svou aplikaci aktualizaci. 2 Přesvědčte se, že tag <supportedProfiles> v souboru deskriptoru vaší aplikace (app.xml) obsahuje profil desktop
i extendedDesktop (nebo tag <supportedProfiles> z deskriptoru aplikace odstraňte). 3 Zabalte a podepište aktualizaci aplikace jako soubor s příponou AIR pomocí příkazu -package nástroje ADT
s novým certifikátem. 4 Na soubor s příponou AIR použijte pomocí příkazu -migrate nástroje ADT podpis přesunu s původním
certifikátem (jak bylo popsáno dříve v části „Přesun aplikace AIR za účelem použití nového certifikátu“ na stránce 198). 5 Soubor s příponou AIR zabalte do nativního instalátoru pomocí příkazu -package nástroje ADT s příznakem target native. Aplikace je již podepsaná, a proto v tomto kroku neurčíte podpisový certifikát.
Poslední aktualizace 19.11.2013
199
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Podepisování aplikací AIR
V následujícím příkladu jsou uvedeny kroky 3–5 tohoto postupu. Kód voláním nástroje ADT příkazem -package, příkazem -migrate a znovu příkazem -package zabalí aktualizovanou verzi aplikace AIR jako nativní instalátor: adt -package -storetype pkcs12 -keystore new_cert.p12 myAppUpdated.air myApp.xml myApp.swf adt -migrate -storetype pkcs12 -keystore original_cert.p12 myAppUpdated.air myAppMigrate.air adt -package -target native myApp.exe myAppMigrate.air
Přenos aplikace AIR využívající nativní rozšíření za účelem použití nového certifikátu Aplikaci AIR, která používá nativní rozšíření, nelze podepsat příkazem -migrate nástroje ADT. Nelze ji ani přenést postupem pro přenos aplikace AIR nativního instalátoru, protože ji není možné publikovat jako přechodný soubor s příponou AIR. Chcete-li přenést aplikaci AIR, která používá nativní rozšíření, k novému certifikátu, postupujte takto: 1 Vytvořte pro svou aplikaci aktualizaci. 2 Nativní instalátor aktualizace zabalte a podepište pomocí příkazu -package nástroje ADT. Zabalte aplikaci
s novým certifikátem a vložte příznak -migrate určující původní certifikát. Pomocí následující syntaxe volejte příkaz -package nástroje ADT s příznakem -migrate: adt -package AIR_SIGNING_OPTIONS -migrate MIGRATION_SIGNING_OPTIONS -target package_type NATIVE_SIGNING_OPTIONS output app_descriptor FILE_OPTIONS
• AIR_SIGNING_OPTIONS Možnosti podpisu určují privátní klíč a certifikát pro podpis souboru AIR. Tyto možnosti určují nový podpisový certifikát a jsou popsány v části „Možnosti podpisu kódu nástroje ADT“ na stránce 176.
• MIGRATION_SIGNING_OPTIONS Možnosti podpisu určují privátní klíč a certifikát pro podpis souboru AIR. Tyto možnosti určují původní podpisový certifikát a jsou popsány v části „Možnosti podpisu kódu nástroje ADT“ na stránce 176.
• Ostatní možnosti jsou stejné jako možnosti použité při balení aplikace AIR nativního instalátoru a jsou popsány v části „Příkaz package nástroje ADT“ na stránce 163. Následující příklad demonstruje volání nástroje ADT příkazem -package s příznakem -migrate za účelem zabalení aktualizované verze aplikace AIR, která používá nativní rozšíření, a použití podpisu přenosu na tuto aktualizaci: adt -package -storetype pkcs12 -keystore new_cert.p12 -migrate -storetype pkcs12 -keystore original_cert.p12 -target native myApp.exe myApp.xml myApp.swf
Poznámka: Příznak -migrate příkazu -package je k dispozici v nástroji ADT v prostředí AIR 3.6 a novějších.
Vytvoření certifikátu s vlastním podpisem pomocí programu ADT Certifikáty s vlastním podpisem můžete použít k vytvoření platného instalačního souboru AIR. Certifikáty s vlastním podpisem ale nabízejí vašim uživatelům pouze omezené zabezpečení. Pravost certifikátů s vlastním podpisem nelze ověřit. Při instalaci souboru AIR s vlastním podpisem je informace o vydavateli zobrazena uživateli jako Neznámé. Certifikát vygenerovaný programem ADT je platný po dobu pěti let.
Poslední aktualizace 19.11.2013
200
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Podepisování aplikací AIR
Jestliže vytvoříte aktualizaci pro aplikaci AIR, která byla podepsána vámi vytvořeným certifikátem, musíte stejný certifikát použít k podepsání původních i aktualizovaných souborů AIR. Certifikáty vytvořené programem ADT jsou vždy jedinečné, i při použití stejných parametrů. Jestliže si proto přejete vámi podepsané aktualizace pomocí certifikátu vygenerovaného programem ADT, zachovejte původní certifikát v bezpečném umístění. Dále nebude možné aktualizovaný soubor AIR vytvořit po vypršení původního certifikátu vygenerovaného programem ADT. (Nové aplikace můžete publikovat s odlišným certifikátem, ale nikoliv však nové verze stejné aplikace.) Důležité: Z důvodů omezení certifikátů s vlastním podpisem společnost Adobe důrazně doporučuje používat pro podepisování veřejně dostupných aplikací AIR komerční certifikáty vydané uznávaným certifikačním úřadem. Certifikát a přiřazený osobní klíč vygenerovaný programem ADT jsou uloženy v souboru úložiště klíčů typu PKCS12. Určené heslo je nastaveno na samotném klíči, nikoliv na úložišti. Příklady vygenerování certifikátu adt -certificate -cn SelfSign -ou QE -o "Example, Co" -c US 2048-RSA newcert.p12 39#wnetx3tl adt -certificate -cn ADigitalID 1024-RSA SigningCert.p12 39#wnetx3tl
Pro použití těchto certifikátů k podepsání souborů AIR použijte následující možnosti podpisu s příkazy programu ADT -package nebo -prepare: -storetype pkcs12 -keystore newcert.p12 -storepass 39#wnetx3tl -storetype pkcs12 -keystore SigningCert.p12 -storepass 39#wnetx3tl
Poznámka: Jazyk Java verze 1.5 a vyšší nepřijímá hesla obsahující znaky high-ASCII pro ochranu souborů certifikátů PKCS12. V heslech používejte pouze běžné znaky ASCII.
Poslední aktualizace 19.11.2013
201
Kapitola 14: Soubory deskriptorů aplikací AIR Každá aplikace AIR vyžaduje soubor deskriptoru. Soubor deskriptoru aplikace je dokument XML, který definuje základní vlastnosti aplikace. Řada vývojových prostředí podporujících aplikace AIR automaticky vygeneruje při vytvoření projektu deskriptor aplikace. V opačném případě je nutné vytvořit vlastní soubor deskriptoru. V adresáři samples sady AIR SDK i Flex SDK je umístěn vzorový soubor deskriptoru descriptor-sample.xml. Pro soubor deskriptoru aplikace lze použít libovolný název souboru. Po sbalení aplikace je soubor deskriptoru aplikace přejmenován na application.xml a umístěn do zvláštního adresáře uvnitř balíku AIR. Příklad deskriptoru aplikace Následující dokument deskriptoru aplikace nastaví základní vlastnosti používané většinou aplikací AIR: example.HelloWorld1.0.1Hello WorldExample Co. AIR Hello World <description> This is an example.C'est un exemple.Esto es un ejemplo.Copyright (c) 2010 Example Co.Hello World HelloWorld.swf icons/smallIcon.pngicons/mediumIcon.pngicons/bigIcon.pngicons/biggerIcon.png
Jestliže aplikace používá jako kořenový obsah soubor HTML místo souboru SWF, liší se pouze element : HelloWorld.html
Poslední aktualizace 19.11.2013
202
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Soubory deskriptorů aplikací AIR
Změny deskriptoru aplikace Deskriptor aplikace AIR se změnil v následujících verzích prostředí AIR.
Změny deskriptoru ve verzi AIR 1.1 Byla povolena lokalizace elementů aplikace name a description pomocí elementu text.
Změny deskriptoru ve verzi AIR 1.5 Element contentType se stal povinným podřízeným prvkem elementu fileType.
Změny deskriptoru ve verzi AIR 1.5.3 Byl přidán element publisherID, který v aplikacích umožňuje zadat hodnotu ID vydavatele.
Změny deskriptoru ve verzi AIR 2.0 Přidáno:
•
aspectRatio
•
autoOrients
•
fullScreen
•
image29x29 (viz imageNxN)
•
image57x57
•
image72x72
•
image512x512
•
iPhone
•
renderMode
•
supportedProfiles
Změny deskriptoru ve verzi AIR 2.5 Odebráno: version Přidáno:
•
android
•
extensionID
•
extensions
•
image36x36 (viz imageNxN)
•
manifestAdditions
•
versionLabel
•
versionNumber
Poslední aktualizace 19.11.2013
203
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Soubory deskriptorů aplikací AIR
Změny deskriptoru ve verzi AIR 2.6 Přidáno:
•
image114x114 (viz imageNxN)
•
requestedDisplayResolution
•
softKeyboardBehavior
Změny deskriptoru ve verzi AIR 3.0 Přidáno:
•
colorDepth
• direct jako platná hodnota elementu renderMode • renderMode již není ignorován u platforem stolních počítačů • Lze zadat element systému Android <uses-sdk>. (Předtím nebyl povolen.)
Změny deskriptoru prostředí AIR 3.1 Přidáno:
• „Entitlements“ na stránce 215
Změny deskriptoru ve verzi AIR 3.2 Přidáno:
•
depthAndStencil
•
supportedLanguages
Změny deskriptoru ve verzi AIR 3.3 Přidáno:
•
aspectRatio nyní obsahuje možnost ANY.
Změny deskriptoru prostředí AIR 3.4 Přidáno:
•
image50x50 (viz „imageNxN“ na stránce 222)
•
image58x58 (viz „imageNxN“ na stránce 222)
•
image100x100 (viz „imageNxN“ na stránce 222)
•
image1024x1024 (viz „imageNxN“ na stránce 222)
Poslední aktualizace 19.11.2013
204
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Soubory deskriptorů aplikací AIR
Změny deskriptoru prostředí AIR 3.6 Přidáno:
• Element „requestedDisplayResolution“ na stránce 232 v elementu „iPhone“ na stránce 226 nyní obsahuje atribut excludeDevices a umožňuje určit cílová zařízení se systémem iOS, která budou používat vysoké nebo standardní
rozlišení
• Nový element „requestedDisplayResolution“ na stránce 232v elementu „initialWindow“ na stránce 223 určuje, zda se má v počítačových platformách, jako je Mac s displejem s vysokým rozlišením, používat vysoké nebo standardní rozlišení
Změny deskriptoru prostředí AIR 3.7 Přidáno:
•
Element „iPhone“ na stránce 226 nyní poskytuje element „externalSwfs“ na stránce 216, který umožňuje zadat seznam souborů SWF učených k načtení za běhu.
• Element „iPhone“ na stránce 226 nyní poskytuje element „forceCPURenderModeForDevices“ na stránce 219, který umožňuje vynucení režimu vykreslování pomocí CPU v určené množině zařízení.
Struktura souboru deskriptoru aplikace Soubor deskriptoru aplikace představuje dokument XML s následující strukturou: ...... <manifestAdditions <manifest>... ]]> ... customUpdateUI>... <description> ... <extensions> <extensionID>... ...... <description>... <extension>... ......
Poslední aktualizace 19.11.2013
205
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Soubory deskriptorů aplikací AIR
Elementy deskriptoru aplikace AIR Následující slovník elementů popisuje každý z povolených elementů v souboru deskriptoru aplikace AIR.
Poslední aktualizace 19.11.2013
206
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Soubory deskriptorů aplikací AIR
allowBrowserInvocation Prostředí Adobe AIR 1.0 a novější – volitelný Umožňuje detekci a spuštění aplikace prostřednictvím rozhraní API prostředí AIR v prohlížeči. Jestliže nastavíte tuto možnost na hodnotu true, určitě vezměte v úvahu dopady na zabezpečení. Ty jsou popsány v tématech Vyvolání aplikace AIR z prohlížeče (pro vývojáře používající jazyk ActionScript) a Vyvolání aplikace AIR z prohlížeče (pro vývojáře používající jazyk HTML). Další informace viz „Spuštění nainstalované aplikace AIR z prohlížeče“ na stránce 252. Nadřízený element:„application“ na stránce 207 Podřízené elementy: žádné Obsah true nebo false (výchozí)
Příklad true
android Prostředí Adobe AIR 2.5 a novější – volitelný Umožňuje přidat elementy do souboru manifestu systému Android. Prostředí AIR vytvoří soubor AndroidManifest.xml pro každý balíček APK. Element android v deskriptoru aplikace AIR umožňuje do něj přidat další položky. Ignorováno na všech platformách s výjimkou systému Android. Nadřízený element:„application“ na stránce 207 Podřízené elementy:
• „colorDepth“ na stránce 211 • „manifestAdditions“ na stránce 227 Obsah Elementy definující vlastnosti specifické pro systém Android, které mají být přidány do manifestu aplikace pro systém Android. Příklad <manifestAdditions> ...
Další témata Nápovědy „Nastavení systému Android“ na stránce 73 Soubor AndroidManifest.xml
Poslední aktualizace 19.11.2013
207
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Soubory deskriptorů aplikací AIR
application Prostředí Adobe AIR 1.0 a novější – povinný Kořenový element dokumentu deskriptoru aplikace AIR. Nadřízený element: žádný Podřízené elementy:
• „allowBrowserInvocation“ na stránce 206 • „android“ na stránce 206 • „copyright“ na stránce 212 • „customUpdateUI“ na stránce 213 • „description“ na stránce 214 • „extensions“ na stránce 216 • „filename“ na stránce 217 • „fileTypes“ na stránce 218 • „icon“ na stránce 221 • „id“ na stránce 221 • „initialWindow“ na stránce 223 • „installFolder“ na stránce 225 • „iPhone“ na stránce 226 • „name“ na stránce 229 • „programMenuFolder“ na stránce 231 • „publisherID“ na stránce 231 • „supportedLanguages“ na stránce 234 • „supportedProfiles“ na stránce 235 • „version“ na stránce 237 • „versionLabel“ na stránce 238 • „versionNumber“ na stránce 238 Atributy minimumPatchLevel – Minimální úroveň dočasné opravy běhového modulu AIR požadovaná touto aplikací. xmlns – Atribut jmenného prostoru XML určuje požadovanou verzi běhového modulu AIR pro aplikaci. Jmenný prostor se změní s každou hlavní verzí AIR (ale nikoliv s malými záplatami). Poslední část oboru názvů, například „3.0“, určuje verzi běhového modulu, kterou aplikace vyžaduje. Hodnoty xmlns pro hlavní verze prostředí AIR:
Poslední aktualizace 19.11.2013
208
VYTVÁŘENÍ APLIKACÍ PROSTŘEDÍ ADOBE AIR Soubory deskriptorů aplikací AIR
U aplikací založených na formátu SWF nastavuje maximální verzi formátu SWF, kterou lze načíst jako počáteční obsah aplikace, verze runtime aplikace AIR určená v deskriptoru aplikace. Aplikace, které mají nastaveny verze AIR 1.0 nebo AIR 1.1, mohou jako počáteční obsah využívat pouze formát SWF9 (Flash Player 9), a to dokonce i tehdy, když jsou spuštěny pomocí běhového modulu aplikace AIR 2. Aplikace, které mají nastavenu verzi AIR 1.5 (nebo novější), mohou jako počáteční obsah používat soubory ve formátu SWF9 nebo SWF10 (Flash Player 10). Verze formátu SWF určuje, která verze rozhraní API aplikací AIR nebo Flash Player je dostupná. Pokud je jako počáteční obsah aplikace AIR 1.5 použitý soubor ve formátu SWF9, bude mít tato aplikace přístup pouze k rozhraním API verzí AIR 1.1 a Flash Player 9. Kromě toho nebudou změny provedené ve stávajících rozhraních API v aplikacích AIR 2.0 a Flash Player 10.1 účinné. (Výjimkou z tohoto pravidla jsou důležité změny rozhraní API související se zabezpečením; tyto změny lze ve stávajících nebo budoucích opravách runtime používat i se zpětnou platností.) U aplikací založených na jazyku HTML určuje verzi aplikací AIR a Flash Player, které jsou pro aplikaci dostupné, pouze verze běhového modulu určená v deskriptoru aplikace. Chování jazyků HTML a JavaScript a stylů CSS je vždy určeno verzí knihovny Webkit, která je v nainstalovaném runtime aplikace AIR použita, a ne deskriptorem aplikace. Když aplikace AIR načítá obsah ve formátu SWF, závisí verze rozhraní API aplikací AIR a Flash Player na způsobu načítání obsahu. Někdy platnou verzi určuje jmenný prostor deskriptoru aplikace, někdy ji určuje verze načítaného obsahu a někdy ji určuje verze načteného obsahu. Následující tabulka ukazuje způsob, jakým je verze rozhraní API určena na základě metody načítání: Způsob načítání obsahu
Způsob určení verze rozhraní API
Počáteční obsah, aplikace založená na formátu SWF
Verze formátu SWF načítaného souboru
Počáteční obsah, aplikace založená na formátu HTML
Obor názvů deskriptoru aplikace
Soubor SWF načítaný obsahem SWF
Verze načítajícího obsahu
Knihovna SWF načtená obsahem HTML pomocí tagu <script>
Obor názvů deskriptoru aplikace
Soubor SWF načtený obsahem HTML pomocí rozhraní API aplikací AIR nebo Flash Player (například flash.display.Loader)