Você está na página 1de 288

Construindo aplicativos no ADOBE AIR

Avisos legais

Avisos legais
Para ver os avisos legais, consulte http://help.adobe.com/pt_BR/legalnotices/index.html.

ltima atualizao em 13/10/2011

iii

Contedo
Captulo 1: Sobre o Adobe AIR Captulo 2: Instalao do Adobe AIR Instalao do Adobe AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Remoo do Adobe AIR Atualizaes do Adobe AIR ............................................................................................... 5 ................................................................ 5 ............................................................................................ 6 Instalao e execuo de aplicativos de amostra do AIR

Captulo 3: Trabalhando com APIs do AIR Classes do ActionScript 3.0 especficas do AIR Componentes Flex especficos do AIR

.......................................................................... 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Classes do Flash Player com funcionalidade especfica do AIR

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Captulo 4: Ferramentas da Plataforma Adobe Flash para desenvolvimento do AIR Instalao do SDK do AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Definio do SDK do Flex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Configurao de SDKs externos

Captulo 5: Criando seu primeiro aplicativo do AIR Criando seu primeiro aplicativo desktop Flex AIR no Flash Builder

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Criao do seu primeiro aplicativo do AIR desktop usando o Flash Professional Crie seu primeiro aplicativo do AIR para Android no Flash Professional Criao de seu primeiro aplicativo do AIR para iOS

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Criao do primeiro aplicativo do AIR baseado em HTML com o Dreamweaver Criao do seu primeiro aplicativo do AIR baseado em HTML com o SDK do AIR Criando seu primeiro aplicativo desktop do AIR com o Flex SDK Criando seu primeiro aplicativo do AIR para Android com o Flex SDK Captulo 6: Desenvolvendo aplicativos AIR para desktop Fluxo de trabalho para desenvolver um aplicativo do AIR para desktop Configurao de propriedades do aplicativo desktop Depurao de um aplicativo do AIR desktop Compactao de um instalador desktop nativo

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Compactao de um arquivo de instalao AIR desktop.

Compactao de um conjunto de tempo de execuo cativo para computadores pessoais Distribuio de pacotes do AIR para computadores desktop

Captulo 7: Desenvolvendo aplicativos AIR para dispositivos mveis Configurao do ambiente de desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Consideraes a respeito do design do aplicativo mvel Configurao de propriedades do aplicativo mvel Compactao de um aplicativo do AIR mvel Depurao de um aplicativo do AIR mvel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Fluxo de trabalho para a criao de aplicativos AIR para dispositivos mveis

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Contedo

iv

Instalao de aplicativos AIR AIRI nos dispositivos mveis Atualizando aplicativos AIR mveis

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

Captulo 8: Desenvolvendo aplicativos AIR para aparelhos de televiso Capacidades do dispositivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Consideraes a respeito do design do aplicativo para AIR para TV Fluxo de trabalho para desenvolver um aplicativo do AIR para TV Definio de propriedades do aplicativo do AIR para TV Compactao de um aplicativo do AIR para TV Depurao de aplicativos AIR para TV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

Captulo 9: Como utilizar extenses nativas para Adobe AIR Arquivos de Extenso Nativa do AIR (ANE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Extenses nativas em contraste com a classe ActionScript NativeProcess Dispositivos suportados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Extenses nativas em contraste com as bibliotecas da classe ActionScript (arquivos SWC) Perfis de dispositivo suportados

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

Lista de tarefas que utilizam uma extenso nativa

Indicao da extenso no arquivo de indexao do aplicativo Compactando um aplicativo que utiliza extenses nativas

Incluso do arquivo ANE no caminho da biblioteca do aplicativo

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

Captulo 10: Compiladores ActionScript Sobre as ferramentas de linha de comando do AIR no Flex SDK Configurao do compilador

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

Compilao de arquivos de origem do MXML e ActionScript para AIR

Compilao de um componente ou de uma biblioteca de cdigos do AIR (Flex)

Captulo 11: AIR Debug Launcher (ADL) Uso do ADL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Exemplos de ADL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 Cdigos de erro e sada do ADL

Captulo 12: AIR Developer Tool (ADT) Comandos do ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Conjuntos de opes do ADT Mensagens de erro do ADT Variveis de ambiente ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

Captulo 13: Assinatura de aplicativos AIR Assinatura digital de um arquivo AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 Criao de um arquivo intermedirio do AIR no assinado com o ADT Assinatura de um arquivo intermedirio do AIR com o ADT Assinatura de uma verso atualizada de um aplicativo do AIR Criao de um certificado autoassinado com o ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Contedo

Captulo 14: Arquivos descritores do aplicativo do AIR Mudanas no descritor do aplicativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 A estrutura do arquivo do descritor do aplicativo Elementos descritores do aplicativo do AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

Captulo 15: Perfis de dispositivo Como restringir perfis de destino no arquivo de descrio do aplicativo Capacidades de perfis diferentes

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

Captulo 16: API no navegador AIR.SWF Personalizao da instalao contnua badge.swf Carregar o arquivo air.swf

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

Usando o arquivo badge.swf para instalar um aplicativo do AIR Verificar se o tempo de execuo est instalado Instalao de um aplicativo do AIR do navegador

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

Verificar por uma pgina da Web se um aplicativo do AIR est instalado Inicializao de um aplicativo do AIR instalado do navegador

Captulo 17: Atualizao de aplicativos AIR Sobre atualizao de aplicativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 Apresentao de uma interface de usurio de atualizao do aplicativo personalizado Download de um arquivo AIR no computador do usurio Uso da estrutura de atualizao Verificar se um aplicativo est sendo executado pela primeira vez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

Captulo 18: Visualizao do cdigo-fonte Carregamento, configurao e abertura do Visualizador de Cdigo-Fonte Interface do usurio do Visualizador do Cdigo-Fonte

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258

Captulo 19: Depurao com o AIR HTML Introspector Sobre o AIR Introspector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 Carregamento do cdigo do AIR Introspector Inspeo de um objeto na guia Console Configurao do AIR Introspector Interface do AIR Introspector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

Uso do AIR Introspector com contedo em uma caixa de proteo no do aplicativo Captulo 20: Localizao de aplicativos AIR Localizao do nome e da descrio do aplicativo no instalador do aplicativo do AIR Localizao de contedo HTML com a estrutura de localizao de HTML do AIR Captulo 21: Variveis de ambiente do caminho Configurao do PATH no Linux e Mac OS usando o shell Bash Configurao do caminho no Windows

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282

ltima atualizao em 13/10/2011

Captulo 1: Sobre o Adobe AIR


O Adobe AIR um de tempo de execuo de vrias telas e sistema multioperacional que permite potencializar suas habilidades de desenvolvimento para a Web a fim de criar e implantar aplicativos avanados da Internet (RIAs - rich Internet applications) para computadores desktop e dispositivos mveis. Aplicativos para desktop, televiso e AIR mveis podem ser desenvolvidos com ActionScript 3.0 usando Adobe Flex e Adobe Flash (com base SWF). Os aplicativos de desktop AIR tambm podem ser desenvolvidos com HTML, JavaScript e Ajax (com base HTML). Voc pode encontrar mais informaes sobre introduo e uso do Adobe AIR na Conexo de desenvolvedores do Adobe AIR em (http://www.adobe.com/devnet/air/). O AIR permite que voc trabalhe em ambientes domsticos para potencializar as ferramentas e abordagens que julgar mais confortveis. Ao suportar Flash, Flex, HTML, JavaScript e Ajax, voc pode criar a melhor experincia possvel que atenda s suas necessidades. Por exemplo, os aplicativos podem ser desenvolvidos usando uma das seguintes tecnologias ou uma combinao delas:

Flash / Flex / ActionScript HTML / JavaScript / CSS / Ajax


Usurios interagem com aplicativos AIR da mesma forma que interagem com aplicativos nativos. O tempo de execuo instalado uma vez no dispositivo ou computador do usurio e, em seguida, os aplicativos AIR so instalados e executados exatamente como qualquer outro aplicativo da rea de trabalho. (No iOS o tempo de execuo de um AIR separado no instalado; cada aplicativo do AIR iOS um aplicativo independente). O tempo de execuo oferece uma plataforma cruzada de sistema operacional e estrutura para implantao de aplicativos e, portanto, elimina os testes entre navegadores, assegurando funcionalidade e interaes consistentes entre reas de trabalho. Em vez de desenvolver para um sistema operacional especfico, voc direciona o tempo de execuo, o que oferece seguintes benefcios:

Aplicativos desenvolvidos para execuo do AIR atravs de vrios sistemas operacionais sem nenhum trabalho
adicional feito por voc. O tempo de execuo assegura apresentaes e interaes previsveis e consistentes entre todos os sistemas operacionais com suporte do AIR.

Os aplicativos podem ser criados mais rapidamente, permitindo que voc potencialize tecnologias da Web e
padres de projeto existentes. Voc pode estender aplicativos com base na Web para a rea de trabalho sem aprender tecnologias tradicionais para desenvolvimento de rea de trabalho nem a complexidade do cdigo nativo.

O desenvolvimento do aplicativo mais fcil do que o uso de linguagens de nvel inferior, como C e C++. Voc no
precisa gerenciar APIs complexas de nvel inferior, especficas de cada sistema operacional. Ao desenvolver aplicativos para o AIR, voc pode potencializar um enorme conjunto de estruturas e APIs:

APIs especficas do AIR fornecidas pelo tempo de execuo e pela estrutura AIR APIs do ActionScript usadas em arquivos SWF e na estrutura Flex (bem como outras bibliotecas e estruturas
baseadas no ActionScript)

HTML, CSS e JavaScript Maioria das estruturas Ajax As extenses nativas do Adobe AIR fornecem APIs do ActionScript que permitem o acesso funcionalidade
especfica da plataforma programada no cdigo nativo. As extenses nativas tambm podero permitir o acesso ao cdigo nativo legado e ao cdigo nativo que possibilita um melhor desempenho.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Sobre o Adobe AIR

O AIR altera significativamente o modo como os aplicativos podem ser criados, implantados e experimentados. Voc obtm mais controle criativo e pode estender os aplicativos baseados em Flash, Flex, HTML e Ajax para a rea de trabalho, dispositivos mveis e televises. Para obter mais informaes sobre o que est includo em cada nova verso do AIR, consulte as Notas de verso do Adobe AIR (http://www.adobe.com/go/learn_air_relnotes_br).

ltima atualizao em 13/10/2011

Captulo 2: Instalao do Adobe AIR


O tempo de execuo do Adobe AIR permite executar aplicativos AIR. possvel instalar o tempo de execuo das seguintes formas:

Instalando o tempo de execuo separadamente (sem instalar tambm um aplicativo do AIR) Ao instalar um aplicativo do AIR por meio de um badge de instalao de uma pgina web (tambm ser solicitada
a instalao do tempo de execuo)

Ao criar um instalador customizado que instale tanto o aplicativo quanto o tempo de execuo. necessrio obter
uma aprovao do Adobe para distribuir o tempo de execuo do AIR dessa maneira. Voc poder solicitar uma aprovao na pgina Licena do tempo de execuo do Adobe. Observe que o Adobe no fornece ferramentas para criar tal instalador. No entanto, muitos kits de ferramenta de instalador terceirizado esto disponveis.

Ao instalar um aplicativo do AIR que cria um conjunto do AIR como um tempo de execuo cativo. Um tempo de
execuo cativo usado somente pelo aplicativo que cria o conjunto. Ele no usado para executar outros aplicativos do AIR. Criar um conjunto do tempo de execuo uma opo no Android, no Mac e no Windows. No iOS, todos os aplicativos incluem um tempo de execuo em conjunto.

Configurando um ambiente de desenvolvimento AIR como o AIR SDK, Adobe Flash Builder, ou o Adobe Flex
SDK (que inclui as ferramentas de desenvolvimento de linha de comando do AIR). O tempo de execuo includo no SDK somente utilizado para a depurao de aplicativos no utilizado para executar aplicativos AIR instalados. Os requisitos do sistema para instalar o AIR e executar aplicativos do AIR so detalhados aqui: Adobe AIR: Requisitos do sistema (http://www.adobe.com/br/products/air/systemreqs/). Tanto o programa de instalao do tempo de execuo quanto o programa de instalao do aplicativo do AIR criam arquivos de registro quando instalam, atualizam ou removem aplicativos AIR ou o prprio tempo de execuo do AIR. Voc pode consultar estes arquivos de registro para ajudar a determinar a causa de problemas de instalao. Consulte Registros de instalao.

Instalao do Adobe AIR


Para instalar ou atualizar o tempo de execuo, o usurio deve ter privilgios administrativos no computador. Instalao do tempo de execuo em um computador com Windows 1 Faa download do arquivo de instalao do tempo de execuo em http://get.adobe.com/air.
2 Clique duas vezes no arquivo de instalao do tempo de execuo. 3 Na janela de instalao, siga os avisos para concluir a instalao.

Instalao do tempo de execuo em um computador com Mac 1 Faa download do arquivo de instalao do tempo de execuo em http://get.adobe.com/air.
2 Clique duas vezes no arquivo de instalao do tempo de execuo. 3 Na janela de instalao, siga os avisos para concluir a instalao. 4 Se o instalador exibir a janela Autenticao, insira seu nome de usurio e sua senha do Mac OS.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Instalao do Adobe AIR

Instalao do tempo de execuo em um computador com Linux Nota: Atualmente, o AIR 2.7 e verses posteriores no so compatveis com Linux. Os aplicativos do AIR implementados para Linux devero continuar usando o AIR 2.6 SDK. Utilizando o instalador binrio:
1 Localize o arquivo binrio de instalao em http://kb2.adobe.com/cps/853/cpsid_85304.html e faa o download. 2 Defina as permisses de arquivo para que seja possvel executar o aplicativo instalador. A partir da linha de

comando, possvel definir as permisses de arquivo com:


chmod +x AdobeAIRInstaller.bin

Algumas verses do Linux permitem definir as permisses de arquivo na caixa de dilogo Propriedades aberta por meio de um menu de contexto.
3 Execute o instalador da linha de comando ou clicando duas vezes no arquivo de instalao do tempo de execuo. 4 Na janela de instalao, siga os avisos para concluir a instalao.

O Adobe AIR est instalado como pacote nativo. Ou seja, como rpm e uma distribuio com base em rpm e deb em uma distribuio Debian. Atualmente o AIR no possui suporte a outro tipo de formato de pacote. Utilizando os instaladores de pacote:
1 Localize o arquivo de pacote do AIR em http://kb2.adobe.com/cps/853/cpsid_85304.html. Faa download do

pacote rpm ou Debian, dependendo do formato de pacote suportado pelo sistema.


2 Caso necessrio, clique duas vezes no arquivo do pacote AIR para instalar o aplicativo.

Opcionalmente, possvel instalar o pacote a partir da linha de comando:


a Em um sistema Debian:
sudo dpkg -i <path to the package>/adobeair-2.0.0.xxxxx.deb

b Em um sistema com base em rpm:


sudo rpm -i <path to the package>/adobeair-2.0.0-xxxxx.i386.rpm

Ou, caso esteja atualizando uma verso existente (AIR 1.5.3 ou posterior):
sudo rpm -U <path to the package>/adobeair-2.0.0-xxxxx.i386.rpm

A instalao de aplicativos AIR 2 e AIR necessitam que voc possua privilgios administrativos em seu computador. O Adobe AIR instalado no caminho a seguir: /opt/Adobe AIR/Versions/1.0 O AIR registra o mime-type "application/vnd.adobe.air-application-installer-package+zip", significando que arquivos .air pertencem a esse mime-type e so registraddos com o tempo de execuo AIR. Instale o tempo de execuo em um dispositivo Android Voc pode instalar a verso mais recente do tempo de execuo AIR a partir do Android Market. Voc pode instalar verses de desenvolvimento do tempo de execuo AIR a partir de um link em um site ou usando o comando ADT -installRuntime. Somente uma verso do tempo de execuo AIR pode ser instalado em um tempo; voc no pode ter uma nova verso e uma verso de desenvolvimento instaladas. Consulte Comando installRuntime do ADT na pgina 159 para obter mais informaes. Instale o tempo de execuo em um dispositivo iOS O cdigo do tempo de execuo AIR necessrio fornecido com cada aplicativo criado para os dispositivos iPhone, iTouch e iPad. Voc no precisa instalar um componente de tempo de execuo separado.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Instalao do Adobe AIR

Mais tpicos da Ajuda


AIR para iOS na pgina 69

Remoo do Adobe AIR


Aps instalar o tempo de execuo, voc poder remov-lo usando os seguintes procedimentos. Remoo do tempo de execuo em um computador com Windows 1 No menu Iniciar do Windows, selecione Configuraes > Painel de controle.
2 Abra o painel de controle Programas, Programas e Recursos ou Adicionar ou Remover Programas (dependendo de

qual verso do Windows que estiver em uso).


3 Selecione Adobe AIR para remover o tempo de execuo. 4 Clique no boto Alterar/remover.

Remoo do tempo de execuo em um computador com Mac Clique duas vezes em Desinstalador do Adobe AIR, localizado na pasta /Aplicativos/Utilitrios. Remoo do tempo de execuo em um computador com Linux Execute um dos seguintes procedimentos:

Selecione o comando Adobe AIR Uninstaller no menu Aplicativos. Execute o binrio instalador do AIR com a opo -uninstall. Remova os pacotes do AIR (adobeair e adobecerts) com o gerenciador de pacotes.
Remova o tempo de execuo de um dispositivo Android 1 Abra o aplicativo Configuraes do dispositivo.
2 Toque a entrada do Adobe AIR em Aplicativos > Gerenciar aplicativos. 3 Toque o boto Desinstalar.

Voc tambm pode usar o comando ADT -uninstallRuntime. Consulte Comando uninstallRuntime do ADT na pgina 160 para obter mais informaes. Remoo de um tempo de execuo em conjunto Para remover um tempo de execuo em conjunto, necessrio remover o aplicativo com o qual ele est instalado. Observe que os tempos de execuo cativos so usados so mente para executar o aplicativo de instalao.

Instalao e execuo de aplicativos de amostra do AIR


Para instalar ou atualizar um aplicativo do AIR, o usurio deve ter privilgios administrativos no computador. Alguns aplicativos de amostra esto disponveis para demonstrar recursos do AIR Voc pode acess-los e desinstallos usando as seguintes instrues:
1 Faa download e execute os aplicativos de amostra do AIR. Os aplicativos compilados, bem como o cdigo fonte,

esto disponveis.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Instalao do Adobe AIR

2 Para fazer download e executar o aplicativo de amostra, clique no boto Instalar agora do aplicativo de amostra.

Voc solicitado a instalar e executar o aplicativo.


3 Se voc optar por fazer download de aplicativos de amostra e execut-los mais tarde, selecione os links de download.

Voc pode executar aplicativos AIR a qualquer momento:

No Windows, clicando duas vezes no cone do aplicativo na rea de trabalho, ou selecionando-o no menu Iniciar
do Windows.

No Mac OS, clicando duas vezes no cone do aplicativo, que est instalado na pasta Aplicativos do diretrio do
usurio (por exemplo, no Macintosh, HD/Users/JoeUser/Applications/), por padro. Nota: Verifique as notas de verso do AIR para atualizaes dessas instrues, que esto localizadas aqui: http://www.adobe.com/go/learn_air_relnotes_br.

Atualizaes do Adobe AIR


Periodicamente, a Adobe atualiza o Adobe AIR com novos recursos ou o corrige para diminuir problemas. Os recursos Notificao Automtica e Atualizar permitem Adobe notificar automaticamente os usurios quando um verso atualizada do Adobe AIR est disponvel. As atualizaes do Adobe AIR garantem que o Adobe AIR funcione adequadamente e possam conter modificaes importantes na segurana. A Adobe recomenda que os usurios atualizem para a verso mais recente do Adobe AIR sempre que uma nova verso estiver disponvel, especialmente quando uma atualizao de segurana for indicada. Por padro, quando um aplicativo do AIR lanado, o tempo de execuo verifica se uma atualizao est disponvel. Ele realiza esta verificao sempre que decorrem mais de duas semanas da ltima verificao de atualizao. Se uma atualizao estiver disponvel, o AIR baixar a atualizao em segundo plano. Os usurios podem desativar a capacidade de atualizao automtica usando o aplicativo do AIR SettingsManager. O aplicativo do AIR SettingsManager est disponvel para download em http://airdownload.adobe.com/air/applications/SettingsManager/SettingsManager.air. O processo de instalao normal do Adobe AIR inclui a conexo com http://airinstall.adobe.com para enviar informaes bsicas sobre o ambiente de instalao, tais como verso e idioma do sistema operacional. Esta informao s transmitida uma vez em cada instalao e permite que o Adobe confirme se a instalao foi concluda com xito. Nenhuma informao que possa identificar o usurio coletada ou transmitida. Atualizao dos tempos de execuo cativos Se voc distribuir o aplicativo com um conjunto de tempo de execuo cativo, o tempo de execuo cativo no ser atualizado automaticamente. Para a segurana dos usurios, necessrio monitorar as atualizaes publicadas pela Adobe e atualizar o aplicativo com a nova verso do tempo de execuo quando uma alterao de segurana importante for publicada.

ltima atualizao em 13/10/2011

Captulo 3: Trabalhando com APIs do AIR


O Adobe AIR inclui funcionalidade que no est disponvel para contedo do SWF em execuo no Adobe Flash Player. Desenvolvedores de ActionScript 3.0 As APIs do Adobe AIR so documentadas nos seguintes livros:

Guia do desenvolvedor do ActionScript 3.0 Referncia do ActionScript 3.0 para Adobe Flash Platform
Desenvolvedores de HTML Se voc estiver criando aplicativos AIR com base em HTML, as APIs disponveis em JavaScript via arquivo AIRAliases.js (consulte Acessando classes de API do AIR a partir do JavaScript) esto documentadas nos seguintes livros:

HTML Developer's Guide for Adobe AIR Adobe AIR API Reference for HTML Developers

Classes do ActionScript 3.0 especficas do AIR


A tabela a seguir contm classes de tempos de execuo especficas do Adobe AIR. Elas no esto disponveis no contedo SWF executado no Adobe Flash Player em um navegador. Desenvolvedores de HTML As classes disponveis no JavaScript via arquivo AIRAliases.js esto indicadas em Referncia de API do Adobe AIR para desenvolvedores de HTML.

Classe ARecord AAAARecord ApplicationUpdater ApplicationUpdaterUI AudioPlaybackMode AutoCapitalize BrowserInvokeEvent CameraPosition CameraRoll CameraRollBrowseOptions

Pacote ActionScript 3.0 flash.net.dns flash.net.dns air.update air.update flash.media flash.text flash.events flash.media flash.media flash.media

Includo na verso AIR 2.0 2.0 1.5 1.5 3.0 3.0 1.0 3.0 2.0 3.0

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Trabalhando com APIs do AIR

Classe CameraUI CertificateStatus CompressionAlgorithm DatagramSocket DatagramSocketDataEvent DNSResolver DatagramSocketDataEvent DockIcon DownloadErrorEvent DRMAuthenticateEvent DRMDeviceGroup DRMDeviceGroupErrorEvent DRMDeviceGroupEvent DRMManagerError EncryptedLocalStore ExtensionContext File FileListEvent FileMode FileStream FocusDirection GameInput GameInputControl GameInputControlType GameInputDevice GameInputEvent GameInputFinger GameInputHand Geolocation DatagramSocketDataEvent HTMLHistoryItem HTMLHost HTMLLoader HTMLPDFCapability

Pacote ActionScript 3.0 flash.media flash.security flash.utils flash.net flash.events flash.net.dns flash.events flash.desktop air.update.events flash.events flash.net.drm flash.net.drm flash.net.drm flash.errors flash.data flash.external flash.filesystem flash.events flash.filesystem flash.filesystem flash.display flash.ui flash.ui flash.ui flash.ui flash.ui flash.ui flash.ui flash.sensors flash.events flash.html flash.html flash.html flash.html

Includo na verso AIR 2.5 2.0 1.0 2.0 2.0 2.0 2.0 1.0 1.5 1.0 3.0 3.0 3.0 1.5 1.0 2.5 1.0 1.0 1.0 1.0 1.0 3.0 3.0 3.0 3.0 3.0 3.0 3.0 2.0 2.0 1.0 1.0 1.0 1.0

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Trabalhando com APIs do AIR

Classe HTMLSWFCapabiltiy HTMLUncaughtScriptExceptionEvent HTMLWindowCreateOptions Icon IFilePromise ImageDecodingPolicy InteractiveIcon InterfaceAddress InvokeEvent InvokeEventReason IPVersion IURIDereferencer LocationChangeEvent MediaEvent MediaPromise MediaType MXRecord NativeApplication NativeDragActions NativeDragEvent NativeDragManager NativeDragOptions NativeMenu NativeMenuItem NativeProcess NativeProcessExitEvent NativeProcessStartupInfo NativeWindow NativeWindowBoundsEvent NativeWindowDisplayState NativeWindowDisplayStateEvent NativeWindowInitOptions NativeWindowRenderMode NativeWindowResize

Pacote ActionScript 3.0 flash.html flash.events flash.html flash.desktop flash.desktop flash.system flash.desktop flash.net flash.events flash.desktop flash.net flash.security flash.events flash.events flash.media flash.media flash.net.dns flash.desktop flash.desktop flash.events flash.desktop flash.desktop flash.display flash.display flash.desktop flash.events flash.desktop flash.display flash.events flash.display flash.events flash.display flash.display flash.display

Includo na verso AIR 2.0 1.0 1.0 1.0 2.0 2.6 1.0 2.0 1.0 1.5.1 2.0 1.0 2.5 2.5 2.5 2.5 2.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 1.0 1.0 1.0 1.0 1.0 3.0 1.0

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Trabalhando com APIs do AIR

10

Classe NativeWindowSystemChrome NativeWindowType NetworkInfo NetworkInterface NotificationType OutputProgressEvent PaperSize PrintMethod PrintUIOptions MXRecord ReferencesValidationSetting ResourceRecord RevocationCheckSettings Screen ScreenMouseEvent SecureSocket SecureSocketMonitor ServerSocket ServerSocketConnectEvent ServiceMonitor SignatureStatus SignerTrustSettings SocketMonitor SoftKeyboardType SQLCollationType SQLColumnNameStyle SQLColumnSchema SQLConnection SQLError SQLErrorEvent SQLErrorOperation SQLEvent SQLIndexSchema SQLMode

Pacote ActionScript 3.0 flash.display flash.display flash.net flash.net flash.desktop flash.events flash.printing flash.printing flash.printing flash.net.dns flash.security flash.net.dns flash.security flash.display flash.events flash.net air.net flash.net flash.events air.net flash.security flash.security air.net flash.text flash.data flash.data flash.data flash.data flash.errors flash.events flash.errors flash.events flash.data flash.data

Includo na verso AIR 1.0 1.0 2.0 2.0 1.0 1.0 2.0 2.0 2.0 2.0 1.0 2.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 1.0 1.0 1.0 1.0 3.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Trabalhando com APIs do AIR

11

Classe SQLResult SQLSchema SQLSchemaResult SQLStatement SQLTableSchema SQLTransactionLockType SQLTriggerSchema SQLUpdateEvent SQLViewSchema SRVRecord StageAspectRatio StageOrientation StageOrientationEvent StageText StageTextInitOptions StageWebView StatusFileUpdateErrorEvent StatusFileUpdateEvent StatusUpdateErrorEvent StatusUpdateEvent StorageVolume StorageVolumeChangeEvent StorageVolumeInfo SystemIdleMode SystemTrayIcon TouchEventIntent UpdateEvent Updater URLFilePromise URLMonitor URLRequestDefaults XMLSignatureValidator

Pacote ActionScript 3.0 flash.data flash.data flash.data flash.data flash.data flash.data flash.data flash.events flash.data flash.net.dns flash.display flash.display flash.events flash.text flash.text flash.media air.update.events air.update.events air.update.events air.update.events flash.filesystem flash.events flash.filesystem flash.desktop flash.desktop flash.events air.update.events flash.desktop air.desktop air.net flash.net flash.security

Includo na verso AIR 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 3.0 3.0 2.5 1.5 1.5 1.5 1.5 2.0 2.0 2.0 2.0 1.0 3.0 1.5 1.0 2.0 1.0 1.0 1.0

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Trabalhando com APIs do AIR

12

Classes do Flash Player com funcionalidade especfica do AIR


As classes a seguir esto disponveis para contedo do SWF em execuo no navegador, mas o AIR fornece mtodos ou propriedades adicionais:
Pacote flash.desktop Classe Clipboard ClipboardFormats Propriedade, mtodo ou evento
supportsFilePromise

Includo na verso AIR 2.0 1.0 1.0 2.0 1.0 1.0 1.0 1.0 2.0 2.0 1.0 2.0 2.0 2.0 2.0 2.0 2.6 2.6 2.0 2.6 2.6 2.6

BITMAP_FORMAT FILE_LIST_FORMAT
FILE_PROMISE_LIST_FORMAT URL_FORMAT

flash.display

LoaderInfo

childSandboxBridge parentSandboxBridge

Stage

assignFocus() autoOrients deviceOrientation


nativeWindow

orientation Evento orientationChange Evento orientationChanging setAspectRatio


setOrientation

softKeyboardRect supportedOrientations supportsOrientationChange NativeWindow owner listOwnedWindows NativeWindowInitOptions owner

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Trabalhando com APIs do AIR

13

Pacote flash.events

Classe Event

Propriedade, mtodo ou evento


CLOSING DISPLAYING PREPARING EXITING HTML_BOUNDS_CHANGE HTML_DOM_INITIALIZE HTML_RENDER LOCATION_CHANGE NETWORK_CHANGE STANDARD_ERROR_CLOSE STANDARD_INPUT_CLOSE STANDARD_OUTPUT_CLOSE USER_IDLE USER_PRESENT

Includo na verso AIR 1.0 1.0 2.6 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

HTTPStatusEvent

HTTP_RESPONSE_STATUS responseHeaders responseURL

KeyboardEvent

commandKey controlKey

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Trabalhando com APIs do AIR

14

Pacote flash.net

Classe FileReference

Propriedade, mtodo ou evento


extension

Includo na verso AIR 1.0 1.0 1.0 1.0 1.5 1.5 1.0 1.0

Evento httpResponseStatus
uploadUnencoded()

NetStream

Evento drmAuthenticate Evento onDRMContentData


preloadEmbeddedData() resetDRMVouchers() setDRMAuthenticationCredent ials()

URLRequest

authenticate cacheResponse followRedirects idleTimeout manageCookies useCache userAgent

1.0 1.0 1.0 2.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0

URLStream flash.printing PrintJob

Evento httpResponseStatus
active copies firstPage isColor jobName lastPage maxPixelsPerInch paperArea printableArea printer printers selectPaperSize() showPageSetupDialog() start2() supportsPageSetupDialog terminate()

PrintJobOptions

pixelsPerInch printMethod

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Trabalhando com APIs do AIR

15

Pacote flash.system

Classe Capabilities LoaderContext Security

Propriedade, mtodo ou evento


idiomas allowLoadBytesCodeExecution APPLICATION

Includo na verso AIR 1.1 1.0 1.0 2.5

flash.ui

KeyLocation

D_PAD

A maioria dessas novas propriedades e mtodos esto disponveis apenas para contedo na caixa de proteo de segurana de aplicativos do AIR. No entanto, os novos membros nas classes URLRequest tambm esto disponveis para contedo em execuo em outras caixas de proteo. Os mtodos ByteArray.compress() e ByteArray.uncompress() incluem, cada um, um novo parmetro algorithm, permitindo que voc escolha entre a compactao deflate e zlib. Esse parmetro s est disponvel para contedo em execuo no AIR.

Componentes Flex especficos do AIR


Os seguintes componentes MX do Adobe Flex esto disponveis ao desenvolver contedo para o Adobe AIR:

FileEvent FileSystemComboBox FileSystemDataGrid FileSystemEnumerationMode FileSystemHistoryButton FileSystemList FileSystemSizeDisplayMode FileSystemTree FlexNativeMenu HTML Window WindowedApplication WindowedSystemManager
Alm disso, o Flex 4 inclui os seguintes componentes spark do AIR:

Window WindowedApplication
Para mais informaes sobre os componentes AIR Flex, consulte Using the Flex AIR components.

ltima atualizao em 13/10/2011

16

Captulo 4: Ferramentas da Plataforma Adobe Flash para desenvolvimento do AIR


Voc pode desenvolver aplicativos AIR com as seguintes ferramentas de desenvolvimento da plataforma Adobe Flash. Para desenvolvedores em ActionScript 3.0 (Flash e Flex):

Adobe Flash Professional (consulte Publicaes para o AIR) Adobe Flex 3.x e 4 SDKs (consulte, Definio do SDK do Flex na pgina 18 e AIR Developer Tool (ADT) na
pgina 149)

Adobe Flash Builder (consulte, Desenvolvimento de Aplicativos AIR com o Flash Builder)
Para desenvolvedores em HTML e Ajax:

Adobe AIR SDK (consulte, Instalao do SDK do AIR na pgina 16 e AIR Developer Tool (ADT) na
pgina 149)

Adobe Dreamweaver CS3, CS4, CS5 (consulte AIR Extension para Dreamweaver)

Instalao do SDK do AIR


O Adobe AIR SDK contm as seguintes ferramentas de linha de comando usadas para lanar e empacotar aplicativos:
AIR Debug Launcher (ADL) Permite executar aplicativos AIR sem ter que os instalar primeiro. AIR Debug Launcher

(ADL) na pgina 144


AIR Development Tool (ADT) Empacota aplicativos AIR em pacotes de instalao prontos para distribuio. Consulte

AIR Developer Tool (ADT) na pgina 149. As ferramentas de linha de comando do AIR requerem Java para ser instaladas em seu computador. Voc pode usar a mquina virtual Java a partir do JRE ou do JDK (verso 1.5 ou superior). O Java JRE e o Java JDK esto disponveis em http://java.sun.com/. necessrio pelo menos 2GB de memria de computador para executar a ferramenta ADT. Nota: O Java no necessrio para os usurios finais executarem aplicativos AIR. Para obter uma viso geral sobre a criao de um aplicativo do AIR com o AIR SDK, consulte Criao do seu primeiro aplicativo do AIR baseado em HTML com o SDK do AIR na pgina 32.

Download e instalao do SDK do AIR


Voc pode fazer download do AIR SDK e instal-lo seguindo estas instrues: Como instalar o AIR SDK no Windows Faa download do arquivo de instalao do AIR SDK.

O AIR SDK distribudo como um arquivo morto de arquivos padro. Para instalar o AIR, extraia o contedo do
SDK para uma pasta no seu computador (por exemplo: C:\Program Files\Adobe\AIRSDK ou C:\AIRSDK).

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Ferramentas da Plataforma Adobe Flash para desenvolvimento do AIR

17

As ferramentas ADL e ADT esto contidas na pasta bin no AIR SDK; adicione o caminho para esta pasta a sua
varivel de ambiente PATH. Como instalar o AIR SDK no Mac OS X Faa download do arquivo de instalao do AIR SDK.

O AIR SDK distribudo como um arquivo morto de arquivos padro. Para instalar o AIR, extraia o contedo do
SDK para uma pasta no seu computador (por exemplo: Users/<userName>/Aplicativos/AIRSDK).

As ferramentas ADL e ADT esto contidas na pasta bin no AIR SDK; adicione o caminho para esta pasta a sua
varivel de ambiente PATH. Como instalar o AIR SDK no Linux O SDK est disponvel no formato tbz2.

Para instalar o SDK, crie uma pasta na qual voc deseja descompactar o SDK e, em seguida, use o seguinte comando:
tar -jxvf <path to AIR-SDK.tbz2> Para obter informaes sobre como comear a utilizao das ferramentas AIR SDK, consulte Como criar um aplicativo do AIR usando ferramentas de linha de comando.

O que est includo no SDK do AIR


A tabela a seguir descreve o objetivo dos arquivos contidos no AIR SDK:
Pasta SDK bin Descrio dos arquivos/ferramentas O AIR Debug Launcher (ADL) permite executar um aplicativo do AIR sem empacotlo e instal-lo primeiro. Para obter informaes sobre como usar esta ferramenta, consulte AIR Debug Launcher (ADL) na pgina 144. O AIR Developer Tool (ADT) empacota seu aplicativo como um arquivo AIR para distribuio. Para obter informaes sobre como usar esta ferramenta, consulte AIR Developer Tool (ADT) na pgina 149. frameworks O diretrio libs contm bibliotecas de cdigo para uso em aplicaes AIR. O diretrio projects contm o cdigo para as bibliotecas compiladas SWF e SWC. incluir O diretrio incluso contm o arquivo de cabealho da linguagem C- para escrever extenses nativas. O diretrio install contm os drivers USB do Windows para dispositivos Android. (Estes so os drivers fornecidos pelo Google no Android SDK). Contm o cdigo de suporte para as ferramentas do AIR SDK.

Instalao

lib

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Ferramentas da Plataforma Adobe Flash para desenvolvimento do AIR

18

Pasta SDK tempos de execuo

Descrio dos arquivos/ferramentas Os tempos de execuo AIR para desktop e para dispositivos mveis. O tempo de execuo usado pelo ADL para ativar seus aplicativos AIR antes de serem compactados ou instalados. Os tempos de execuo AIR para o Android (pacotes APK) podem ser instalados em aparelhos com Android ou emuladores para desenvolvimento e testes. Pacotes APL separados so usados para dispositivos e emuladores. (O tempo de execuo AIR pblico para o Android est disponvel no Android Market.)

amostras

Esta pasta contm uma amostra de arquivo de descrio de aplicativo, uma amostra do recurso de instalao direta (badge.swf) e os cones padro do aplicativo do AIR. descriptor-template.xml - Um modelo do arquivo de descrio do aplicativo, necessrio para cada aplicativo do AIR. Para obter uma descrio detalhada do arquivo de descrio do aplicativo, consulte Arquivos descritores do aplicativo do AIR na pgina 186. Os arquivos de esquema para a estrutura XML do descritor do aplicativo para cada verso do AIR tambm so encontrados nesta pasta.

modelos

Definio do SDK do Flex


Para desenvolver aplicativos Adobe AIR com o Adobe Flex, voc tem as seguintes opes:

Voc pode baixar e instalar o Adobe Flash Builder, que fornece ferramentas integradas para criar projetos Adobe
AIR e testar, depurar e empacotar seus aplicativos AIR. Consulte Criando seu primeiro aplicativo desktop Flex AIR no Flash Builder na pgina 20.

Voc pode baixar o Adobe Flex SDK e desenvolver aplicativos Flex AIR usando seu editor de texto e as
ferramentas de linha de comando favoritas. Para obter uma viso geral sobre a criao de um aplicativo do AIR com o Flex SDK, consulte Criando seu primeiro aplicativo desktop do AIR com o Flex SDK na pgina 36.

Instalao do SDK do Flex


A criao de aplicativos AIR com ferramentas de linha de comando requer que o Java esteja instalado no seu computador. Voc pode usar a mquina virtual Java a partir do JRE ou do JDK (verso 1.5 ou superior). O Java JRE e o Java JDK esto disponveis em http://java.sun.com/. Nota: O Java no necessrio para os usurios finais executarem aplicativos AIR. O Flex SDK oferece ferramentas de linha de comando e API do AIR que voc pode usar para empacotar, compilar e depurar seus aplicativos AIR.
1 Efetue o download do Flex SDK a partir de http://opensource.adobe.com/wiki/display/flexsdk/Downloads. 2 Salve o contedo do SDK em uma pasta (por exemplo, Flex SDK). 3 Copie o contedo do AIR SDK sobre os arquivos do Flex SDK.

Nota: Em computadores Mac, no se esquea de copiar ou substituir os arquivos individuais nas pastas individuais SDK - no diretrios inteiros. Por padro, a cpia de um diretrio no Mac para um diretrio de mesmo nome remove os arquivos existentes no diretrio de destino, sem mesclar o contedo das duas pastas. Voc pode usar o comando ditto em uma janela de terminal para mesclar o AIR SDK no Flex SDK:ditto air_sdk_folder
flex_sdk_folder

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Ferramentas da Plataforma Adobe Flash para desenvolvimento do AIR

19

4 Os utilitrios de linha de comando do AIR esto localizados na pasta bin.

Configurao de SDKs externos


O desenvolvimento de aplicaes para o Android e iOS requer que voc baixe arquivos de aprovisionamento, SDKs ou outras ferramentas de desenvolvimento dos criadores da plataforma. Para obter informaes sobre como baixar e instalar o Android SDK, consulteDesenvolvedores do Android: instalao do SDK. A partir do AIR 2.6 voc no obrigado a baixar o Android SDK. O SDK do AIR agora inclui os componentes bsicos necessrios para instalar e lanar pacotes APK. Alm disso, o Android SDK pode ser til para uma variedade de tarefas de desenvolvimento, incluindo a criao e a execuo de emuladores de software e de dispositivos para captura de tela. No necessrio um SDK para o desenvolvimento do IOS. Todavia, os certificados especiais e perfis de aprovisionamento so necessrios. Para obter mais informaes, consulte Obteno dos arquivos de desenvolver da Apple.

ltima atualizao em 13/10/2011

20

Captulo 5: Criando seu primeiro aplicativo do AIR


Criando seu primeiro aplicativo desktop Flex AIR no Flash Builder
Para ver uma ilustrao rpida e prtica de como funciona o Adobe AIR, use estas instrues para criar e empacotar um aplicativo simples "Hello World" do AIR baseado no arquivo SWF, usando o Adobe Flash Builder. Caso ainda no o tenha feito, efetue o download e instale o Flash Builder. Alm disso, baixe e instale a verso mais recente do Adobe AIR, que est localizada aqui: www.adobe.com/go/air_br.

Crie um projeto do AIR


O Flex Builder inclui ferramentas para desenvolver e empacotar aplicativos AIR. Voc comea a criar aplicativos AIR no Flash Builder ou Flex Builder da mesma forma que cria projetos de aplicativo com base no Flex: definindo um novo projeto.
1 Abra o Flash Builder. 2 Selecione Arquivo > Novo > Projeto Flex. 3 Insira o nome do projeto: AIRHelloWorld. 4 No Flex, os aplicativos AIR so considerados um tipo de aplicativo. Voc tem duas opes de tipos:

um aplicativo da web que executa no Adobe Flash Player um aplicativo de computador pessoal que executa no Adobe AIR
Selecione Desktop como tipo de aplicativo.
5 Clique em Concluir para criar o projeto.

Os projetos do AIR consistem inicialmente em dois arquivos: o arquivo MXML principal e o arquivo XML do aplicativo (conhecido como arquivo de descrio do aplicativo). O ltimo arquivo especifica as propriedades do aplicativo. Para obter mais informaes, consulte Desenvolvimento de aplicativos do AIR com Flash Builder.

Gravao do cdigo do aplicativo do AIR


Para gravar o cdigo do aplicativo "Hello World", voc edita o arquivo MXML do aplicativo (AIRHelloWorld.mxml), que aberto no editor. (Se o arquivo no estiver aberto, use o Navegador de Projeto para abri-lo.) Os aplicativos Flex AIR no desktop esto contidos na tag WindowedApplication de MXML. A tag WindowedApplication de MXML cria uma janela simples que inclui controles bsicos de janela, como barra de ttulo e o boto fechar.
1 Acrescente um atributo title ao componente WindowedApplication e atribua-o ao valor "Hello World":

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

21

<?xml version="1.0" encoding="utf-8"?> <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:WindowedApplication>

2 Acrescente um componente Label ao aplicativo (coloque-o dentro da tag WindowedApplication), ajuste a

propriedade text do componente Label como "Hello AIR" e ajuste as restries de layout para mant-lo centrado, como mostrado abaixo:
<?xml version="1.0" encoding="utf-8"?> <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"/> </s:WindowedApplication>

3 Acrescente o bloco do estilo a seguir imediatamente depois de abrir a tag WindowedApplication e antes da tag de

componente de rtulo que voc acabou de inserir:


<fx:Style> @namespace s "library://ns.adobe.com/flex/spark"; s|WindowedApplication { skinClass:ClassReference("spark.skins.spark.SparkChromeWindowedApplicationSkin"); background-color:#999999; background-alpha:"0.7"; } </fx:Style>

Essas configuraes de estilo se aplicam a todo o aplicativo, garantindo um plano de fundo da janela um cinza levemente transparente. O cdigo do aplicativo agora se parece com o seguinte:
<?xml version="1.0" encoding="utf-8"?> <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"> <fx:Style> @namespace s "library://ns.adobe.com/flex/spark"; s|WindowedApplication { skinClass:ClassReference("spark.skins.spark.SparkChromeWindowedApplicationSkin"); background-color:#999999; background-alpha:"0.7"; } </fx:Style> <s:Label text="Hello AIR" horizontalCenter="0" verticalCenter="0"/> </s:WindowedApplication>

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

22

Em seguida, voc vai alterar algumas configuraes no descritor do aplicativo para permitir que o aplicativo seja transparente:
1 No painel de navegao do Flex, localize o arquivo de descrio do aplicativo no diretrio de origem do projeto. Se

voc chamou o seu projeto de AIRHelloWorld, esse arquivo se chama AIRHelloWorld-app.xml.


2 Clique duas vezes no arquivo de descrio do aplicativo para edit-lo no Flash Builder. 3 No cdigo XML, localize as linhas comentadas para as propriedades systemChrome e transparent (da

propriedade initialWindow). Retire os comentrios. (Retire os delimitadores de comentrio "<!--" e "-->" delimitadores de comentrio.)
4 Defina o valor de texto da propriedade systemChrome como none, como aparece a seguir:
<systemChrome>none</systemChrome>

5 Defina o valor de texto da propriedade transparent como true, como aparece a seguir:
<transparent>true</transparent>

6 Salve o arquivo.

Teste do aplicativo do AIR


Para testar o cdigo do aplicativo que voc escreveu, execute-o no modo de depurao.
1 Clique no boto Depurar

na barra de ferramentas principal do

Voc tambm pode selecionar o comando Executar > Depurar > AIRHelloWorld. O aplicativo do AIR resultante deve ter a aparncia do exemplo a seguir:

2 Usando as propriedades horizontalCenter e verrticalCenter do controle Label, o texto


colocado no centro da janela. Move ou redimensione a janela como voc faria em qualquer outro aplicativo

do computador. Nota: Se o aplicativo no for compilado, conserte a sintaxe ou os erros de digitao que voc inseriu de forma inadvertida no cdigo. Os erros e advertncias so exibidos na visualizao Problemas no Flash Builder.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

23

Empacotamento, assinatura e execuo do aplicativo do AIR


Agora voc est pronto para empacotar o aplicativo "Hello World" em um arquivo AIR para distribuio. O arquivo AIR um arquivo de compactao que contm os arquivos do aplicativo, os quais so todos arquivos contidos na pasta bin do projeto. Neste exemplo simples, esses arquivos so os arquivos SWF e XML do aplicativo. Voc distribui o pacote do AIR aos usurios, que ento o utilizam para instalar o aplicativo. Uma etapa necessria neste processo assin-lo digitalmente.
1 Garanta que o aplicativo no contenha erros de compilao e seja executado como esperado. 2 Selecione Projeto > Exportar verso da compilao. 3 Verifique se o projeto AIRHelloWorld e o aplicativo AIRHelloWorld.mxml esto listados no projeto e no

aplicativo.
4 Selecione a opo Exportar como pacote assinado do AIR. Em seguida, clique em Avanar. 5 Se voc j tiver um certificado digital, clique em Procurar para localiz-lo e selecion-lo. 6 Se precisar criar um novo certificado digital autoassinado, selecione Criar. 7 Insira as informaes necessrias e clique em OK. 8 Clique em Concluir para gerar o pacote do AIR, que se chama AIRHelloWorld.air.

Agora voc pode instalar e executar o aplicativo do Navegador de Projeto no Flash Builder ou no sistema de arquivos clicando duas vezes no arquivo AIR.

Criao do seu primeiro aplicativo do AIR desktop usando o Flash Professional


Para ver uma demonstrao rpida e prtica de como o Adobe AIR funciona, siga as instrues neste tpico para criar e empacotar um aplicativo do AIR Hello World simples utilizando o Adobe Flash Professional. Caso ainda no tenha feito isso, baixe e instale o Adobe AIR, que est localizado aqui: www.adobe.com/go/air_br.

Criar aplicativo Hello World no Flash


A criao de um aplicativo Adobe AIR no Flash semelhante criao de qualquer outro arquivo FLA. O procedimento a seguir orienta-o no processo de criao de um aplicativo Hello World simples usando o Flash Professional. Para criar o aplicativo Hello World 1 Inicie o Flash.
2 Na tela de boas-vindas, clique em AIR para criar um arquivo FLA vazio com as configuraes de publicao do

Adobe AIR.
3 Selecione a ferramenta Texto no painel Ferramentas e crie um campo de texto esttico (o padro) no centro do

Palco. Faa-o grande o suficiente para conter de 15 a 20 caracteres.


4 Digite o texto "Hello World" no campo de texto. 5 Salve o arquivo, nomeando-o (por exemplo, HelloAIR).

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

24

Testar o aplicativo
1 Pressione Ctrl + Enter ou selecione Controlar -> Testar filme -> Testar para testar o aplicativo no Adobe AIR. 2 Para utilizar o recurso Depurar filme, primeiro adicione o cdigo ActionScript ao aplicativo. Voc pode fazer isso

rapidamente adicionando uma instruo trace como esta:


trace("Running AIR application using Debug Movie");

3 Pressione Ctrl + Shift + Enter ou selecione Depurar -> Depurar filme -> Depurar para executar o aplicativo com

Depurar filme. O aplicativo Hello World semelhante a esta ilustrao:

Empacotar o aplicativo
1 Selecione Arquivo > Publicar. 2 Assine o pacote Adobe AIR com um certificado digital existentes ou cria um certificado autoassinado passando

pelas seguintes etapas:


a Clique no boto Novo prximo ao campo Certificado. b Preencha as entradas para Nome do editor, Unidade organizacional, Nome da organizao, E-mail, Pas, Senha

e Confirmar senha.
c Especifique o tipo de certificado. A opo Tipo de certificado refere-se ao nvel de segurana: 1024-RSA usa uma

chave de 1024 bits (menos segura) e 2048-RSA usa uma chave de 2048 bits (mais segura).
d Salve as informaes em um arquivo de certificado preenchendo a entrada Salvar como ou clicando no boto

Procurar... para procurar o local da pasta. (Por exemplo, C:/Temp/mycert.pfx). Quando terminar, clique em OK.
e O Flash retorna para o dilogo Assinatura digital. O caminho e o nome de arquivo do certificado autoassinado

que voc criou so exibidos na caixa de texto Certificado. Se isso no ocorrer, digite o caminho e o nome de arquivo ou clique no boto Procurar para localiz-lo e selecion-lo.
f

Insira a mesma senha do campo de texto Senha da caixa de dilogo Assinatura Digital como a senha que voc assinou na etapa "b". Para mais informaes sobre assinatura dos aplicativos Adobe AIR, consulte Assinatura digital de um arquivo AIR na pgina 172.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

25

3 Para criar o arquivo do aplicativo e do programa de instalao, clique no boto Publicar. (No Flash CS4 e CS5,

clique no boto Ok.) Execute Testar filme ou Depurar filme para criar os arquivos SWF e application.xml antes de criar o arquivo AIR.
4 Para instalar o aplicativo, clique duas vezes no arquivo AIR (application.air) na mesma pasta em que salvou seu

aplicativo.
5 Clique no boto Instalar no dilogo Instalao do aplicativo. 6 Revise as Preferncias da instalao e as Configuraes locais e verifique se a caixa de seleo 'Iniciar aplicativo aps

a instalao' est marcada. Em seguida, clique em Continuar.


7 Clique em Concluir quando a mensagem Instalao concluda for exibida.

Crie seu primeiro aplicativo do AIR para Android no Flash Professional


Para desenvolver aplicativos do AIR para Android, voc deve baixar a extenso do Flash Professional CS5 para o Android a partir de Adobe Labs. Voc tambm deve baixar e instalar o Android SDK no site do Android, conforme descrito em: Desenvolvedores para Android: Instalao do SDK. Criar um projeto 1 Abra o Flash Professional CS5
2 Crie um novo projeto do AIR para Android.

A tela inicial do Flash Professional inclui um link para criar um aplicativo do AIR para Android. Voc tambm pode selecionar Arquivo > Novo e, em seguida, selecionar o modelo AIR para Android.
3 Salve o documento como HelloWorld.fla

Escreva o cdigo Como este tutorial no realmente sobre como escrever cdigo, basta usar a ferramenta de texto para escrever, "Hello, World!" no palco. Defina as propriedades do aplicativo 1 Selecione as configuraes Arquivo > AIR para Android.
2 Na guia Geral, especifique as seguintes configuraes:

Arquivo de sada: HelloWorld.apk Nome do aplicativo: HelloWorld ID do aplicativo: HelloWorld Nmero da verso: 0.0.1 Proporo do aspecto: retrato
3 Na guia Implantao, especifique as seguintes configuraes:

Certificado: Aponte para um certificado de assinatura por cdigo do AIR. Voc pode clicar no boto Criar para
criar um novo certificado. (Os aplicativos Android implementados atravs do Android Marketplace devem ter certificados vlidos pelo menos at o ano 2033.) Digite a senha do certificado no campo Senha.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

26

Tipo de implementao do Android: depurao Aps publicao: selecione ambas as opes Digite o caminho para a ferramenta do ADB no subdiretrio de ferramentas do Android SDK.
4 Fechar a caixa de dilogo das configuraes do Android clicando em OK.

O aplicativo no precisa de cones ou permisses nesta fase do desenvolvimento. A maioria dos aplicativos AIR para Android exige algumas permisses para acessar recursos protegidos. Voc s deve definir as permisses que seu aplicativo realmente exige, pois os usurios podem rejeitar seu aplicativo se ele pedir permisses demais.
5 Salve o arquivo.

Compactar e instalar o aplicativo no dispositivo do Android. 1 Confira se a depurao por USB est ativada no dispositivo. Voc pode ativar a depurao por USB nas Configuraes do aplicativo em Aplicativos > Desenvolvimento.
2 Conecte seu dispositivo ao computador com um cabo USB. 3 Instale o tempo de execuo do AIR. Se voc no tiver feito isso, v para o Android Market e baixe o Adobe AIR.

(Voc tambm pode instalar o AIR localmente usando o comando Comando installRuntime do ADT na pgina 159. Pacotes do Android para uso em emuladores e dispositivos Android so includos no AIR SDK).
4 Selecione Arquivo > Publicar.

O Flash Professional cria o arquivo APK, instala o aplicativo no dispositivo Android conectado, e ativa-o.

Criao de seu primeiro aplicativo do AIR para iOS


AIR 2.6 ou posterior, iOS 4.2 ou posterior Voc pode codificar, compilar e testar os recursos bsicos de um aplicativo do IOS usando apenas ferramentas Adobe. Contudo, para instalar um aplicativo iOS em um dispositivo e distribu-lo voc deve aderir ao programa Apple iOS Developer (que um servio pago). Depois de entrar no programa de desenvolvedor do iOS voc pode acessar o Portal de aprovisionamento do iOS onde poder obter os itens a seguir e arquivos da Apple que so necessrios para instalar um aplicativo em um dispositivo para testes e para posterior distribuio. Estes itens e arquivos incluem:

Certificados de distribuio e desenvolvimento IDs do aplicativo Arquivos de aprovisionamento de desenvolvimento e distribuio

Crie o contedo do aplicativo


Crie um arquivo SWF que exibe o texto Hello world! Voc pode executar essa tarefa usando o Flash Professional, Flash Builder ou outro IDE. Este exemplo simplesmente usa um editor de texto e o compilador SWF de linha de comando includo no Flex SDK.
1 Crie um diretrio em um local conveniente para armazenar seus arquivos de aplicativo. Crie um arquivo chamado

HelloWorld.as e edite-o no seu editor de cdigo favorito.


2 Adicione o cdigo a seguir:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

27

package{ import import import import flash.display.Sprite; flash.text.TextField; flash.text.TextFormat; flash.text.TextFieldAutoSize;

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 Compile a classe usando o compilador amxmlc:


amxmlc HelloWorld.as

Um arquivo SWF HelloWorld.swf criado na mesma pasta. Nota: Este exemplo assume que voc configurou a varivel de caminho do ambiente para incluir o diretrio que contm amxmlc. Para obter mais informaes sobre definio de caminho, consulte Variveis de ambiente do caminho na pgina 281. Alternativamente, voc pode digitar o caminho completo para amxmlc e para as outras ferramentas de linha de comando usadas neste exemplo.

Criar cone arte e tela inicial arte do aplicativo


Todos os aplicativos para iOS tm cones que aparecem na interface de usurio do aplicativo iTunes e na tela do dispositivo.
1 Crie um diretrio no diretrio de seu projeto e nomeie-o "cones". 2 Crie trs arquivos PNG no diretrio "cones". Nomeie os arquivos Icon_29.png, Icon_57.png e Icon_512.png. 3 Edite os arquivos PNG para criar a arte adequada ao seu aplicativo. Os arquivos devem ter 29 por 29 pixels, 57 por

57 pixels e 512 por 512 pixels. Neste teste, use simplesmente quadrados de cor slida como arte. Nota: Ao submeter um aplicativo Apple App Store, use a verso JPG (no a verso PNG) do arquivo com 512 pixels. Use a verso PNG ao testar as verses de desenvolvimento de um aplicativo. Todos os aplicativos para iPhone exibem uma imagem inicial quando o aplicativo carrega no iPhone. Defina a imagem inicial em um arquivo PNG:
1 No diretrio principal de desenvolvimento, crie um arquivo PNG com o nome Default.png. (No coloque esse

arquivo no subdiretrio "cones": Certifique-se de nomear o arquivo Default.png com D maisculo).


2 Edite o arquivo para 320 pixels de largura e 480 pixels de altura. Por enquanto, o contedo pode ser retngulo

branco liso. (Voc mudar isso mais tarde). Para informaes detalhadas sobre estes grficos, consulte cones de aplicativos na pgina 84.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

28

Crie o arquivo descritor do aplicativo


Crie um arquivo de descritor do aplicativo que especifique as propriedades bsicas para a aplicao. Voc pode concluir esta tarefa utilizando um IDE como o Flash Builder ou um editor de texto.
1 Na pasta do projeto que contm HelloWorld.as, crie um arquivo XML chamado HelloWorld-app.xml. Edite este

arquivo no seu editor de XML favorito.


2 Adicione o XML a seguir:
<?xml version="1.0" encoding="utf-8" ?> <application xmlns="http://ns.adobe.com/air/application/2.7" minimumPatchLevel="0"> <id>change_to_your_id</id> <name>Hello World iOS</name> <versionNumber>0.0.1</versionNumber> <filename>HelloWorld</filename> <supportedProfiles>mobileDevice</supportedProfiles> <initialWindow> <content>HelloWorld.swf</content> <title>Hello World!</title> </initialWindow> <icon> <image29x29>icons/AIRApp_29.png</image29x29> <image57x57>icons/AIRApp_57.png</image57x57> <image512x512>icons/AIRApp_512.png</image512x512> </icon> </application>

Por razes de simplicidade, este exemplo define apenas algumas das propriedades disponveis. Nota: Se voc estiver utilizando o AIR 2 ou anterior, dever utilizar o elemento <version> em vez do elemento <versionNumber>.
3 Altere o ID do aplicativo para coincidir com o ID do aplicativo especificado no Portal de Aprovisionamento do iOS.

(No inclua a parte da distribuio do conjunto aleatrio no incio do ID).


4 Teste o aplicativo usando o ADL:
adl HelloWorld-app.xml -screensize iPhone

O ADL deve abrir uma janela no seu desktop que exibe o texto: Hello World!Se isto no acontecer, procure por erros no cdigo-fonte e no descritor do aplicativo.

Compile o arquivo IPA


Agora possvel compilar o arquivo do instalador do IPA usando o ADT. Voc deve ter o certificado de desenvolvedor da Apple e a chave privada em formato de arquivo P12, alm do perfil de aprovisionamento de desenvolvimento da Apple. Execute o utilitrio do ADT com as opes a seguir, substituindo o armazenamento de chaves, a senha do armazenamento, e os valores de perfil por aprovisionamento pelos seus prprios:
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

(Utilize uma nica linha de comando; as quebras de linha neste exemplo so apenas para torn-lo mais fcil de ler.)

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

29

ADT gera o arquivo de instalao do aplicativo do iOS, HelloWorld.ipa, no diretrio do projeto. A compilao do arquivo IPA pode demorar alguns minutos.

Instale o aplicativo em um dispositivo


Para instalar o aplicativo do iOS para testes:
1 Abra o aplicativo iTunes. 2 Se voc ainda no fez isso, adicione o perfil de aprovisionamento desse aplicativo ao iTunes. No iTunes, selecione

Arquivo > Adicionar Biblioteca. Selecione o arquivo de perfil de aprovisionamento (que tem mobileprovision como tipo de arquivo). Por enquanto, para testar o aplicativo em seu dispositivo de desenvolvedor, use o perfil de aprovisionamento de desenvolvimento. Mais tarde, ao distribuir o aplicativo para a iTunes Store, use o perfil de distribuio. Para distribuir o aplicativo ad hoc (para mltiplos dispositivos sem passar pela iTunes Store), use o arquivo de aprovisionamento ad hoc. Para obter mais informaes sobre perfis de aprovisionamento, consulte Configurao do iOS na pgina 66.
3 Algumas verses do iTunes no substituem o aplicativo, se a mesma verso do aplicativo estiver instalada. Nesse

caso, exclua o aplicativo do seu dispositivo e da lista de aplicativos no iTunes.


4 Clique duas vezes no arquivo IPA do aplicativo. O arquivo deve aparecer na lista de aplicativos no iTunes. 5 Conecte seu dispositivo porta USB em seu computador. 6 No iTunes, selecione a guia Aplicativos do dispositivo e certifique-se de que o aplicativo est selecionado na lista de

aplicativos para instalao.


7 Selecione o dispositivo na lista esquerda do aplicativo iTunes. Em seguida, clique no boto Sync. Quando a

sincronizao terminar, o aplicativo Hello World aparecer em seu iPhone. Se a nova verso no estiver instalada, exclua-a do dispositivo e da lista de aplicativos no iTunes e, em seguida, execute novamente esse procedimento. Talvez esse seja o caso, se a verso instalada atualmente usa o mesmo ID do aplicativo e verso.

Editar o grfico da tela inicial


Antes de compilar o aplicativo, voc criou o arquivo Default.png (consulte Criar cone arte e tela inicial arte do aplicativo na pgina 27). Esse arquivo PNG atua como a imagem de inicializao quando o aplicativo carregado. Quando voc testou o aplicativo em seu iPhone, talvez tenha observado a tela branca na inicializao. Altere essa imagem para coincidir com a tela de inicializao de seu aplicativo (Hello World!):
1 Abra o aplicativo em seu dispositivo. Quando o primeiro texto Hello World aparecer, pressione e mantenha

pressionado o boto Incio (abaixo da tela). Mantendo pressionado o boto Incio, pressione o boto Despertar/Repousar na parte superior do iPhone). Isso executa uma captura de tela e envia-a para o rolo da cmera.
2 Transfira a imagem para seu computador de desenvolvimento, transferindo as fotos do iPhoto ou de outro

aplicativo de transferncia de fotos. (No Mac OS, possvel tambm usar o aplicativo Captura de Imagem). possvel tambm enviar a foto por e-mail para seu computador de desenvolvimento:

Abra o aplicativo Fotos. Abra Rolo da cmera. Abra a imagem da captura de tela que capturou.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

30

Pressione a imagem e, em seguida, pressione o boto (seta) Avanar no canto inferior esquerdo. Em seguida,
clique no boto Enviar foto por e-mail e envie a imagem para voc mesmo.
3 Substitua o arquivo Default.png (no seu diretrio de desenvolvimento) pela verso PNG da imagem da captura de tela. 4 Compile novamente o aplicativo (consulte Compile o arquivo IPA na pgina 28) e reinstale-o em seu dispositivo.

O aplicativo usa a nova tela de inicializao ao carregar. Nota: possvel criar qualquer arte que deseja para o arquivo Default.png, desde que tenha as dimenses corretas (320 x 480 pixels). No entanto, frequentemente melhor que a imagem do arquivo Default.png coincida com o estado inicial do aplicativo.

Criao do primeiro aplicativo do AIR baseado em HTML com o Dreamweaver


Para uma ver uma ilustrao rpida e prtica de como funciona o Adobe AIR, use essas instrues para criar e empacotar um aplicativo simples "Hello World" do AIR baseado em HTML usando o Adobe AIR Extension for Dreamweaver. Caso ainda no tenha feito isso, baixe e instale o Adobe AIR, que est localizado aqui: www.adobe.com/go/air_br. Para obter instrues sobre a instalao do Adobe AIR Extension para Dreamweaver, consulte Instale o Adobe AIR Extension para Dreamweaver. Para obter uma viso geral da extenso, incluindo os requisitos do sistema, consulte AIR Extension para Dreamweaver. Nota: Os aplicativos do AIR baseados em HTML s podem ser desenvolvidos para os perfis desktop e extendedDesktop. Perfis tv e mvel no esto disponveis.

Preparao dos arquivos do aplicativo


Seu aplicativo do AIR deve ter uma pgina inicial e todas as suas pginas relacionadas definidas em um site do Dreamweaver:
1 Inicie o Dreamweaver e certifique-se de ter um site definido. 2 Abra uma nova pgina HTML selecionando Arquivo > Novo, depois HTML na coluna Tipo de pgina, em seguida

Nenhum na coluna Layout e clicando em Criar.


3 Na nova pgina, digite Hello World!

Este exemplo extremamente simples, mas, se desejar, voc pode aplicar estilo ao texto ao seu gosto, adicionar mais contedo pgina, vincular outras pginas a essas pgina inicial e assim por diante.
4 Salve a pgina (Arquivo > Salvar) como hello_world.html. Certifique-se de salvar o arquivo em um site

Dreamweaver. Para obter mais informaes sobre os sites Dreamweaver, consulte a Ajuda do Dreamweaver.

Criao do aplicativo Adobe AIR


1 No se esquea de abrir a pgina hello_world.html na janela do documento do Dreamweaver. (Consulte a seo

anterior para obter instrues sobre sua criao.)


2 Selecione Site > Configuraes do aplicativo do AIR.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

31

A maioria das configuraes exigidas na caixa de dilogo Configuraes e aplicativo do AIR so preenchidas automaticamente para voc. Voc deve, no entanto, selecionar o contedo inicial (ou a pgina inicial) do seu aplicativo.
3 Clique no boto Procurar perto da opo Contedo inicial, v at sua pgina hello_world.html e selecione-a. 4 Perto da opo Assinatura digital, clique no boto Definir.

A assinatura digital fornece a garantia de que o cdigo para um aplicativo no foi alterado nem est corrompido desde sua criao pelo autor do software, sendo exigido em todos os aplicativos Adobe AIR.
5 Na caixa de dilogo Assinatura digital, selecione Assinar o pacote AIR com um certificado digital, e clique no boto

Criar. (Se voc j tiver acesso a um certificado digital, poder clicar no boto Procurar para selecion-lo.)
6 Preencha os campos necessrios na caixa de dilogo Certificado digital autoassinado. Voc vai precisar inserir seu

nome e uma senha e depois confirm-la, e inserir um nome para o arquivo de certificado digital. O Dreamweaver salva o certificado digital na raiz do site.
7 Clique em OK para voltar para a caixa de dilogo Assinatura digital. 8 Na caixa de dilogo Assinatura digital, insira a senha especificada para seu certificado digital e clique em OK.

A caixa de dilogo completa do aplicativo do AIR e das configuraes do instalador talvez se paream com o seguinte:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

32

Para obter mais informaes sobre todas as opes de caixa de dilogo e como edit-as, consulte Criao de um aplicativo do AIR no Dreamweaver.
9 Clique no boto Criar arquivo AIR.

O Dreamweaver cria o arquivo do aplicativo Adobe AIR e salva-o na pasta raiz do seu site. O Dreamweaver tambm cria um arquivo application.xml e o salva no mesmo lugar. Este arquivo serve como manifesto, definido vrias propriedades do aplicativo.

Instalao do aplicativo em um computador


Agora que voc criou o arquivo de aplicativo, poder instal-lo em qualquer computador.
1 Retire o arquivo do aplicativo do AIR do seu site Dreamweaver e para dentro do seu computador, ou para outro

computador. Essa etapa opcional. Voc pode, na verdade, instalar o novo aplicativo no seu computador direto do diretrio do site do Dreamweaver, se preferir.
2 Clique duas vezes no arquivo executvel do aplicativo (arquivo .air) para instalar o aplicativo.

Pr-visualizao do aplicativo Adobe AIR


Voc pode pr-visualizar as pginas que faro parte dos aplicativos do AIR a qualquer momento. Ou seja, voc no precisa necessariamente empacotar o aplicativo antes de ver como ele ficar depois de instalado.
1 Certifique-se de que sua pgina hello_world.html est aberta na janela de documentos do Dreamweaver. 2 Na barra de ferramentas do documento, clique no boto Visualizar/depurar no navegador, e depois selecione

Visualizar no AIR. Voc tambm pode pressionar Ctrl+Shift+F12 (Windows) ou Cmd+Shift+F12 (Macintosh). Ao visualizar essa pgina, voc est vendo essencialmente o que um usurio veria como pgina inicial do aplicativo depois de ter instalado o aplicativo em um computador.

Criao do seu primeiro aplicativo do AIR baseado em HTML com o SDK do AIR
Para uma ver uma ilustrao rpida e prtica de como funciona o Adobe AIR, use essas instrues para criar e empacotar um aplicativo simples "Hello World" do AIR baseado em HTML. Para comear, voc deve ter instalado o tempo de execuo e configurar o SDK do AIR. Voc via usar o AIR Debug Launcher (ADL) e a AIR Developer Tool (ADT) neste tutorial. O ADL e o ADT so programas utilitrios de linha de comando e podem ser encontrados no diretrio bin do SDK do AIR (consulte Instalao do SDK do AIR na pgina 16). Este tutorial parte do princpio de que voc j est familiarizado com os programas em execuo da linha de comando e sabe como configurar as variveis do ambiente do caminho necessrio para o seu sistema operacional. Nota: Se voc for um usurio do Adobe Dreamweaver, leia Criao do primeiro aplicativo do AIR baseado em HTML com o Dreamweaver na pgina 30. Nota: Os aplicativos do AIR baseados em HTML s podem ser desenvolvidos para os perfis desktop e extendedDesktop. Perfis tv e mvel no esto disponveis.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

33

Criar os arquivos do projeto


Cada projeto do AIR baseado em HTML deve conter os dois arquivos a seguir: um arquivo descritor do aplicativo, que especifica os metadados do aplicativo, e uma pgina HTML de nvel superior. Alm disses arquivos necessrios, este projeto inclui um arquivo de cdigo em JavaScript, AIRAliases.js, que define as variveis alias para as classes API do AIR.
1 Crie um diretrio chamado HelloWorld para conter os arquivos de projeto. 2 Crie um arquivo XML, chamado HelloWorld-app.xml. 3 Crie um arquivo HTML chamado HelloWorld.html. 4 Copie AIRAliases.js da pasta de estruturas do SDK do AIR no diretrio do projeto.

Criar o arquivo descritor do aplicativo do AIR


Para comear a desenvolver seu aplicativo do AIR, crie um arquivo descritor do aplicativo XML com a seguinte estrutura:
<application xmlns="..."> <id></id> <versionNumber></versionNumber> <filename></filename> <initialWindow> <content></content> <visible></visible> <width></width> <height></height> </initialWindow> </application>

1 Abra HelloWorld-app.xml para edio. 2 Acrescente o elemento raiz <application>, incluindo o atributo de espao de nome do AIR:

<application xmlns="http://ns.adobe.com/air/application/2.7"> O ltimo segmento do namespace, 2.7, especifica a verso do tempo de execuo requerida pelo aplicativo.
3 Acrescente o elemento <id>:

<id>examples.html.HelloWorld</id> O id do aplicativo identifica exclusivamente seu aplicativo junto com o ID de editor (que o AIR cria do certificado usado para assinar o pacote do aplicativo). O ID de aplicativo usada para instalao, acesso ao diretrio privado de armazenamento do sistema de arquivos, acesso ao armazenamento criptografado privado e comunicao entre aplicativos.
4 Acrescente o elemento <versionNumber>:

<versionNumber>0.1</versionNumber> Ajuda os usurios a determinar qual verso do aplicativo eles esto instalando. Nota: Se voc estiver utilizando o AIR 2 ou anterior, dever utilizar o elemento <version> em vez do elemento
<versionNumber>.

5 Acrescente o elemento <filename>:

<filename>HelloWorld</filename> O nome dusado para o executvel do aplicativo, diretrio de instalao e outras referncias ao aplicativo no sistema operacional.
6 Acrescente o elemento <initialWindow> que contm os seguintes elementos filho para especificar as

propriedades da janela inicial do seu aplicativo:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

34

<content>HelloWorld.html</content> Identifica o arquivo HTML raiz que o AIR deve carregar. <visible>true</visible> Torna a janela visvel imediatamente. <width>400</width> Ajusta a largura da janela (em pixels). <height>200</height> Ajusta a altura da janela.
7 Salve o arquivo. O arquivo descritor completo do aplicativo deve se parecer com o seguinte:
<?xml version="1.0" encoding="UTF-8"?> <application xmlns="http://ns.adobe.com/air/application/2.7"> <id>examples.html.HelloWorld</id> <versionNumber>0.1</versionNumber> <filename>HelloWorld</filename> <initialWindow> <content>HelloWorld.html</content> <visible>true</visible> <width>400</width> <height>200</height> </initialWindow> </application>

Este exemplo s define algumas propriedades possveis do aplicativo. Para ver o conjunto completo de propriedades do aplicativo, que lhe permitem especificar coisas como cromo e tamanho da janela, transparncia, diretrio padro de instalao, tipos de arquivo associados e cones do aplicativo, consulte Arquivos descritores do aplicativo do AIR na pgina 186.

Criar a pgina HTML do aplicativo


Agora voc precisa criar uma pgina HTML simples que serve como arquivo principal para o aplicativo do AIR.
1 Abra o arquivo HelloWorld.html para edio. Acrescente o seguinte cdigo HTML:
<html> <head> <title>Hello World</title> </head> <body onLoad="appLoad()"> <h1>Hello World</h1> </body> </html>

2 Na seo <head> do HTML, importe o arquivo AIRAliases.js:


<script src="AIRAliases.js" type="text/javascript"></script>

O AIR define uma propriedade chamada runtime no objeto da janela HTML. A propriedade de tempo de execuo fornece acesso s classes incorporadas do AIR, usando o nome do pacote totalmente qualificado da classe. Por exemplo, para criar um objeto File do AIR, voc poderia acrescentar a instruo seguinte em JavaScript:
var textFile = new runtime.flash.filesystem.File("app:/textfile.txt");

O arquivo AIRAliases.js define os aliases convenientes para as APIs mais teis do AIR. Usando o AIRAliases.js, voc poderia encurtar a referncia ao arquivo File para o seguinte:
var textFile = new air.File("app:/textfile.txt");

3 Abaixo da tag de script AIRAliases, acrescente outra tag de script contendo uma funo de JavaScript para lidar com

o evento onLoad:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

35

<script type="text/javascript"> function appLoad(){ air.trace("Hello World"); } </script>

A funo appLoad() simplesmente chama a funo air.trace(). A mensagem do traado impressa no console de comando quando voc executa o aplicativo usando o ADL. As instrues de traado podem ser muito teis para depurao.
4 Salve o arquivo.

Seu arquivo HelloWorld.html deve se parecer com o seguinte:


<html> <head> <title>Hello World</title> <script type="text/javascript" src="AIRAliases.js"></script> <script type="text/javascript"> function appLoad(){ air.trace("Hello World"); } </script> </head> <body onLoad="appLoad()"> <h1>Hello World</h1> </body> </html>

Testar o aplicativo
Para executar e testar o aplicativo da linha de comando, use o utilitrio AIR Debug Launcher (ADL). O executvel ADL pode ser encontrado no diretrio bin do SDK do AIR. Se voc ainda no configurou o SDK do AIR, consulte Instalao do SDK do AIR na pgina 16.
1 Abra um console ou shell de comando. Troque para o diretrio que voc criou para este projeto. 2 Execute o seguinte comando:
adl HelloWorld-app.xml

aberta uma janela do AIR, exibindo seu aplicativo. Alm disso, a janela de console exibe a mensagem que resulta da chamada air.trace(). Para mais informaes, consulte Arquivos descritores do aplicativo do AIR na pgina 186.

Criar o arquivo de instalao do AIR


Quando seu aplicativo executado com sucesso, voc pode usar o utilitrio ADT para empacotar o aplicativo em um arquivo de instalao do AIR. Um arquivo de instalao do AIR um arquivo de compactao que contm todos os arquivos do aplicativo, que voc pode distribuir para seus usurios. Voc deve instalar o Adobe AIR antes de instalar um arquivo AIR empacotado. Para garantir a segurana do aplicativo, todos os arquivos de instalao do AIR devem ser digitalmente assinados. Para fins de desenvolvimento, voc pode gerar um certificado bsico autoassinado com o ADT ou outra ferramenta de gerao de certificados. Tambm possvel comprar um certificado comercial com assinatura de cdigo de uma autoridade de certificado comercial como a VeriSign ou a Thawte. Quando os usurios instalam um arquivo AIR autoassinado, o editor exibido como "desconhecido" durante o processo de instalao. Isso ocorre porque um

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

36

certificado autoassinado s garante que o arquivo AIR no tenha sido alterado desde sua criao. No h nada que impea algum de autoassinar um arquivo AIR disfarado e apresent-lo como seu aplicativo. Para os arquivos AIR liberados ao pblico, um certificado comercial verificvel altamente recomendado. Para uma viso geral de questes de segurana do AIR, consulte Segurana do AIR (para desenvolvedores em ActionScript) ou AIR security (para desenvolvedores em HTML). Gerar um certificado autoassinado e par de chaves No prompt de comando, insira o comando a seguir (o executvel ADT est no diretrio bin do SDK do AIR):
adt -certificate -cn SelfSigned 1024-RSA sampleCert.pfx samplePassword

O ADT gera um arquivo de keystore chamado sampleCert.pfx que contm um certificado e uma chave privada relacionada. Este exemplo usa o nmero mnimo de atributos que podem ser definidos para um certificado. O tipo de chave deve ser 1024-RSA ou 2048-RSA (consulte Assinatura de aplicativos AIR na pgina 172). Criar o arquivo de instalao do AIR No prompt de comando, digite o seguinte comando (em uma nica linha):
adt -package -storetype pkcs12 -keystore sampleCert.pfx HelloWorld.air HelloWorld-app.xml HelloWorld.html AIRAliases.js

Voc ter que fornecer a senha do arquivo do keystore. O argumento HelloWorld.air o arquivo AIR que o ADT produz. HelloWorld-app.xml o arquivo descritor do aplicativo. Os argumentos subsequentes so os arquivos usados pelo seu aplicativo. Esse exemplo s usa dois arquivos, mas voc pode incluir qualquer nmero de arquivos e diretrios. O ADT verifica se o principal arquivo de contedo (HelloWorld.html) est includo no pacote, mas se voc esquecer de incluir AIRAliases.js, seu aplicativo simplesmente no funcionar. Depois da criao do pacote AIR, voc pode instalar e executar o aplicativo clicando duas vezes no arquivo de pacote Voc tambm pode digitar o nome do arquivo AIR como comando em um shell ou janela de comando.

Prximas etapas
No AIR, o cdigo de HTML e JavaScript geralmente se comporta da mesma forma que se comportaria em um navegador tpico. (Na verdade, o AIR usa o mesmo mecanismo de renderizao WebKit usado pelo navegador da Web Safari.) No entanto, h algumas diferenas importantes que voc deve entender ao desenvolver aplicativos HTML no AIR. Para mais informaes sobre estas diferenas e outros tpicos importantes, consulte Programming HTML and JavaScript.

Criando seu primeiro aplicativo desktop do AIR com o Flex SDK


Para obter ilustraes prticas e rpidas sobre o funcionamento do Adobe AIR, use estas instrues para criar um simples aplicativo do AIR com base em SWF "Hello World" utilizando o Flex SDK. Este tutorial mostra como compilar, testar e empacotar um aplicativo do AIR com as ferramentas de linha de comando fornecidas com o Flex SDK (o Flex SDK inclui o AIR SDK).

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

37

Para comear, voc deve ter instalado o tempo de execuo e configurar o Adobe Flex. Este tutorial utiliza o compilador AMXMLC, o AIR Debug Launcher (ADL) e a AIR Developer Tool (ADT). Estes programas podem ser encontrados no diretrio bin do Flex SDK (consulte Definio do SDK do Flex na pgina 18).

Criar o arquivo descritor do aplicativo do AIR


Esta seo descreve como criar o descritor do aplicativo, que um arquivo XML com a estrutura a seguir:
<application xmlns="..."> <id>...</id> <versionNumber>...</versionNumber> <filename></filename> <initialWindow> <content></content> <visible></visible> <width></width> <height></height> </initialWindow> </application>

1 Crie um arquivo XML com o nome HelloWorld-app.xml e salve-o no diretrio do projeto. 2 Acrescente o elemento <application>, incluindo o atributo de espao de nome do AIR:

<application xmlns="http://ns.adobe.com/air/application/2.7"> O ltimo segmento do espao de nome, 2.7, especifica a verso do tempo de execuo de que o aplicativo necessita.
3 Acrescente o elemento <id>:

<id>samples.flex.HelloWorld</id> O id do aplicativo identifica exclusivamente seu aplicativo junto com o ID de editor (que o AIR cria do certificado usado para assinar o pacote do aplicativo). A forma recomendado uma sequncia de caractere separados por pontos, do tipo DNS reverso, como, por exemplo, "com.company.AppName". O ID de aplicativo usada para instalao, acesso ao diretrio privado de armazenamento do sistema de arquivos, acesso ao armazenamento criptografado privado e comunicao entre aplicativos.
4 Acrescente o elemento <versionNumber>:

<versionNumber>1.0</versionNumber> Ajuda os usurios a determinar qual verso do aplicativo eles esto instalando. Nota: Se voc estiver utilizando o AIR 2 ou anterior, dever utilizar o elemento <version> em vez do elemento
<versionNumber>.

5 Acrescente o elemento <filename>:

<filename>HelloWorld</filename> O nome dusado para o executvel do aplicativo, diretrio de instalao e outras referncias ao aplicativo no sistema operacional.
6 Acrescente o elemento <initialWindow> que contm os seguintes elementos filho para especificar as

propriedades da janela inicial do seu aplicativo: <content>HelloWorld.swf</content> Identifca o arquivo SWF de raiz para o AIR carregar. <visible>true</visible> Torna a janela visvel imediatamente. <width>400</width> Ajusta a largura da janela (em pixels). <height>200</height> Ajusta a altura da janela.
7 Salve o arquivo. O arquivo descritor de aplicativo completo deve assemelhar-se ao seguinte:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

38

<?xml version="1.0" encoding="UTF-8"?> <application xmlns="http://ns.adobe.com/air/application/2.7"> <id>samples.flex.HelloWorld</id> <versionNumber>0.1</versionNumber> <filename>HelloWorld</filename> <initialWindow> <content>HelloWorld.swf</content> <visible>true</visible> <width>400</width> <height>200</height> </initialWindow> </application>

Este exemplo s define algumas propriedades possveis do aplicativo. Para ver o conjunto completo de propriedades do aplicativo, que lhe permitem especificar coisas como cromo e tamanho da janela, transparncia, diretrio padro de instalao, tipos de arquivo associados e cones do aplicativo, consulte Arquivos descritores do aplicativo do AIR na pgina 186.

Gravao do cdigo do aplicativo


Nota: Aplicativos com SWF com base no AIR podem utilizar a classe principal definida no MXML ou com o Adobe ActionScript 3.0. Este exemplo utiliza o arquivo MXML para definir a classe principal. O processo de criao de um aplicativo do AIR com a classe principal ActionScript similar. Em vez de compilar um arquivo MXML em um arquivo SWF, compile o arquivo da classe ActionScript. Ao utilizar ActionScript, a classe principal deve estender-se a flash.display.Sprite. Como todos os aplicativos com base em Flex, os aplicativos AIR criados com o Flex contm o arquivo principal MXML. Aplicativos desktop do AIR usam o componente WindowedApplication como elemento raiz, em vez do componente Application. O componente WindowedApplication fornece propriedades, mtodos e eventos para controlar seu aplicativo e a janela inicial. Em plataformas e perfis para os quais o AIR no oferece suporte a vrias janelas, continue a utilizar o componente Application. Nos aplicatos Flex mveis, voc tambm pode usar o componente Visualizao ou o componente TabbedViewNavigatorApplication. O procedimento a seguir cria o aplicativo Hello World:
1 Utilizando um editor de texto, crie um arquivo chamado HelloWorld.mxml e adicione o cdigo MXML a seguir:
<?xml version="1.0" encoding="utf-8"?> <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:WindowedApplication>

2 Em seguida, adicione um componente Label ao aplicativo (insira-o na tag WindowedApplication). 3 Defina propriedade text do componente Label para "Hello AIR". 4 Defina as restries de layout para sempre manter centralizado.

O exemplo a seguir mostra o cdigo at agora:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

39

<?xml version="1.0" encoding="utf-8"?> <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"/> </s:WindowedApplication>

Compile o aplicativo
Antes de executar e depurar o aplicativo, compile o cdigo MXML em um arquivo SWF utilizando o compilador amxmlc. O compilador amxmlc pode localizar o diretrio bin do Flex SDK. Se preferir, voc pode definir a varivel de ambiente do caminho de seu computador para incluir o diretrio bin o Flex SDK. A configurao do caminho facilita a execuo dos utilitrios na linha de comando.
1 Abra um prompt de comando ou um terminal e navegue at a pasta de projeto do aplicativo do AIR. 2 Digite o seguinte comando:
amxmlc HelloWorld.mxml

O compilador amxmlc cria o arquivoHelloWorld.swf, que contm o cdigo compilado do aplicativo. Nota: Se o aplicativo no compilar, corrija erros de sintaxe ou ortografia. Erros e avisos sero exibidos na janela do console utilizado para executar o compilador amxmlc. Para obter mais informaes, consulte Compilao de arquivos de origem do MXML e ActionScript para AIR na pgina 140.

Testar o aplicativo
Para executar e testar o aplicativo a partir da linha de comando, utilize o AIR Debug Launcher (ADL) para executar o aplicativo utilizando o arquivo do descritor do aplicativo. (O ADL pode ser encontrado no diretrio bin do Flex SDK.)
No prompt de comando, insira o comando a seguir:
adl HelloWorld-app.xml

O aplicativo do AIR resultante similiar figura a seguir:

Usando as propriedades horizontalCenter e verrticalCenter do controle Label, o texto colocado no centro da janela. Move ou redimensione a janela como voc faria em qualquer outro aplicativo do computador. Para obter mais informaes, consulte AIR Debug Launcher (ADL) na pgina 144.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

40

Criar o arquivo de instalao do AIR


Quando seu aplicativo executado com sucesso, voc pode usar o utilitrio ADT para empacotar o aplicativo em um arquivo de instalao do AIR. Um arquivo de instalao do AIR um arquivo de compactao que contm todos os arquivos do aplicativo, que voc pode distribuir para seus usurios. Voc deve instalar o Adobe AIR antes de instalar um arquivo AIR empacotado. Para garantir a segurana do aplicativo, todos os arquivos de instalao do AIR devem ser digitalmente assinados. Para fins de desenvolvimento, voc pode gerar um certificado bsico autoassinado com o ADT ou outra ferramenta de gerao de certificados. Voc tambm pode adquirir um certificado de assinatura de cdigo comercial de uma autoridade de certificao. Quando os usurios instalam um arquivo AIR autoassinado, o editor exibido como "desconhecido" durante o processo de instalao. Isso ocorre porque um certificado autoassinado s garante que o arquivo AIR no tenha sido alterado desde sua criao. No h nada que impea algum de autoassinar um arquivo AIR disfarado e apresent-lo como seu aplicativo. Para os arquivos AIR liberados ao pblico, um certificado comercial verificvel altamente recomendado. Para uma viso geral de questes de segurana do AIR, consulte Segurana do AIR (para desenvolvedores em ActionScript) ou AIR security (para desenvolvedores em HTML). Gerar um certificado autoassinado e par de chaves No prompt de comando, insira o comando a seguir (o executvel ADT est no diretrio bin do SDK do Flex):
adt -certificate -cn SelfSigned 1024-RSA sampleCert.pfx samplePassword

Este exemplo usa o nmero mnimo de atributos que podem ser definidos para um certificado. O tipo de chave deve ser 1024-RSA ou 2048-RSA (consulte Assinatura de aplicativos AIR na pgina 172). Crie o pacote do AIR No prompt de comando, digite o seguinte comando (em uma nica linha):
adt -package -storetype pkcs12 -keystore sampleCert.pfx HelloWorld.air HelloWorld-app.xml HelloWorld.swf

Voc ter que fornecer a senha do arquivo do keystore. Digite a senha e pressione Enter. Os caracteres da senha no so exibidos por motivos de segurana. O argumento HelloWorld.air o arquivo AIR que o ADT produz. HelloWorld-app.xml o arquivo descritor do aplicativo. Os argumentos subsequentes so os arquivos usados pelo seu aplicativo. Esse exemplo s usa trs arquivos, mas voc pode incluir qualquer nmero de arquivos e diretrios. Depois da criao do pacote AIR, voc pode instalar e executar o aplicativo clicando duas vezes no arquivo de pacote Voc tambm pode digitar o nome do arquivo AIR como comando em um shell ou janela de comando. Para obter mais informaes, consulte Compactao de um arquivo de instalao AIR desktop. na pgina 53.

Criando seu primeiro aplicativo do AIR para Android com o Flex SDK
Para comear, voc deve ter instalado e configurado o AIR e o Flex SDKs. Este tutorial usa o compilador AMXMLC do Flex SDK, o AIR Debug Launcher (ADL) e o AIR Developer Tool (ADT) do AIR SDK. Definio do SDK do Flex na pgina 18. Voc tambm deve baixar e instalar o Android SDK no site do Android, conforme descrito em: Desenvolvedores para Android: Instalao do SDK.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

41

Nota: Para mais informaes sobre desenvolvimento para iPhone, consulte Criao do aplicativo Hello World para iPhone com o Flash Professional CS5.

Criar o arquivo descritor do aplicativo do AIR


Esta seo descreve como criar o descritor do aplicativo, que um arquivo XML com a estrutura a seguir:
<application xmlns="..."> <id>...</id> <versionNumber>...</versionNumber> <filename></filename> <initialWindow> <content></content> </initialWindow> <supportedProfiles>...</supportedProfiles> </application>

1 Crie um arquivo XML com o nome HelloWorld-app.xml e salve-o no diretrio do projeto. 2 Acrescente o elemento <application>, incluindo o atributo de espao de nome do AIR:

<application xmlns="http://ns.adobe.com/air/application/2.7"> O ltimo segmento do espao de nome, 2.7, especifica a verso do tempo de execuo de que o aplicativo necessita.
3 Acrescente o elemento <id>:

<id>samples.android.HelloWorld</id> O id do aplicativo identifica exclusivamente seu aplicativo junto com o ID de editor (que o AIR cria do certificado usado para assinar o pacote do aplicativo). O formulrio recomendado uma sequncia de caracteres "reverse-DNS-style", delimitada por pontos, como "com.company.AppName".
4 Acrescente o elemento <versionNumber>:

<versionNumber>0.0.1</versionNumber> Ajuda os usurios a determinar qual verso do aplicativo eles esto instalando.
5 Acrescente o elemento <filename>:

<filename>HelloWorld</filename> O nome dusado para o executvel do aplicativo, diretrio de instalao e outras referncias ao aplicativo no sistema operacional.
6 Acrescente o elemento <initialWindow> que contm os seguintes elementos filho para especificar as

propriedades da janela inicial do seu aplicativo: <content>HelloWorld.swf</content> Identifica o arquivo HTML raiz que o AIR deve carregar.
7 Acrescente o elemento <supportedProfiles>.

<supportedProfiles>mobileDevice</supportedProfiles> Especifica que o aplicativo s funciona no perfil mvel.


8 Salve o arquivo. O arquivo descritor de aplicativo completo deve assemelhar-se ao seguinte:
<?xml version="1.0" encoding="UTF-8"?> <application xmlns="http://ns.adobe.com/air/application/2.7"> <id>samples.android.HelloWorld</id> <versionNumber>0.0.1</versionNumber> <filename>HelloWorld</filename> <initialWindow> <content>HelloWorld.swf</content> </initialWindow> <supportedProfiles>mobileDevice</supportedProfiles> </application>

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

42

Este exemplo s define algumas propriedades possveis do aplicativo. Existem outras configuraes que voc pode usar no arquivo de descritor do aplicativo. Por exemplo, voc pode adicionar <fullScreen>true</fullScreen> para o elemento initialWindow para compilar um aplicativo de tela cheia. Para ativar a depurao remota e recursos controlados por acesso no Android, voc tambm ter que adicionar as permisses Android para o descritor do aplicativo. As permisses no so necessrias para este aplicativo simples, por isso voc no precisa adicion-las agora. Para mais informaes, consulte Configurao de propriedades do aplicativo mvel na pgina 70.

Gravao do cdigo do aplicativo


Crie um arquivo chamado HelloWorld.as e adicione o seguinte cdigo utilizando um editor de texto:
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 ); } } }

Compile o aplicativo
Antes de executar e depurar o aplicativo, compile o cdigo MXML em um arquivo SWF utilizando o compilador amxmlc. O compilador amxmlc pode localizar o diretrio bin do Flex SDK. Se preferir, voc pode definir a varivel de ambiente do caminho de seu computador para incluir o diretrio bin o Flex SDK. A configurao do caminho facilita a execuo dos utilitrios na linha de comando.
1 Abra um prompt de comando ou um terminal e navegue at a pasta de projeto do aplicativo do AIR. 2 Digite o seguinte comando:
amxmlc HelloWorld.as

O compilador amxmlc cria o arquivoHelloWorld.swf, que contm o cdigo compilado do aplicativo. Nota: Se o aplicativo no compilar, corrija erros de sintaxe ou ortografia. Erros e avisos sero exibidos na janela do console utilizado para executar o compilador amxmlc. Para obter mais informaes, consulte Compilao de arquivos de origem do MXML e ActionScript para AIR na pgina 140.

Testar o aplicativo
Para executar e testar o aplicativo a partir da linha de comando, utilize o AIR Debug Launcher (ADL) para executar o aplicativo utilizando o arquivo do descritor do aplicativo. (O ADL pode ser encontrado no diretrio bin do Air e Flex SDKs.)
No prompt de comando, insira o comando a seguir:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

43

adl HelloWorld-app.xml

Para obter mais informaes, consulte Simulao de dispositivos utilizando ADL na pgina 94.

Crie o arquivo do pacote APK


Quando seu aplicativo executado com sucesso, voc pode usar o utilitrio ADT para empacotar o aplicativo em um arquivo do pacote APK. Um arquivo de pacote APK o formato de arquivo nativo do aplicativo do Android, que voc pode distribuir para seus usurios. Todos os aplicativos do Android devem ser assinados. Ao contrrio dos arquivos do AIR, costuma-se assinar aplicativos do Android com um certificado autoassinado. O sistema operacional Android no tenta estabelecer a identidade do desenvolvedor do aplicativo. Voc pode usar um certificado gerado pelo ADT para assinar pacotes do Android. Os certificados usados para os aplicativos apresentados ao Android Market devem ter um perodo de validade de pelo menos 25 anos. Gerar um certificado autoassinado e par de chaves No prompt de comando, insira o comando a seguir (o executvel ADT est no diretrio bin do SDK do Flex):
adt -certificate -validityPeriod 25 -cn SelfSigned 1024-RSA sampleCert.pfx samplePassword

Este exemplo usa o nmero mnimo de atributos que podem ser definidos para um certificado. O tipo de chave deve ser 1024-RSA ou 2048-RSA (consulte o Comando certificate do ADT na pgina 156). Crie o pacote do AIR No prompt de comando, digite o seguinte comando (em uma nica linha):
adt -package -target apk -storetype pkcs12 -keystore sampleCert.p12 HelloWorld.apk HelloWorld-app.xml HelloWorld.swf

Voc ter que fornecer a senha do arquivo do keystore. Digite a senha e pressione Enter. Para obter mais informaes, consulte Compactao de um aplicativo do AIR mvel na pgina 87. Instale o tempo de execuo do AIR Voc pode instalar a verso mais recente do tempo de execuo do AIR a partir do Android Market. Voc tambm pode instalar o tempo de execuo includo no seu SDK em qualquer dispositivo ou um emulador do Android.
No prompt de comando, digite o seguinte comando (em uma nica linha):
adt -installRuntime -platform android -platformsdk

Defina o sinalizador -platformsdk para seu diretrio SDK do Android SDK (especifique o pai da pasta de ferramentas). O ADT instala o Runtime.apk includo no SDK. Para obter mais informaes, consulte Instale o tempo de execuo do AIR e os aplicativos para desenvolvimento na pgina 100. Instale o aplicativo do AIR No prompt de comando, digite o seguinte comando (em uma nica linha):

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

44

adt -installApp -platform android -platformsdk path-to-android-sdk -package path-to-app

Defina o sinalizador -platformsdk para seu diretrio SDK do Android SDK (especifique o pai da pasta de ferramentas). Para obter mais informaes, consulte Instale o tempo de execuo do AIR e os aplicativos para desenvolvimento na pgina 100. Voc pode iniciar seu aplicativo clicando no cone do aplicativo na tela do dispositivo ou emulador.

ltima atualizao em 13/10/2011

45

Captulo 6: Desenvolvendo aplicativos AIR para desktop


Fluxo de trabalho para desenvolver um aplicativo do AIR para desktop
O fluxo de trabalho bsico para o desenvolvimento de um aplicativo do AIR igual ao da maioria dos modelos tradicionais de desenvolvimento: codificar, compilar, testar e, no final do ciclo, compactar em um arquivo de instalao. Voc pode escrever o cdigo do aplicativo usando o Flash, Flex e ActionScript, e compilar usando o Flash Professional, Flash Builder ou os compiladores de linha de comando mxmlc e compc. Voc tambm pode escrever o cdigo do aplicativo usando HTML e JavaScript e ignorando a etapa de compilao. Voc pode testar os aplicativos do AIR desktop com a ferramenta ADL que executa um aplicativo sem exigir que ele seja compactado e instalado pela primeira vez. O Flash Professional, Flash Builder, Dreamweaver e Aptana IDE todos se integram com o depurador do Flash. Voc tambm pode iniciar manualmente a ferramenta do depurador, FDB, ao usar ADL na linha de comando. O ADL, por si, no exibe erros e sada de instruo de rastreio. Todos os aplicativos AIR devem ser compactados em um arquivo de instalao. O formato de arquivo do AIR de plataforma cruzada recomendado exceto se:

Voc precisar acessar as APIs dependentes de plataforma como a classe NativeProcess. O aplicativo utilizar extenses nativas.
Nestes casos, voc pode compactar um aplicativo do AIR como um arquivo de instalao nativo especfico da plataforma.

Aplicativos com base em SWF


1 Escreva o cdigo MXML ou ActionScript. 2 Crie recursos necessrios, como arquivos de bitmap de cone. 3 Crie o descritor do aplicativo. 4 Compile o cdigo ActionScript. 5 Testar o aplicativo. 6 Faa o empacotamento e assine como um arquivo do AIR usando o destino air.

Aplicativos com base HTML


1 Escreva o cdigo HTML e JavaScript. 2 Crie recursos necessrios, como arquivos de bitmap de cone. 3 Crie o descritor do aplicativo. 4 Testar o aplicativo. 5 Faa o empacotamento e assine como um arquivo do AIR usando o destino air.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

46

Criao de instaladores nativos para aplicativos do AIR


1 Escreva o cdigo (ActionScript ou HTML e JavaScript). 2 Crie recursos necessrios, como arquivos de bitmap de cone. 3 Crie a indexao do aplicativo, especificando o perfil extendedDesktop. 4 Compile qualquer cdigo ActionScript. 5 Testar o aplicativo. 6 Empacote o aplicativo em cada plataforma de destino usando o destino native.

Nota: O instalador nativo de uma plataforma de destino dever ser criado naquela plataforma. No possvel, por exemplo, criar um instalador de Windows em um Mac. possvel utilizar uma mquina virtual como o VMWare para executar mltiplas plataformas no mesmo hardware de computador.

Criao de aplicativos do AIR com um conjunto de tempo de execuo cativo


1 Escreva o cdigo (ActionScript ou HTML e JavaScript). 2 Crie recursos necessrios, como arquivos de bitmap de cone. 3 Crie a indexao do aplicativo, especificando o perfil extendedDesktop. 4 Compile qualquer cdigo ActionScript. 5 Testar o aplicativo. 6 Empacote cada plataforma de destino usando o destino bundle. 7 Crie um programa de instalao usando os arquivos de conjunto. (O AIR SDK no fornece ferramentas para criar

tal instalador, mas muitos kits de ferramentas terceirizados esto disponveis). Nota: O conjunto de uma plataforma de destino dever ser criado naquela plataforma. No possvel, por exemplo, criar um conjunto de Windows em um Mac. possvel utilizar uma mquina virtual como o VMWare para executar mltiplas plataformas no mesmo hardware de computador.

Configurao de propriedades do aplicativo desktop


Defina as propriedades bsicas do aplicativo no arquivo de descritor do aplicativo. Esta seo aborda as propriedades relevantes para aplicativos do AIR desktop. Os elementos do arquivo de descritor do aplicativo esto completamente descritos em Arquivos descritores do aplicativo do AIR na pgina 186.

Verso de tempo de execuo exigida pelo AIR


Especifique a verso do tempo de execuo do AIR exigido pelo seu aplicativo usando o namespace do arquivo do descritor do aplicativo. O namespace, atribudo no elemento do aplicativo, determina, em grande parte, que recursos seu aplicativo pode usar. Por exemplo, se seu aplicativo usa o namespace AIR 1.5, e o usurio tem o AIR 3.0 instalado, seu aplicativo v o comportamento do AIR 1.5 (mesmo que o comportamento tenha sido alterado no AIR 3.0). Somente quando mudar o namespace e publicar uma atualizao sua aplicao ter acesso ao novo comportamento e recursos. Alteraes de segurana e WebKit so as principais excees a esta poltica. Especifique o namespace usando o atributo xmlns do elemento do aplicativo raiz:
<application xmlns="http://ns.adobe.com/air/application/3.0">

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

47

Mais tpicos da Ajuda


aplicativo na pgina 190

Identidade do aplicativo
Diversas configuraes devem ser exclusivas para cada aplicativo que voc publicar. As configuraes exclusivas incluem o ID, o nome e o nome do arquivo.
<id>com.example.MyApplication</id> <name>My Application</name> <filename>MyApplication</filename>

Mais tpicos da Ajuda


id na pgina 202 nome de arquivo na pgina 199 nome na pgina 210

Verso do aplicativo
Nas verses AIR anteriores ao AIR 2.5, especifique o aplicativo no elemento version. Voc pode usar qualquer sequncia de caracteres. O tempo de execuo do AIR no interpreta a sequncia de caracteres; "2.0" no tratado como uma verso maior de "1.0".
<!-- AIR 2 or earlier --> <version>1.23 Beta 7</version>

No AIR 2.5 e posterior, especifique a verso do aplicativo no elemento versionNumber. O elemento version no pode mais ser usado. Ao especificar um valor para versionNumber, voc deve usar uma sequncia de at trs nmeros separados por pontos, como: "0.1.2". Cada segmento do nmero de verso pode ter at trs dgitos. (Em outras palavras, "999.999.999" o maior nmero de verso autorizada.) Voc no precisa incluir todos os trs segmentos do nmero; "1" e "1.0" so nmeros de verso legal. Voc tambm pode especificar um rtulo para a verso com o elemento versionLabel. Ao adicionar um rtulo de verso, este exibido em vez do nmero da verso em lugares como as caixas de dilogo do instalador dos aplicativos do AIR.
<!-- AIR 2.5 and later --> <versionNumber>1.23.7<versionNumber> <versionLabel>1.23 Beta 7</versionLabel>

Mais tpicos da Ajuda


verso na pgina 217 versionLabel na pgina 217 versionNumber na pgina 218

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

48

Propriedades da janela principal


Quando o AIR inicia um aplicativo no desktop, cria uma janela e carrega o arquivo SWF principal ou a pgina HTML neste. O AIR usa os elementos filho do elemento initialWindow que controla a aparncia inicial e comportamento da janela inicial do aplicativo.

content - O arquivo SWF do aplicativo principal no filho content do elemento initalWindow. Ao direcionar
dispositivos no perfil de desktop, voc pode usar um arquivo SWF ou HTML.
<initialWindow> <content>MyApplication.swf</content> </initialWindow>

Voc deve incluir o arquivo no pacote AIR (usando ADT ou sua IDE). Simplesmente fazer referncia do nome no descritor do aplicativo no faz com que o arquivo seja includo no pacote de maneira automtica.

height A altura da janela inicial. maximizable Se o cromo do sistema para maximizar a janela for exibido. maxSize O tamanho mximo permitido. minimizable Se o cromo do sistema para minimizar a janela for exibido. minSize O tamanho mnimo permitido. renderMode No AIR 3 ou posterior, o modo de renderizao dever ser definido como auto, cpu, direct ou gpu
para os aplicativos de desktop. Em verses anteriores do AIR, essa configurao ignorada nas plataformas de desktop. A configurao renderMode no pode ser alterada no tempo de execuo.

auto basicamente o mesmo que o modo da cpu. cpu exibe objetos que so renderizados e copiados para exibir a memria no software. StageVideo est
disponvel somente quando uma janela est no modo tela cheia. Stage3D utiliza o renderizador de software.

direct exibe objetos que so renderizados pelo software do tempo de execuo, mas a cpia de quadro
renderizado para exibir a memria (blitting) acelerada pelo hardware. StageVideo est disponvel. Stage3D utiliza a acelerao de hardware, caso seja possvel. Caso uma transparncia de janela seja definida como true, ento a janela "retroceder" a renderizao e o blitting do software.

gpu reservado para uso futuro; no utilizar nos aplicativos de desktop. resizable Se o cromo do sistema para redimensionar a janela for exibido. systemChrome Se o adorno da janela do sistema operacional padro for usado. A configurao do
systemChrome de uma janela no pode ser alterada em tempo de execuo.

title O ttulo da janela. transparent Se a janela for de mesclagem de alfa em relao ao plano de fundo. A janela no pode usar o cromo
do sistema se a transparncia estiver ativada. A configurao transparent de uma janela no pode ser alterada em tempo de execuo.

visible - Se a janela fica visvel assim que criada. A janela no fica visvel por padro inicialmente para que o
aplicativo possa chamar seu contedo antes de se tornar visvel.

width A largura da janela. x A posio horizontal da janela. y A posio vertical da janela.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

49

Mais tpicos da Ajuda


contedo na pgina 195 height na pgina 201 maximizable na pgina 209 maxSize na pgina 209 minimizable na pgina 210 minimizable na pgina 210 minSize na pgina 210 renderMode na pgina 212 resizable na pgina 213 systemChrome na pgina 215 title na pgina 216 transparent na pgina 216 visible na pgina 218 width na pgina 219 x na pgina 219 y na pgina 219

Recursos do desktop
Os elementos a seguir controlam os recursos de instalao e atualizao do desktop.

customUpdateUI Permite que voc fornea suas prprias caixas de dilogo para atualizar um aplicativo. Se
configurado para false o padro, as caixas de dilogo padro do AIR so usadas.

fileTypes Especifica os tipos de arquivos que seu aplicativo gostaria de registrar como o aplicativo de abertura
padro. Se outro aplicativo j for o padro para abertura de um tipo de arquivo, o AIR no substitui o registro existente. Contudo, seu aplicativo pode substituir o registro em tempo de execuo usando o mtodo setAsDefaultApplication() do objeto NativeApplication. uma boa forma de pedir a permisso do usurio antes de substituir suas associaes do tipo de arquivo existente. Nota: O registro do tipo de arquivo ignorado ao fazer a compactao de um aplicativo como um conjunto de tempo de execuo cativo (usando o destino -bundle). Para registrar um determinado tipo de arquivo, necessrio criar um programa de instalador que realize o registro.

installFolder Especifica um caminho relativo para a pasta padro de instalao de aplicativos em que o aplicativo
instalado. Voc pode usar esta configurao para fornecer um nome de pasta personalizada, bem como agrupar vrios aplicativos dentro de uma pasta comum.

programMenuFolder Especifica a hierarquia do menu para o menu Todos os programas do Windows. Voc
pode usar esta definio para agrupar vrios aplicativos em um menu comum. Se nenhuma pasta do menu for especificada o atalho do aplicativo adicionado diretamente ao menu principal.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

50

Mais tpicos da Ajuda


customUpdateUI na pgina 196 fileTypes na pgina 200 installFolder na pgina 206 programMenuFolder na pgina 212

Perfis disponveis
Se seu aplicativo s faz sentido no desktop, voc pode evitar que ele seja instalado em dispositivos em outro perfil, excluindo esse perfil da lista de perfis disponveis. Caso o aplicativo utilize a classe NativeProcess ou extenses nativas, ento ser necessrio suportar o perfil extendedDesktop. Se voc deixar o elemento supportedProfile fora do descritor do aplicativo, este presume que seu aplicativo d suporte para todos os perfis definidos. Para restringir seu aplicativo a uma lista especfica de perfis, liste os perfis, separados por espaos em branco:
<supportedProfiles>desktop extendedDesktop</supportedProfiles>

Para uma lista de classes ActionScript disponveis nos perfis desktop e extendedDesktop, consulte Recursos de diferentes perfis Capacidades de perfis diferentes na pgina 223.

Mais tpicos da Ajuda


supportedProfiles na pgina 214

Extenses nativas necessrias


Os aplicativos compatveis com o perfil extendedDesktop podem usar extenses nativas. Indique todas as extenses nativas que o aplicativo do AIR utiliza no descritor do aplicativo. O seguinte exemplo ilustra a sintaxe para especificar duas extenses nativas necessrias:
<extensions> <extensionID> com.example.extendedFeature</extensionID> <extensionID> com.example.anotherFeature</extensionID> </extensions>

O elemento extensionID tem o mesmo valor que o elemento id no arquivo descritor de extenso. O arquivo descritor da extenso um arquivo XML chamado extension.xml. Ela est compactada no arquivo ANE recebido do desenvolvedor da extenso nativa.

cones de aplicativos
No desktop, os cones especificados no descritor do aplicativo so usados como cones do menu do programa, atalhos e arquivo do aplicativo. O cone do aplicativo deve ser fornecido como um conjunto de imagens PNG de 16x16, 32x32, 48x48 e 128x128 pixels. Especifique o caminho para os arquivos de cone no elemento cone do arquivo descritor do aplicativo:
<icon> <image16x16>assets/icon16.png</image16x16> <image32x32>assets/icon32.png</image32x32> <image48x48>assets/icon48.png</image48x48> <image128x128>assets/icon128.png</image128x128> </icon>

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

51

Se voc no fornecer um cone de determinado tamanho, o maior tamanho seguinte utilizado e adaptado para se ajustar. Se voc no fornecer nenhum cone, um cone do sistema padro ser usado.

Mais tpicos da Ajuda


cone na pgina 202 imageNxN na pgina 203

Configuraes ignoradas
Aplicativos no desktop ignoram as configuraes do aplicativo que se aplicam a recursos de perfil mvel. As configuraes ignoradas so:

android aspectRatio autoOrients fullScreen iPhone renderMode (anterior ao AIR 3) requestedDisplayResolution softKeyboardBehavior

Depurao de um aplicativo do AIR desktop


Se voc estiver desenvolvendo seu aplicativo com um IDE como o Flash Builder, Flash Professional ou Dreamweaver, as ferramentas de depurao so normalmente incorporadas. Voc pode depurar seu aplicativo simplesmente lanando-o em modo de depurao. Se voc no estiver usando um IDE com suporte a depurao diretamente, pode usar o AIR Debug Launcher (ADL) e o depurador do Flash (FDB) para ajudar na depurao do seu aplicativo.

Mais tpicos da Ajuda


De Monsters: Depurador Monster Depurao com o AIR HTML Introspector na pgina 259

Execuo de um aplicativo com ADL


Voc pode executar um aplicativo do AIR sem compactao e instalao usando ADL. Passe o arquivo de descritor de aplicativo para o ADL como um parmetro, como demonstrado no exemplo a seguir (o cdigo ActionScript no aplicativo deve ser compilado primeiro):
adl myApplication-app.xml

O ADL imprime instrues de rastreio, excees de tempo de execuo e erros de anlise de HTML para a janela de terminal. Se um processo FDB estiver esperando por uma conexo de entrada, o ADL vai conectar-se ao depurador. Tambm possvel utilizar a ADL para depurar um aplicativo do AIR que utilize extenses nativas. Por exemplo:
adl -extdir extensionDirs myApplication-app.xml

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

52

Mais tpicos da Ajuda


AIR Debug Launcher (ADL) na pgina 144

Impresso de instrues de rastreamento


Para imprimir instrues de rastreamento para o console usado para executar o ADL, adicione instrues de rastreamento ao seu cdigo com a funo trace(). Exemplo do ActionScript:
//ActionScript trace("debug message");

Exemplo do JavaScript:
//JavaScript air.trace("debug message");

No cdigo do JavaScript, voc pode usar as funes alert() e confirm() para exibir mensagens de depurao do seu aplicativo. Alm disso, os nmeros de linha para erros de sintaxe, bem como qualquer exceo JavaScript no capturada, sero impressos para o console. Nota: Para utilizar o prefixo air mostrado no exemplo do JavaScript, voc deve importar o arquivo AIRAliases.js para a pgina. Esse arquivo est localizado no diretrio frameworks do SDK do AIR.

Conexo ao FDB (depurador do Flash)


Para depurar aplicativos do AIR com o Flash Debugger, inicie a sesso do FDB e inicie seu aplicativo usando ADL. Nota: Nos aplicativos do AIR baseados em SWF, os arquivos de origem do ActionScript devem ser compilados com o sinalizador -debug. (No Flash Professional, marque a opo Permitir depurao no dilogo de Configuraes de publicao.)
1 Inicie o FDB. O programa FDB pode ser encontrado no diretrio bin do Flex SDK.

O console exibe o prompt do FDB: <fdb>


2 Execute o comando run. <fdb>run [Enter] 3 Em um comando diferente ou console do shell, inicie uma verso de depurao do seu aplicativo:
adl myApp.xml

4 Usando os comandos do FDB, defina pontos de interrupo como desejado. 5 Digite: continue [Enter]

Se um aplicativo do AIR for baseado em SWF, o depurador s controlar a execuo do cdigo ActionScript. Se o aplicativo do AIR for baseado em HTML, o depurador s controlar a execuo do cdigo JavaScript. Para executar ADL sem conectar-se ao depurador, inclua a opo -nodebug.
adl myApp.xml -nodebug

Para obter informaes bsicas sobre comandos do FDB, execute o comando help:
<fdb>help [Enter]

Para obter detalhes sobre comandos FDB, consulte Using the command-line debugger commands na documentao do Flex.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

53

Compactao de um arquivo de instalao AIR desktop.


Cada aplicativo do AIR deve, no mnimo, possuir um arquivo do descritor do aplicativo e um arquivo principal do SWF ou HTML. Quaisquer outros ativos a instalar com o aplicativo devem ser tambm empacotados no arquivo AIR. Este artigo descreve como compactar um aplicativo do AIR usando as ferramentas de linha de comando includas com o SDK. Para obter informaes sobre como compactar um aplicativo usando uma das ferramentas de criao da Adobe, consulte o seguinte:

Adobe Flex Builder; consulte Packaging AIR applications with Flex Builder. Adobe Flash Builder; consulte Packaging AIR applications with Flash Builder. Adobe Flash Professional, consulte Publicao para Adobe AIR. Adobe Dreamweaver, consulte Criao de um aplicativo do AIR em Dreamweaver.
Todos os arquivos do instalador do AIR devem ser assinados usando um certificado digital. O instalador do AIR usa a assinatura para verificar que seu arquivo de aplicativo no foi alterado desde que voc o assinou. Voc pode usar um certificado de assinatura de cdigo de uma autoridade de certificao ou um certificado autoassinado. Quando voc usa um certificado emitido por uma autoridade de certificao confivel fornece aos usurios do seu aplicativo alguma garantia da sua identidade como editor. A caixa de dilogo da instalao reflete o fato de que sua identidade verificada pela autoridade de certificao:

Caixa de dilogo da confirmao da instalao assinada por certificado confivel

Quando voc usa um certificado autoassinado, os usurios no podem verificar sua identidade como signatrio Um certificado autoassinado tambm enfraquece a garantia de que o pacote no foi alterado. (Isto ocorre porque um arquivo de instalao legtimo pode ter sido substitudo por uma falsificao antes de chegar ao usurio.) A caixa de dilogo da instalao reflete o fato de que a identidade do publicador no pode ser verificada. Os usurios assumem um risco de segurana maior quando instalam o seu aplicativo.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

54

A caixa de dilogo da confirmao da instalao do aplicativo, assinada por certificado autoassinado.

Voc pode empacotar e assinar um arquivo AIR em uma nica etapa usando o comando -package do ADT. Voc tambm pode criar um pacote intermedirio, no assinado com o comando -prepare e assinar o pacote intermedirio com o comando -sign em uma etapa separada. Nota: Verses do Java 1.5 e acima no aceitam caracteres ASCII superiores nas senhas usadas para proteger arquivos de certificado PKCS12. Ao criar ou exportar seu cdigo assinando um arquivo de certificado, use apenas caracteres ASCII comuns na senha. Ao assinar o pacote de instalao, o ADT automaticamente entra em contato com um servidor de autoridade com carimbo de data/hora para verificar a hora. As informaes de carimbo de data/hora esto includas no arquivo AIR. Um arquivo AIR que inclui um carimbo de data/hora verificado pode ser instalado em qualquer momento do futuro. Se o ADT no puder se conectar ao servidor de carimbo de data/hora, o empacotamento ser cancelado. Voc pode substituir a opo de carimbo de data/hora, mas sem um carimbo de data/hora, um aplicativo do AIR deixa de poder ser instalado aps o certificado usado para assinar o arquivo de instalao expirar. Se voc estiver criando um pacote para atualizar um aplicativo do AIR existente, o pacote dever ser assinado com o mesmo certificado do aplicativo original. Se o certificado original foi renovado ou expirou nos ltimos 180 dias ou se voc quiser mudar para um novo certificado, poder aplicar uma assinatura de migrao. Uma assinatura de migrao envolve a assinatura do arquivo AIR do aplicativo tanto com o certificado novo quanto com o antigo. Use o comando -migrate para aplicar a assinatura de migrao como descrito em Comando migrate do ADT na pgina 156. Importante: dado um perodo de graa improrrogvel de 180 dias para solicitar a assinatura de migrao depois da expirao do certificado original. Sem uma assinatura de migrao, os usurios existentes devero instalar seus aplicativos existentes antes de instalar a nova verso do desenvolvedor. O perodo de graa abrange somente aplicativos que especificam o AIR verso 1.5.3 ou superior no namespace de descrio do aplicativo. No existe perodo de graa destinado a verses do tempo de execuo do AIR. Antes do AIR 1.1, as assinaturas de migrao no eram suportadas. Voc deve fazer um pacote que englobe um aplicativo e um SDK da verso 1.1 ou superior para solicitar uma assinatura de migrao.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

55

As aplicaes implementadas com arquivos AIR so conhecidas como aplicaes de perfil de desktop. Voc no poder usar ADT para empacotar um programa de instalao nativo para um aplicativo do AIR se o arquivo de descrio do aplicativo no suportar o perfil de desktop. Voc pode restringir este perfil usando o elemento supportedProfiles no arquivo de descrio do aplicativo. Consulte Perfis de dispositivo na pgina 221 e supportedProfiles na pgina 214. Nota: As configuraes no arquivo do descritor do aplicativo determinam a identidade de um aplicativo do AIR e seu caminho de instalao padro. Consulte Arquivos descritores do aplicativo do AIR na pgina 186. IDs do publicador Como no AIR 1.5.3, os IDs de publicador so deprecados. Os novos aplicativos (originalmente publicados com o AIR 1.5.3 ou superior) no precisam e no devem especificar um ID de publicador. Ao atualizar os aplicativos publicados com verses mais antigas do AIR, voc deve especificar o ID do publicador original no arquivo de descrio do aplicativo. Do contrrio, a verso instalada do seu aplicativo e a verso atualizada sero tratados como aplicativos diferentes. Se voc usar um ID diferente ou omitir a marca publisherID, um usurio dever desinstalar a verso antiga antes de instalar a verso nova. Para descobrir o ID do editor original, localize o arquivopublisherid no subdiretrio META-INF/AIR onde o aplicativo original est instalado. A sequncia de caracteres no arquivo o ID do editor. O descritor o aplicativo deve especificar o tempo de execuo AIR 1.5.3 (ou posterior) na declarao de espao de nome do arquivo descritor do aplicativo para especificar o ID do editor manualmente. Para aplicativos antes do AIR 1.5.3 ou que so publicados com o SDK AIR 1.5.3, enquanto especificam um verso mais antiga do AIR no namespace de descrio do aplicativo um ID de publicador computado com base no certificado de assinatura. Este ID usado com o ID do aplicativo para determinar a identidade de um aplicativo. O ID do editor, quando existir, utilizado para os seguintes fins:

Como verificar se um arquivo AIR uma atualizao em vez de um novo aplicativo a ser instalado Como parte da chave de criptografia o armazenamento local criptografado Como parte o caminho para o diretrio de armazenamento do aplicativo Como parte da sequncia de caracteres de conexo para conexes locais
Como parte da sequncia de caracteres de identidade utilizada para chamar o aplicativo com a API interna de navegador AIR

Como parte o OSID (utilizado na criao de programas personalizados de instalao/desinstalao)


Antes do AIR 1.5.3, o ID de publicador de um aplicativo podia ser alterado se voc assinasse uma atualizao do aplicativo com uma assinatura de migrao que usasse um certificado novo ou renovado. Quando um ID de editor muda, o comportamento de qualquer recurso AIR dependente do ID tambm muda. Por exemplo, os dados existentes no armazenamento local criptografado no podem mais ser acessados e qualquer instncia do Flash ou AIR que cria uma conexo local para o aplicativo deve utiizar o novo ID na sequncia de caracteres de conexo. NO AIR 1.5.3 ou superior, o ID de publicador no se baseia no certificado de assinatura, mas atribudo exclusivamente quando a marca publisherID includa na descrio do aplicativo. Um aplicativo no poder ser atualizado se o ID de publicador especificado para o pacote AIR atualizado no corresponder ao ID de publicador atual.

Compactao com ADT


Voc pode usar a ferramenta de linha de comando ADT AIR para compactar um aplicativo do AIR. Antes de compactar todo o cdigo MXML, ActionScript e qualquer outra extenso devem ser compilados. Voc deve tambm ter um certificado de assinatura de cdigo.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

56

Para uma referncia pormenorizada sobre as opes e os comandos ADT, consulte AIR Developer Tool (ADT) na pgina 149. Criao de um pacote AIR Para criar um pacote AIR, use o comando package do ADT, definindo o tipo de destino para compilaes de verso air.
adt -package -target air -storetype pkcs12 -keystore ../codesign.p12 myApp.air myApp-app.xml myApp.swf icons

O exemplo pressupe que o caminho para a ferramenta ADT est na definio do caminho do shell de linha de comando. (Consulte Variveis de ambiente do caminho na pgina 281 para obter ajuda.) Voc deve executar o comando do diretrio que contm os arquivos do aplicativo. Os arquivos do aplicativo no exemplo so myApp-app.xml (o arquivo descritor do aplicativo), myApp.swf, e um diretrio de cones. Quando voc executa o comando, como demonstrado, a ADT solicitar a senha do armazenamento de chaves. (Os caracteres da senha digitada no so sempre exibidos; basta pressionar Enter quando terminar de digitar.) Criao de um pacote AIR a partir de um arquivo AIRI Voc pode assinar um arquivo AIRI para criar um pacote AIR instalvel:
adt -sign -storetype pkcs12 -keystore ../codesign.p12 myApp.airi myApp.air

Compactao de um instalador desktop nativo


Como no AIR 2, voc pode usar ADT para criar programas de instalao de aplicativo nativo com a finalidade de distribuir aplicativos AIR. Por exemplo, voc pode criar um arquivo de instalao EXE para a distribuio de um aplicativo do AIR no Windows. Voc pode criar um arquivo de instalao DMG para a distribuio de um aplicativo do AIR no sistema operacional Mac. No AIR 2.5 e no AIR 2.6, possvel criar um arquivo de instalao DEB ou RPM para a distribuio de um aplicativo do AIR no Linux. Os aplicativos instalados com um programa de instalao de aplicativo nativo so conhecidos como aplicativos de perfil desktop estendido. Voc no poder usar ADT para empacotar um programa de instalao nativo para um aplicativo do AIR se o arquivo de descrio do aplicativo no suportar o perfil de desktop estendido. Voc pode restringir este perfil usando o elemento supportedProfiles no arquivo de descrio do aplicativo. Consulte Perfis de dispositivo na pgina 221 e supportedProfiles na pgina 214. Voc pode criar uma verso de instalao nativa do aplicativo do AIR de duas maneiras bsicas:

Voc pode criar o intalador nativo com base no arquivo de descrio do aplicativo e em outros arquivos de origem.
(Outros arquivos de origem podem incluir arquivos SWF, arquivos HTML e outros ativos.)

Voc pode criar o intalador nativo com base em um arquivo AIR ou com base em um arquivo AIRI.
obrigatrio usar ADT no mesmo sistema operacional do arquivo de instalao nativo que voc deseja gerar. Portanto, para criar u arquivo EXE para Windows, execute ADT no Windows. Para criar um arquivo DMG para o Mac OS, execute ADT no Mac OS. Para criar um arquivo DEB ou RPG para Linux, execute o ADT a partir do SDK do Air 2.6 no Linux.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

57

Quando voc cria um programa de instalao nativo para distribuir um aplicativo do AIR, o aplicativo ganha estas capacidades:

Ele pode lanar e interagir com processos nativos usando a classe NativeProcess. Para mais detalhes, consulte um
dos seguintes tpicos:

Comunicao com processos nativos do AIR (para desenvolvedores em ActionScript) Communicating with native processes in AIR (para desenvolvedores em HTML) Ele poder usar extenses nativas. Ele pode usar o mtodo File.openWithDefaultApplication() para abrir qualquer arquivo que tenha o
aplicativo de sistema padro definido para abri-lo, independentemente do tipo do seu arquivo. (Existem restries para aplicativos que no so instalados com um programa de instalao nativo. Para saber detalhes, consulte entrada correspondente entrada File.openWithDefaultApplication() na referncia de linguagem.) No entanto, quando compactado como um instalador nativo, o aplicativo perde alguns dos benefcios do formato de arquivo do AIR. Um nico arquivo j no pode ser distribudo a todos os computadores desktop. A funo de atualizao incorporada (bem como a estrutura do atualizador) no funciona. Quando o usurio clica duas vezes no arquivo de instalao nativo, isto instala o aplicativo do AIR. Se a verso requerida do ADOBE AIR ainda no estiver instalada na mquina, o programa de instalao baixa a verso da rede e a instala primeiro. Se no houver conexo com a rede da qual se possa obter a verso correta do Adobe AIR (se necessrio), a instalao falhar. Igualmente, a instalao falhar se o sistema operacional no for suportado no Aobe AIR2. Nota: Se voc desejar que um arquivo seja executvel no aplicativo instalado, certifique-se de que ele executvel no sistema de arquivos, durante a criao do pacote do aplicativo. (No Mac e Linux, voc pode utilizar o comando chmod para definir o indicador de executvel, se necessrio.) Como criar um programa de instalao nativo a partir de arquivos-fonte do aplicativo Para criar um programa de instalao nativo a partir de arquivos-fonte do aplicativo, use o comando -package com a seguinte sintaxe (em uma linha de comando simples):
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 ...] ...

Esta sintaxe semelhante sintaxe para empacotar um arquivo AIR (sem um programa de instalao nativo) No entanto, existem algumas diferenas:

Voc adiciona a opo -target

native ao comando. (Se voc especificar -target air, ento o ADT ir gerar um arquivo AIR em vez de um arquivo de instalao nativo.)

Voc especifica o arquivo DMG ou EXE de destino como o installer_file. Opcionalmente, no Windows voc pode adicionar um segundo conjunto de opes de assinatura, indicado como
[WINDOWS_INSTALLER_SIGNING_OPTIONS] na listagem de sintaxe. No Windows, alpem de assinar o arquivo AIR,

voc pode assinar o arquivo Windows Installer. Use o mesmo tipo de certificado e sintaxe de opo de assinatura que usaria para assinar o arquivo AIR (consulte as Opes de assinatura de cdigo ADT na pgina 161). Voc pode utilizar o mesmo certificado para assianr o arquivo AIR e o arquivo de instalao ou pode especificar certificados diferentes. Quano um usurio faz um download da Web de um arquivo Windows Installer assinado, o Windows identifica a origem do arquivo com base no certificado.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

58

Para obter mais detalhes sobre opes do ADT alm de outra opo -target, consulte AIR Developer Tool (ADT) na pgina 149. O exemplo a seguir cria um arquivo DMG (um arquivo de instalao nativo para o sistema operacional Mac):
adt -package -storetype pkcs12 -keystore myCert.pfx -target native myApp.dmg application.xml index.html resources

O exemplo a seguir cria um arquivo EXE (um arquivo de instalao nativo para o sistema operacional Windows):
adt -package -storetype pkcs12 -keystore myCert.pfx -target native myApp.exe application.xml index.html resources

O exemplo a seguir cria um arquivo EXE e o assina:


adt -package -storetype pkcs12 -keystore myCert.pfx -target native -storetype pkcs12 -keystore myCert.pfx myApp.exe application.xml index.html resources

Criao de um instalador nativo para um aplicativo que utilize extenses nativas possvel criar um instalador nativo dos arquivos de origem para o aplicativo e os pacotes de extenso nativa que o aplicativo exige. Use o comando -package com a seguinte sintaxe (em uma nica linha de comando):
adt -package AIR_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 ...] ...

Essa sintaxe a mesma sintaxe usada para compactar um instalador nativo, com uma opo adicional. Use a opo extdir extension-directory para especificar o diretrio que contm os arquivos ANE (extenses nativas) que o aplicativo utiliza. Para obter detalhes sobre as opes do ADT, consulte aAIR Developer Tool (ADT) na pgina 149. O seguinte exemplo cria um arquivo DMG (um arquivo de instalador nativo para o Mac OS) para um aplicativo que utilize extenses nativas:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

59

adt -package -storetype pkcs12 -keystore myCert.pfx -target native myApp.dmg application.xml -extdir extensionsDir index.html resources

Como criar um programa de instalao nativo com base em um arquivo AIR ou em um arquivo AIRI. Voc pode usar ADT para gerar um arquivo de intalao nativo com base em um arquivo AIR ou em um arquivo AIRI. Para criar um programa de instalao nativo com base em um arquivo AIR, use o comando -package do ADT com a seguinte sintaxe (em uma linha de comando simples):
adt -package -target native [WINDOWS_INSTALLER_SIGNING_OPTIONS] installer_file air_file

Esta sintaxe semelhante sintaxe para criar um programa de instalao nativa com base em arquivos-fonte para o aplicativo do AIR. No entanto, existem algumas diferenas:

Voc especifica um arquivo AIR como origem, em vez de um arquivo de descrio de aplicativo e outros arquivos
de origem para o aplicativo do AIR.

No especifique opes de assinatura para o arquivo AIR, porque ele j est assinado.
Para criar um programa de instalao nativo com base em um arquivo AIRI, use o comando -package do ADT com a seguinte sintaxe (em uma linha de comando simples):
adt AIR_SIGNING_OPTIONS -package -target native [WINDOWS_INSTALLER_SIGNING_OPTIONS] installer_file airi_file

Esta sintaxe semelhante sintaxe para criar um programa de instalao nativo com base em um arquivo AIR. No entanto, existem algumas diferenas:

Como origem, voc deve especificar um arquivo AIRI. Voc deve especificar opes de assinatura para o aplicativo do AIR de destino.
O exemplo a seguir cria um arquivo DMG (um arquivo de instalao nativo para o sistema operacional Mac) com base em um arquivo AIR:
adt -package -target native myApp.dmg myApp.air

O exemplo a seguir cria um arquivo EXE (um arquivo de instalao nativo para o sistema operacional Windows) com base em um arquivo AIR:
adt -package -target native myApp.exe myApp.air

O exemplo a seguir cria um arquivo EXE (com base em um arquivo AIR) e o assina:
adt -package -target native -storetype pkcs12 -keystore myCert.pfx myApp.exe myApp.air

O exemplo a seguir cria um arquivo DMG (um arquivo de instalao nativo para o sistema operacional Mac) com base em um arquivo AIRI:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

60

adt -storetype pkcs12 -keystore myCert.pfx -package -target native myApp.dmg myApp.airi

O exemplo a seguir cria um arquivo EXE (um arquivo de instalao nativo para o sistema operacional Windows) com base em um arquivo AIRI:
adt -storetype pkcs12 -keystore myCert.pfx -package -target native myApp.exe myApp.airi

O exemplo a seguir cria um arquivo EXE (com base em um arquivo AIRI) e assina-o com uma assinatura nativa do Windows e um AIR:
adt -package -storetype pkcs12 -keystore myCert.pfx -target native -storetype pkcs12 -keystore myCert.pfx myApp.exe myApp.airi

Compactao de um conjunto de tempo de execuo cativo para computadores pessoais


Um conjunto de tempo de execuo cativo um pacote que inclui o cdigo do aplicativo junto com uma verso customizada do tempo de execuo. Um aplicativo compactado dessa maneira utiliza o tempo de execuo integrado, em vez de um tempo de execuo compartilhado instalado em outro local no computador do usurio. O conjunto gerado uma pasta independente de arquivos do aplicativo no Windows e um conjunto .app no Mac OS. Voc deve gerar o conjunto para um sistema operacional de destino enquanto executa aquele sistema operacional. (Uma mquina virtual como o VMWare pode ser utilizada para executar vrios sistemas operacionais em um computador.) O aplicativo pode ser executado daquela pasta ou conjunto sem a instalao. Benefcios Gera um aplicativo independente

No necessrio o acesso Internet para a instalao O aplicativo isolado das atualizaes de tempo de execuo As empresas podem certificar a combinao do aplicativo e do tempo de execuo especficos. Suporta o tradicional modelo de implementao do software No necessria a redistribuio separada de tempo de execuo Pode utilizar a API do NativeProcess Pode utilizar extenses nativas Pode utilizar a funo File.openWithDefaultApplication() sem restrio Pode ser executado de um USB ou disco ptico sem a instalao
Desvantagens Reparos importantes de segurana no esto automaticamente disponveis para os usurios quando a Adobe publica um patch de segurana

No pode utilizar o formato de arquivo .air Voc deve criar seu prprio instalador, se necessrio Sistema e API de atualizao do AIR no so suportados

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

61

A API embutida no navegador do AIR para instalar e lanar um aplicativo do AIR a partir de uma pgina da web
no suportada

No Windows, o registro de arquivo deve ser feito pelo instalador Maior memria do disco do aplicativo

Criao de um conjunto de tempo de execuo cativo no Windows


Para criar um conjunto de tempo de execuo cativo para o Windows, necessrio compactar o aplicativo enquanto ele executado em um sistema operacional do Windows. Empacote o aplicativo usando o destino bundle da ADT:
adt -package -keystore ..\cert.p12 -storetype pkcs12 -target bundle myApp myApp-app.xml myApp.swf icons resources

Esse comando cria o conjunto em um diretrio denominado myApp. Esse diretrio contm os arquivos do aplicativo, alm dos arquivos de tempo de execuo. possvel executar o programa diretamente da pasta. No entanto, para criar uma entrada de menu do programa , tipos de arquivos de registro ou o controlador do esquema URI, voc deve criar um programa de instalao que defina as entradas de registro necessrias. O AIR SDK no inclui as ferramentas para criar tais instaladores, mas vrias opes terceirizadas esto disponveis, incluindo ambos os kits de ferramentas do instalador de cdigo aberto gratuito e comercial. possvel assinar o executvel nativo no Windows, especificando um segundo conjunto de opes de assinatura aps a entrada -target bundle na linha de comando. Essas opes de assinatura identificam a chave privada e o certificado associado a serem utilizados ao aplicar a assinatura nativa do Windows. (Um certificado de assinatura de cdigo do AIR geralmente pode ser utilizado.) Somente o executvel primrio assinado. Quaisquer executveis adicionais compactados com o aplicativo no so assinados atravs desse processo. Associao do tipo de arquivo Para associar o aplicativo com os tipos de arquivo pblicos ou customizados no Windows, o programa de instalao dever definir as entradas de registro adequadas. Os tipos de arquivos tambm devero estar listados no elemento fileTypes do arquivo descritor do aplicativo. Para obter mais informaes sobre os tipos de arquivo do Windows, consulte Biblioteca MSDN: Tipos de Arquivo e Associaes de Arquivo Registro do controlador URI Para o aplicativo manipular o lanamento de um URL utilizando um determinado esquema de URI, o instalador dever definir as entradas de registro necessrias. Para obter mais informaes sobre o registro de um aplicativo para efetuar um esquema de URI, consulte Biblioteca MSDN: Registro de um Aplicativo em um Protocolo de URL

Criao de um conjunto de tempo de execuo cativo no Mac OS X


Para criar um conjunto de tempo de execuo cativo para o Mac OS X, necessrio compactar o aplicativo enquanto ele executado no sistema operacional Macintosh. Empacote o aplicativo usando o destino bundle da ADT:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

62

adt -package -keystore ../cert.p12 -storetype pkcs12 -target bundle myApp.app myApp-app.xml myApp.swf icons resources

Esse comando cria o conjunto de aplicativo nomeado myApp.app. O conjunto contm os arquivos para o aplicativo, alm dos arquivos de tempo de execuo. possvel executar o aplicativo clicando duas vezes no cone do myApp.app e instal-lo arrastando-o at um local apropriado, como a pasta Aplicativos. No entanto, para registrar tipos de arquivos ou controladores de esquemas de URI, necessrio editar o arquivo da lista de propriedades dentro do pacote do aplicativo. Para a distribuio, voc poder criar um arquivo de imagem de disco (.dmg). O Adobe AIR SDK no fornece as ferramentas para criar um arquivo dmg para um conjunto de tempo de execuo cativo. Associao do tipo de arquivo Para associar o aplicativo aos tipos de arquivos pblicos ou customizados no Mac OS X, necessrio editar o arquivo info.plist no conjunto para definir as propriedades de CFBundleDocumentTypes. Consulte Biblioteca do Desenvolvedor do Mac OS X: Referncias de Informao da Chave da Lista de Propriedades, CFBundleURLTypes. Registro do controlador URI Para o aplicativo executar o lanamento de um URL utilizando um determinado esquema de URI, necessrio editar o arquivo info.plist no conjunto para definir as propriedades de CFBundleURLTypes Consulte Biblioteca do Desenvolvedor do Mac OS X: Referncias de Informao da Chave da Lista de Propriedades, CFBundleDocumentTypes.

Distribuio de pacotes do AIR para computadores desktop


Os aplicativos AIR podem ser distribudos como um pacote AIR, que contm o cdigo do aplicativo e todos os ativos. Voc pode distribuir esse pacote por qualquer um dos meios tpicos, como por download, e-mail ou mdia fsica, como CD-ROM. Os usurios podem instalar o aplicativo clicando duas vezes no arquivo AIR. Voc pode usar a API no navegador AIR (uma biblioteca ActionScript com base web) para permitir que os usurios instalem seu aplicativo do AIR (e Adobe AIR, se necessrio), clicando em um nico link em uma pgina da web. Os aplicativos AIR podem tambm ser compactados e distribudos como instaladores nativos (em outras palavras, como arquivos EXE no Windows, DMG no Mac, e DEB ou RPM no Linux). Os pacotes de instalao nativa podem ser distribudos e instalados de acordo com as convenes da plataforma em questo. Ao distribuir seu aplicativo como um pacote nativo, voc perde alguns dos benefcios do formato de arquivo do AIR. Ou seja, um nico arquivo de instalao no pode mais ser usado na maioria das plataformas, a estrutura de atualizao do AIR no pode mais ser usado, e a API no navegador no pode mais ser usada.

Instalao e execuo de um aplicativo do AIR na rea de trabalho


Voc pode simplesmente enviar o arquivo AIR ao destinatrio. Por exemplo, voc pode enviar o arquivo AIR como um anexo de e-mail ou um link em uma pgina da Web.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

63

Depois que o usurio baixar o aplicativo do AIR, ele dever seguir estas instrues para instal-lo:
1 Clique duas vezes no arquivo AIR.

O Adobe AIR j deve estar instalado no computador.


2 Na janela de instalao, deixe as configuraes padro selecionadas e clique em Continuar.

No Windows, o AIR faz automaticamente o seguinte:

Instala o aplicativo no diretrio Arquivos de Programas Cria um atalho na rea de trabalho para o aplicativo Cria um atalho no menu Iniciar Adiciona uma entrada para o aplicativo no Painel de Controle Adicionar ou Remover Programas
No Mac OS, por padro, o aplicativo adicionado ao diretrio Aplicativos. Se o aplicativo j estiver instalado, o instalador oferece ao usurio a opo de abrir a verso existente do aplicativo ou atualizar para a verso no arquivo AIR obtido por download. O instalador identifica o aplicativo usando o ID do aplicativo e o ID do editor no arquivo AIR.
3 Quando a instalao estiver concluda, clique em Concluir.

No Mac OS, para instalar uma verso atualizada de um aplicativo, o usurio precisa de privilgios adequados do sistema para instalar no diretrio do aplicativo. No Windows e no Linux, um usurio precisa de privilgios administrativos. Um aplicativo tambm pode instalar uma verso nova via ActionScript ou JavaScript. Para obter mais informaes, consulte Atualizao de aplicativos AIR na pgina 235. Depois que o aplicativo do AIR est instalado, um usurio simplesmente clica duas vezes no cone do aplicativo para execut-lo, como qualquer outro aplicativo de rea de trabalho.

No Windows, clique duas vezes no cone do aplicativo (que est instalado na rea de trabalho ou em uma pasta) ou
selecione o aplicativo no menu Iniciar.

No Linux, clique duas vezes no cone do aplicativo (que est instalado na rea de trabalho ou em uma pasta) ou
selecione o aplicativo no menu aplicativos.

No Mac OS, clique duas vezes no aplicativo na pasta em que ele foi instalado. O diretrio de instalao padro o
diretrio /Aplicativos. Nota: Somente os aplicativos do AIR desenvolvidos para o AIR 2.6 ou anterior podem ser instalados no Linux. O recurso de instalao direta do AIR permite que um usurio instale um aplicativo do AIR clicando em um link em uma pgina da Web. O recurso de invocao do navegador do AIR permite que um usurio execute um aplicativo do AIR instalado clicando em um link em uma pgina da Web. Esses recursos so descritos na seo a seguir.

Instalao e execuo de aplicativos do AIR desktop de uma pgina da Web


A API no navegador AIR permite que voc instale e execute o aplicativo do AIR de uma pgina web. A API no navegador AIR fornecida em uma biblioteca de SWF, air.swf, hospedada pela Adobe. O AIR SDK inclui um aplicativo de "emblema" de amostra que utiliza esta biblioteca para instalar, atualizar ou iniciar um aplicativo do AIR (e o tempo de execuo, se necessrio). Voc pode modificar o emblema de amostra fornecido ou criar seu prprio aplicativo web de emblema que usa a biblioteca air.swf online diretamente.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

64

Qualquer aplicativo do AIR pode ser instalado atravs de um emblema de pgina da web. Mas apenas aplicativos que incluem o elemento <allowBrowserInvocation>true</allowBrowserInvocation> nos arquivos de descritor do aplicativo podem ser emblema da web.

Mais tpicos da Ajuda


API no navegador AIR.SWF na pgina 226 Distribuio de um aplicativo do AIR atravs da Web

Implementao comercial em computadores desktop.


Os administradores de TI podem instalar o tempo de execuo do Adobe AIR e aplicativos do AIR de modo silencioso usando ferramentas de implantao de rea de trabalho padro. Os administradores de TI podem fazer o seguinte:

Instalar silenciosamente o tempo de execuo do Adobe AIR usando ferramentas como Microsoft SMS, IBM Tivoli,
ou qualquer ferramenta de implantao que permita instalaes silenciosas que usem um inicializador

Instalar silenciosamente o aplicativo do AIR usando as mesmas ferramentas usadas para implantar o tempo de
execuo Para obter mais informaes, consulte o Guia do administrador do Adobe AIR (http://www.adobe.com/go/learn_air_admin_guide_br).

Registros de instalao nos computadores desktop


Os registros de instalao so gravados quando o prprio tempo de execuo do AIR ou um aplicativo do AIR instalado. Voc pode examinar os arquivos de log para ajudar a determinar a causa de alguns problemas de instalao ou atualizao que ocorrerem. Os arquivos de registro so criados nos seguintes locais:

Mac: o registro do sistema padro (/private/var/log/system.log)


Voc pode exibir o registro do sistema do Mac abrindo o aplicativo Console (normalmente encontrado na pasta Utilitrios).

Windows XP: C:\Documents

and Settings\<username>\Local Settings\Application

Data\Adobe\AIR\logs\Install.log

Windows Vista, Windows 7: C:\Users\<username>\AppData\Local\Adobe\AIR\logs\Install.log Linux: /home/<username>/.appdata/Adobe/AIR/Logs/Install.log


Nota: Estes arquivos de registro no foram criados nas verses do AIR anteriores ao AIR 2.

ltima atualizao em 13/10/2011

65

Captulo 7: Desenvolvendo aplicativos AIR para dispositivos mveis


Os aplicativos AIR em dispositivos mveis so implementados como aplicativos nativos. Eles usam o formato de aplicativo do dispositivo, e no o formato de arquivo do AIR. Atualmente o AIR suporta pacotes Android APK e pacotes IPA iOS. Depois de ter criado a verso do seu pacote de aplicativos, voc pode distribuir seu aplicativo atravs do mecanismo de plataforma padro. Para o Android, isso normalmente significa o Android Market; para o iOS, a Apple App Store. Voc pode usar o AIR SDK AIR SDK e Flash Professional, Flash Builder, ou outra ferramenta de desenvolvimento ActionScript para criar aplicativos AIR para dispositivos mveis. Aplicativos AIR mveis com base HMTL no esto disponveis no momento. Nota: O BlackBerry Playbook Research In Motion (RIM) fornece seu prprio SDK para desenvolvimento no AIR. Para informaes sobre o desenvolvimento do Playbook, consulte RIM: Desenvolvimento do SO do tablet da BlackBerry. Nota: Este documento descreve como desenvolver aplicativos iOS usando o AIR 2.6 ou verses posteriores. Os aplicativos criados com o AIR 2.6+ podem ser instalados no iPhone 3Gs, no iPhone 4 e nos dispositivos iPad que executam o iOS 4 ou posterior. Para desenvolver aplicativos AIR para verses anteriores do iOS, voc deve usar o AIR 2 Packager for iPhone, como descrito em Criao de aplicativos para o iPhone. Para saber os requisitos completos de sistema com a finalidade de executar aplicativos AIR, consulte Requisitos do sistema Adobe AIR.

Configurao do ambiente de desenvolvimento


As plataformas mveis tm requisitos adicionais de configurao alm da configurao do ambiente de desenvolvimento AIR, Flex, Flash normais. (Para obter mais informaes sobre como configurar o ambiente de desenvolvimento do AIR bsico, consulte Ferramentas da Plataforma Adobe Flash para desenvolvimento do AIR na pgina 16).

Configurao do Android
No necessria nenhuma instalao especial para o Android no AIR 2.6+. A ferramenta ADB do Android est includa no SDK do AIR (na pasta lib/android/bin). O AIR SDK usa a ferramenta ADB para instalar, desinstalar e executar os pacotes de aplicativos no dispositivo. Voc tambm pode usar ADB para ver os logs do sistema. Para criar e executar um emulador do Android voc deve baixar o Android SDK separado. Se o seu aplicativo adicionar elementos ao elemento <manifestAdditions> no descritor de aplicativo que a verso atual do AIR no reconhea como vlida, voc dever instalar uma verso mais recente do SDK do Android. Defina a varivel de ambiente AIR_ANDROID_SDK_HOME ou o parmetro da linha de comando -platformsdk ao caminho de arquivo do SDK. A ferramenta de empacotamento do AIR, ADT, usa esse SDK para validar as entradas no elemento <manifestAdditions>. No AIR 2.5, voc deve baixar uma cpia separada do Android SDK da Google. Voc pode definir a varivel de ambiente AIR_ANDROID_SDK_HOME para fazer referncia pasta do Android SDK. Se voc no definir esta varivel de ambiente, deve especificar o caminho para o Android SDK no argumento -platformsdk na linha de comando do ADT.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

66

Mais tpicos da Ajuda


Variveis de ambiente ADT na pgina 170 Variveis de ambiente do caminho na pgina 281

Configurao do iOS
Para instalar e testar um aplicativo iOS em um dispositivo e distribu-lo voc deve aderir ao programa Apple iOS Developer (que um servio pago). Depois de entrar no programa de desenvolvedor do iOS voc pode acessar o Portal de aprovisionamento do iOS onde poder obter os itens a seguir e arquivos da Apple que so necessrios para instalar um aplicativo em um dispositivo para testes e para posterior distribuio. Estes itens e arquivos incluem:

Certificados de distribuio e desenvolvimento IDs de aplicativos Arquivos de aprovisionamento de desenvolvimento e distribuio

Consideraes a respeito do design do aplicativo mvel


O contexto operacional e as caractersticas fsicas dos dispositivos mveis exigem codificao e design cuidadosos. Por exemplo, a simplificao do cdigo para que seja executado o mais rpido possvel crucial. A otimizao de cdigo s pode ir to longe, claro, se o design inteligente que trabalha dentro das limitaes do dispositivo tambm ajudar a evitar que sua apresentao visual sobrecarregue o sistema de renderizao. Code Enquanto fazer seu cdigo funcionar mais rpido sempre benfico, a velocidade mais lenta do processador da maioria dos dispositivos mveis aumenta as recompensas do tempo gasto escrevendo cdigos limpos. Alm disso, os dispositivos mveis so quase sempre executados com a energia da bateria. Obter o mesmo resultado com menos trabalho requer menos energia da bateria. Design Fatores como o pequeno tamanho da tela, modo de interao da tela de toque, e at o ambiente em constante mudana de um usurio mvel devem ser considerados ao projetar a experincia do usurio do seu aplicativo. Cdigo e design juntos Se seu aplicativo usa animao, a renderizao da otimizao muito importante. Contudo, a otimizao do cdigo sozinha muitas vezes no suficiente. Voc deve projetar os aspectos visuais do aplicativo de tal forma que o cdigo possa renderiz-los de forma eficiente. Tcnicas importantes de otimizao so discutidas no guia Otimizando o desempenho para a plataforma Flash. As tcnicas abordadas no guia se aplicam a todo o contedo em Flash e AIR, mas so essenciais para o desenvolvimento de aplicativos que funcionem bem em dispositivos mveis.

Paul Trani: Dicas e Truques para o Desenvolvimento no Mobile Flash roguish: Aplicativo de Teste de GPU do AIR para Mobile Jonathan Campos: Tcnicas de Otimizao dos Aplicativos AIR para Android Charles Schulze: Desenvolvimento de Jogos no AIR 2.6: iOS incluso

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

67

Ciclo de vida do aplicativo


Quando o aplicativo perde o foco para outro aplicativo, o AIR cai a taxa de quadros para 4 quadros por segundo e para a renderizao de grficos. Abaixo desta taxa de quadros, o fluxo de rede e conexes de soquete tendem a serem interrompidos. Se seu aplicativo no usa estas conexes, voc pode tornar a taxa de quadros ainda menor. Quando adequado, voc deve parar de reproduo de udio e remover os listeners para os sensores de geolocalizao e acelermetro. O objeto AIR NativeApplication despacha eventos ativos e inativos. Use estes eventos para gerenciar a transio entre o estado ativo e o estado do plano de fundo. A maioria dos sistemas operacionais mveis encerram aplicativos em segundo plano sem aviso prvio. Ao salvar o estado do aplicativo com frequncia, seu aplicativo deve ser capaz de restaurar-se a um estado razovel seja retornando para o status ativo do plano de fundo ou sendo ativado um novo.

Densidade das informaes


O tamanho fsico da tela de dispositivos mveis menor que na rea de trabalho, embora sua densidade em pixels (pixels por polegada) seja mais alta. O mesmo tamanho de fonte produzir letras que so fisicamente menores na tela de um dispositivo mvel do que em um computador desktop. Muitas vezes necessrio usar uma fonte maior para garantir a legibilidade. Em geral, 14 pontos o menor tamanho de fonte que pode ser lido facilmente. Os dispositivos portteis so frequentemente usados em movimento e em fracas condies de iluminao. Leve em considerao quanta informao voc pode realmente mostrar na tela de forma legvel. Talvez seja menos que poderia exibir em uma tela com as mesmas dimenses em pixels em uma rea de trabalho. Alm disso, considere que quando um usurio est tocando a tela, o dedo e a mo bloqueiam parte da tela de exibio. Coloque elementos interativos nas laterais e na parte inferior da tela quando o usurio tiver de interagir com estes em mais de um toque momentneo.

Entrada de texto
Muitos dispositivos usam um teclado virtual para entrada de texto. Teclados virtuais ocultam parte da tela e muitas vezes so complicados de usar. Evite contar com eventos de teclado (exceto teclas de funo). Considere a implantao de alternativas para usar campos de texto de entrada. Por exemplo, no necessrio um campo de texto para o usurio digitar um valor numrico. possvel fornecer dois botes para aumentar ou diminuir o valor.

Teclas de funo
Os dispositivos mveis incluem um nmero varivel de teclas de funo. As teclas de funo so botes programveis para funes diferentes. Siga as convenes de plataforma para essas teclas em seu aplicativo.

Alteraes na orientao da tela


possvel visualizar o contedo mvel na orientao retrato ou paisagem. Considere a forma como o aplicativo lidar com as alteraes na orientao da tela. Para obter mais informaes, consulte Orientao do palco.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

68

Escurecimento da tela
O AIR no evita automaticamente o escurecimento da tela enquanto o vdeo reproduzido. Voc pode usar a propriedade systemIdleMode do objeto AIR NativeApplication para controlar se o aparelho entrar no modo de economia de energia. (Em algumas plataformas voc deve solicitar as permisses adequadas para que esse recurso funcione.)

Chamadas de telefone
O tempo de execuo de udio silencia automaticamente quando o usurio faz ou recebe um telefonema. No Android voc deve definir a permisso READ_PHONE_STATE no descritor do aplicativo se este reproduz udio enquanto est no plano de fundo. Caso contrrio, o Android impede o tempo de execuo de detectar chamadas telefnicas e de silenciar o udio automaticamente. Consulte Permisses do Android na pgina 76.

Destinos de ocorrncias
Considere o tamanho dos destinos de ocorrncia ao projetar botes e outros elementos da interface do usurio que o usurio pressiona. Aumente esses elementos o suficiente para serem ativados confortavelmente com o dedo na tela de toque. Alm disso, certifique-se de que existe espao suficiente entre os destinos. A rea de destino deve atingir cerca de 44 pixels por 57 pixels em cada lado de uma tela comum de celular de alta dpi.

Tamanho da instalao do pacote do aplicativo


Os dispositivos mveis normalmente tm muito menos espao de armazenamento para a instalao de aplicativos e dados do que os computadores desktop. Reduza o tamanho do pacote eliminando bibliotecas e ativos no utilizados. No Android o pacote do aplicativo no extrado em arquivos separados quando um aplicativo instalado. Em vez disso, os ativos so descompactados em armazenamento temporrio quando so acessados. Para reduzir este espao de armazenamento de ativos descompactados, feche fluxos de URL e o arquivo quando os ativos estiverem completamente carregados.

Acesso ao sistema de arquivos


Sistemas operacionais mveis diferentes impem diferentes restries de sistema de arquivos, e essas restries tendem a ser diferentes das impostas pelos sistemas operacionais de desktop. O lugar apropriado para salvar arquivos e dados, portanto, pode variar de plataforma para plataforma. Uma consequencia da variao no sistema de arquivos que os atalhos para diretrios comuns fornecidos pela classe AIR File nem sempre esto disponveis. A seguinte tabela mostra quais atalhos podem ser usados no Android e no iOS:
Android File.applicationDirectory Somente leitura por URL (caminho no ativo) Disponvel Raiz de sdcard Raiz de sdcard Raiz de sdcard Disponvel Disponvel iOS Somente leitura

File.applicationStorageDirectory File.desktopDirectory File.documentsDirectory File.userDirectory File.createTempDirectory() File.createTempFile()

Disponvel Indisponvel Disponvel Indisponvel Disponvel Disponvel

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

69

Componentes da UI
A Adobe est desenvolvendo uma verso otimizada da estrutura Flex para dispositivos portteis. Para obter mais informaes, consulte http://labs.adobe.com/technologies/flex/mobile/. Tambm esto disponveis projetos de componentes comunitrios adequados para aplicativos mveis. Isso inclui:

Minimal Comps de Keith Peters Verso da Minimal Comps com visual personalizado de Derrick Grigg Componentes as3flobile de Todd Anderson

Fluxo de trabalho para a criao de aplicativos AIR para dispositivos mveis


O fluxo de trabalho para a criao de uma aplicativo do AIR para dispositivos mveis (ou outros) , em geral, muito semelhante ao usado para criar um aplicativo desktop. As principais diferenas de fluxo de trabalho ocorrem quando hora de compactar, depurar e instalar um aplicativo. Por exemplo, os aplicativos AIR para Android usam o formato nativo de pacote APK do Android ao invs do formato do pacote AIR. Assim, eles tambm usam os mecanismos padro Android para instalar e atualizar.

AIR for Android


As etapas a seguir so tpicas ao desenvolver um aplicativo do AIR para o Android:

Escreva o cdigo ActionScript ou MXML. Criar um arquivo descritor do aplicativo do AIR (usando o namespace, 2.5 ou superior). Compile o aplicativo. Compacte o aplicativo como um pacote Android (.apk). Instale o tempo de execuo no dispositivo ou emulador do Android (se j no estiver instalado). Instale o aplicativo no dispositivo (ou emulador do Android). Inicie o aplicativo no dispositivo.
Voc pode usar o Adobe Flash Builder, Adobe Flash Professional CS5, ou as ferramentas de linha de comando para realizar essas etapas. Uma vez que o aplicativo do AIR estiver pronto e compactado como um arquivo APK, voc pode envi-lo para o Android Market ou distribu-lo atravs de outros meios.

AIR para iOS


As etapas a seguir so tpicas no desenvolvimento de aplicativos AIR para iOS:

Instale o iTunes. Gerar as IDs e os arquivos de desenvolvedor necessrios no Portal de aprovisionamento Apple iOS. Estes itens
incluem:

Certificado do desenvolvedor ID do aplicativo

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

70

Perfil de aprovisionamento
Voc deve listar as identificaes de todos os dispositivos de teste no qual pretende instalar o aplicativo ao criar o perfil de aprovisionamento.

Converter o certificado de desenvolvimento e a chave privada para um arquivo de armazenamento de chave P12. Escreva o cdigo MXML ou ActionScript do aplicativo. Compile o aplicativo com um compilador ActionScript ou MXML. Criar arte de cone e de tela inicial do aplicativo. Crie o descritor do aplicativo (namespace, usando o 2.6 ou superior). Compacte o arquivo IPA usando ADT. Use o iTunes para colocar o seu perfil de aprovisionamento no dispositivo de teste. Instale e teste o aplicativo em seu dispositivo iOS. Voc pode usar o iTunes para instalar o arquivo IPA.
Assim que o aplicativo do AIR estiver concludo, voc pode compact-lo novamente usando um certificado de distribuio e perfil de aprovisionamento. Ele est pronto para enviado Apple App Store.

Configurao de propriedades do aplicativo mvel


Tal como acontece com outros aplicativos AIR, voc define as propriedades bsicas do aplicativo no arquivo descritor do aplicativo. Os aplicativos mveis ignoram algumas das propriedades especficas para ambiente de trabalho, como tamanho da janela e transparncia. Aplicativos mveis tambm podem usar as suas prprias propriedades especficas da plataforma. Por exemplo, voc pode incluir um elemento android para aplicativos Android e um elemento iPhone para aplicativos iOS.

Configuraes comuns
Vrias configuraes de descritor de aplicativo so importantes para todos os aplicativos de dispositivo mvel.

Verso de tempo de execuo exigida pelo AIR


Especifique a verso do tempo de execuo do AIR exigido pelo seu aplicativo usando o namespace do arquivo do descritor do aplicativo. O namespace, atribudo no elemento do aplicativo, determina, em grande parte, que recursos seu aplicativo pode usar. Por exemplo, se seu aplicativo usa o namespace AIR 2.7, e o usurio tem alguma verso futura instalada, o aplicativo ainda ver o comportamento do AIR 2.7 (mesmo que o comportamento for alterado na verso futura). Somente quando mudar o namespace e publicar uma atualizao sua aplicao ter acesso ao novo comportamento e recursos. As correes de segurana so uma importante exceo a essa regra. Em dispositivos que usam um tempo de execuo separado do aplicativo, como o Android, ser solicitado ao usurio que instale ou atualize AIR se no tiver a verso necessria. Em dispositivos que incorporam o tempo de execuo, como o iPhone, esta situao no ocorre (desde que a verso necessria seja fornecida com o aplicativo em primeiro lugar). Especifique o namespace usando o atributo xmlns do elemento do aplicativo raiz. Os namespaces a seguir devem ser usados para aplicativos mveis (dependendo da plataforma mvel visada):

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

71

iOS 4+ and iPhone 3Gs+ or Android: <application xmlns="http://ns.adobe.com/air/application/2.7"> iOS only: <application xmlns="http://ns.adobe.com/air/application/2.0">

Nota: O suporte para dispositivos iOS 3 fornecido pelo Packager para iPhone SDK, com base nos AIR 2.0 SDK. Para obter informaes sobre a criao de aplicativos AIR para iOS 3, consulte Criao de aplikcativos para o iPhone. O AIR 2.6 SDK (e posteriores) suporta iOS 4 e posteriores nos dispositivos iPhone 3Gs, iPhone 4 e iPad.

Mais tpicos da Ajuda


aplicativo na pgina 190

Identidade do aplicativo
Diversas configuraes devem ser exclusivas para cada aplicativo que voc publicar. Estas incluem o ID, o nome, e o nome de arquivo. IDs do aplicativo Android No Android, o ID convertida para o nome do pacote do Android prefixando "air". para o ID do AIR. Dessa forma, se o ID do AIR for com.example.MyApp, o nome do pacote do Android air.com.example.MyApp.
<id>com.example.MyApp</id> <name>My Application</name> <filename>MyApplication</filename>

Alm disso, se o ID no for um nome de pacote vlido no sistema operacional Android, convertido para um nome vlido. Caracteres com hfen so alterados para dgitos de sublinhado e de entrelinha em qualquer componente de ID que seja precedida por um "A" maisculo. Por exemplo, o ID 3-goats.1-boat transformada para o nome do pacote air.A3_goats.A1_boat. Nota: O prefixo adicionado ID do aplicativo pode ser usado para identificar os aplicativos AIR no Android Market. Se voc no deseja que o aplicativo seja identificado como AIR devido ao prefixo, deve desempacotar o arquivo APK, mudar o ID do aplicativo, e compact-lo novamente como descrito em Emissor de anlise do aplicativo do AIR para Android . IDs do aplicativo iOS Defina o ID do aplicativo do AIR para corresponder com o ID do aplicativo que voc criou no Portal de aprovisionamento Apple iOS. As IDs do aplicativo iOS contm um ID da distribuio do conjunto seguida por um identificador do conjunto. O ID da distribuio de conjunto uma sequncia de caracteres como, por exemplo, 5RM86Z4DJM, que a Apple atribui ID de aplicativo. O identificador de conjunto contm o nome em estilo de domnio reverso selecionado. Um identificador de conjunto pode terminar em um asterisco (*), indicando um ID de aplicativo curinga. Se o identificador de conjunto terminar com caractere curinga, voc pode substituir este por qualquer sequncia vlida. Por exemplo:

Se o ID do aplicativo Apple for 5RM86Z4DJM.com.example.helloWorld, voc deve usar


com.example.helloWorld no descritor do aplicativo.

Se o ID do aplicativo Apple for 96LPVWEASL.com.example.* (um ID de aplicativo curinga), voc pode usar
com.example.helloWorld, com.example.anotherApp, ou algum outro ID que inicie com com.example.

Finalmente, se o ID de aplicativo Apple for apenas o ID de distribuio de conjunto e um curinga, como:


38JE93KJL.*, voc pode usar qualquer ID de aplicativo em AIR.

Ao especificar o ID do aplicativo, no inclua o ID de distribuio de conjunto do ID de aplicativo.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

72

Mais tpicos da Ajuda


id na pgina 202 nome de arquivo na pgina 199 nome na pgina 210

Verso do aplicativo
No AIR 2.5 e posterior, especifique a verso do aplicativo no elemento versionNumber. O elemento version no pode mais ser usado. Ao especificar um valor para versionNumber, voc deve usar uma sequncia de at trs nmeros separados por pontos, como: "0.1.2". Cada segmento do nmero de verso pode ter at trs dgitos. (Em outras palavras, "999.999.999" o maior nmero de verso autorizada.) Voc no precisa incluir todos os trs segmentos do nmero; "1" e "1.0" so nmeros de verso legal. Voc tambm pode especificar um rtulo para a verso com o elemento versionLabel. Ao adicionar um rtulo de verso este exibido em vez do nmero da verso em lugares como a tela de informaes dos aplicativos Android. Uma etiqueta de verso deve ser especificada para aplicativos distribudos atravs do Android Market. Se voc no especificar um valor versionLabel no descritor de aplicativo do AIR, o valor versionNumber atribudo ao campo de rtulo da verso Android.
<!-- AIR 2.5 and later --> <versionNumber>1.23.7<versionNumber> <versionLabel>1.23 Beta 7</versionLabel>

No Android, o AIR versionNumber traduzido para o Android inteiro versionCode usando a frmula: a*1000000
+ b*1000 + c, onde a, b, e c so os componentes do nmero da verso do AIR: a.b.c.

Mais tpicos da Ajuda


verso na pgina 217 versionLabel na pgina 217 versionNumber na pgina 218

SWF do aplicativo principal


Especifique o arquivo SWF do aplicativo principal no filho content do elemento initalWindow. Ao direcionar dispositivos no perfil mvel, voc deve usar um arquivo SWF (aplicativos com base HTML no esto disponveis).
<initialWindow> <content>MyApplication.swf</content> </initialWindow>

Voc deve incluir o arquivo no pacote AIR (usando ADT ou sua IDE). Simplesmente fazer referncia do nome no descritor do aplicativo no faz com que o arquivo seja includo no pacote de maneira automtica.

Propriedades da tela principal


Vrios elementos filho do elemento initialWindow controlam a aparncia inicial e o comportamento da tela principal do aplicativo.

aspectRatio Especifica se o aplicativo deve ser exibido inicialmente em formato de retrato (altura maior do que
a largura) ou paisagem (altura menor do que a largura).
<aspectRatio>landscape</aspectRatio>

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

73

autoOrients Especifica se o palco deve mudar automaticamente a orientao quando o usurio gira o aparelho
ou executa outro gesto relacionado orientao, como abertura ou fechamento de um teclado deslizante. Se false, que o padro, o palco no mudar a orientao com o dispositivo.
<autoOrients>true</autoOrients>

fullScreen Especifica se o aplicativo deve tomar a tela completa do dispositivo, ou se deve compartilhar a tela
com o cromo, como uma barra de status do sistema.
<fullScreen>true</fullScreen>

renderMode Especifica se o tempo de execuo deve renderizar o aplicativo com a unidade de processamento
grfico (GPU) ou a unidade central de processamento (CPU) principal. Em geral, a renderizao da GPU aumentar a velocidade de renderizao, mas alguns recursos, como certos modos de mesclagem e filtros PixelBender, no esto disponveis no modo de GPU. Alm disso, diversos dispositivos e drivers de dispositivo diferentes tm diferentes capacidades e limitaes de GPU. Voc sempre deve testar seu aplicativo em uma ampla variedade de dispositivos possveis, especialmente quando usando o modo de GPU. Voc pode definir o modo de renderizao para gpu, cpu, ou auto. O valor padro auto, que no momento volta para o modo de cpu. No utilize o modo de renderizao de GPU para aplicativos Flex.
<renderMode>gpu</renderMode>

As limitaes do modo de GPU so as seguintes:

A estrutura do Flex no suporta o modo de renderizao de GPU. No existe suporte para filtros Mesclagens PixelBender e preenchimentos no esto disponveis No h suporte para os seguintes modos de mistura: camada, alfa, apagar, sobrepor, realar, clarear e escurecer No recomendado o uso do modo de renderizao pela GPU em um aplicativo que reproduz vdeo. No modo de renderizao pela GPU, os campos de texto no so devidamente movidos para um local visvel
quando o teclado virtual aberto. Para assegurar que o campo de texto seja visvel enquanto o usurio insere texto, use a propriedade softKeyboardRect do palco e os eventos de teclado virtual para mover o campo de texto para a rea visvel.

Se um objeto de exibio no puder ser renderizado pela GPU, ele no exibido. Por exemplo, se um filtro for
aplicado para um objeto de exibio, este no exibido. Nota: A implementao de GPU para iOS no AIR 2.6+ muito diferente da usada na verso AIR 2.0 anterior. Diferentes consideraes de otimizao aplicveis.

Mais tpicos da Ajuda


aspectRatio na pgina 193 autoOrients na pgina 194 fullScreen na pgina 201 renderMode na pgina 212

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

74

Perfis disponveis
Voc pode adicionar o elemento supportedProfiles para especificar com quais perfis de dispositivo seu aplicativo compatvel. Use o perfil mobileDevice para dispositivos mveis. Ao executar o aplicativo com o Adobe Debug Launcher (ADL), este usa o primeiro perfil da lista como o perfil ativo. Voc tambm pode usar o sinalizador profile ao executar o ADL para selecionar um perfil especfico na lista de suporte. Se o aplicativo for executado em todos os perfis, voc pode excluir o elemento supportedProfiles. O ADL usa o perfil desktop como o perfil padro ativo neste caso. Para especificar que o aplicativo compatvel tanto com os perfis desktop quanto com o dispositivo mvel, e que normalmente voc quer testar o aplicativo no perfil mvel, adicione o seguinte elemento:
<supportedProfiles>mobileDevice desktop</supportedProfiles>

Mais tpicos da Ajuda


supportedProfiles na pgina 214 Perfis de dispositivo na pgina 221 AIR Debug Launcher (ADL) na pgina 144

Extenses nativas necessrias


Os aplicativos que suportam o perfil mobileDevice podem usar extenses nativas. Indique todas as extenses nativas que o aplicativo do AIR utiliza na indexao do aplicativo. O seguinte exemplo ilustra a sintaxe para especificar duas extenses nativas necessrias:
<extensions> <extensionID> com.example.extendedFeature</extensionID> <extensionID> com.example.anotherFeature</extensionID> </extensions>

O elemento extensionID tem o mesmo valor que o elemento id no arquivo descritor de extenso. O arquivo descritor da extenso um arquivo XML chamado extension.xml. Ela est compactada no arquivo ANE recebido do desenvolvedor da extenso nativa.

Comportamento do teclado virtual


Defina o elemento softKeyboardBehavior como none para desativar o comportamento de deslocamento e redimensionamento automtico que o tempo de execuo usa para verificar se o campo de entrada de texto est centrado na exibio quando o teclado virtual gerado. Se voc desativar o comportamento automtico, seu aplicativo fica responsvel por conferir se a rea de entrada de texto ou outros contedos relevantes esto visveis aps o teclado ser ativado. Voc pode usar a propriedade softKeyboardRect do palco em conjunto com SoftKeyboardEvent para detectar quando o teclado aberto e determinar a rea que fica oculta. Para ativar o comportamento automtico defina o valor do elemento para pan:
<softKeyboardBehavior>pan</softKeyboardBehavior>

Visto que pan o valor padro, a omisso do elemento softKeyboardBehavior tambm ativa o comportamento automtico do teclado. Nota: Ao usar tambm renderizao pela GPU o comportamento de deslocamento no compatvel.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

75

Mais tpicos da Ajuda


softKeyboardBehavior na pgina 214 Stage.softKeyboardRect SoftKeyboardEvent

Configuraes do Android
Na plataforma Android voc pode usar o elemento android do descritor do aplicativo para adicionar informaes ao manifesto do aplicativo do Android, que um arquivo de propriedades do aplicativo usado pelo sistema operacional Android. O ADT gera automaticamente o arquivo Manifest.xml Android quando voc cria o pacote APK. O AIR define algumas propriedades para os valores necessrios para determinados recursos funcionarem. Outras propriedades definidas na seo android do descritor do aplicativo do AIR so adicionadas seo correspondente do arquivo Manifest.xml. Nota: Para a maioria dos aplicativos AIR voc deve definir as permisses do Android necessrias para seu aplicativo no elemento android, mas geralmente no precisa definir as outras propriedades. Voc s pode definir os atributos que aceitam valores boolianos, inteiros ou sequncias de caracteres. No est disponvel a definio de referncias para recursos do pacote de aplicativo.

Configuraes de manifesto Android reservadas


O AIR define vrias entradas de manifesto no documento de manifesto Android gerado para garantir que os recursos de aplicao e tempo de execuo funcionem corretamente. No possvel definir as configuraes a seguir: elemento de manifesto No possvel definir os seguintes atributos do elemento de manifesto:

package android:versionCode android:versionName xmlns:android


elemento de atividade No possvel definir os seguintes atributos do elemento de atividade principal:

android:label android:icon
elemento de aplicativo No possvel definir os seguintes atributos do elemento de aplicativo:

android:theme android:name android:label android:windowSoftInputMode android:configChanges android:screenOrientation

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

76

android:launchMode
elemento uses-sdk No possvel incluir um elemento uses-sdk.

Permisses do Android
O modelo de segurana do Android exige que cada aplicativo pea autorizao para utilizar recursos que tenham implicaes de segurana ou privacidade. Essas permisses devem ser especificadas quando o aplicativo compactado, e no podem ser alteradas em tempo de execuo. O sistema operacional Android informa ao usurio quais permisses um aplicativo solicita quando o usurio o instala. Se a permisso necessria para um recurso no for solicitada, o sistema operacional Android pode gerar uma exceo quando o aplicativos acessa o recurso, mas no garantida uma exceo. Excees so transmitidas pelo tempo de execuo ao seu aplicativo. No caso de falha silenciosa, uma mensagem de falha de permisso adicionada ao log do sistema Android. No AIR, voc pode especificar as permisses do Android dentro do elemento Android do descritor do aplicativo. O formato a seguir usado para adicionar as permisses (onde PERMISSION_NAME o nome de uma permisso Android):
<android> <manifestAdditions> <![CDATA[ <manifest> <uses-permission android:name="android.permission.PERMISSION_NAME" /> </manifest> ]]> </manifestAdditions> </android>

As instrues de permisses por uso dentro do elemento manifest so adicionadas diretamente para o documento de manifesto do Android. As permisses a seguir so obrigatrias para usar vrios recursos AIR:
ACCESS_COARSE_LOCATION Permite ao aplicativo acessar dados de local de rede WIFI e celular por meio da classe

Geolocation.
ACCESS_FINE_LOCATION Permite ao aplicativo acessar dados GPS por meio da classe Geolocation. ACCESS_NETWORK_STATE and ACCESS_WIFI_STATE Permite ao aplicativo acessar informaes de rede por meio da

classe NetworkInfo.
CAMERA Permite ao aplicativo acessar a cmera.

Nota: Ao pedir permisso para usar o recurso de cmera, o Android assume que seu aplicativo tambm exige a cmera. Se a cmera for um recurso opcional do aplicativo, voc deve adicionar um elemento recurso por uso para o manifesto para a cmera, definindo o atributo necessrio para false. Consulte Filtro de compatibilidade do Android na pgina 78.
INTERNET Permite ao aplicativo fazer solicitaes de rede, alm de permitir a depurao remota. READ_PHONE_STATE Permite ao tempo de execuo do AIR silenciar o udio durante as chamadas telefnicas. Voc

deve definir essa permisso se o aplicativo reproduzir udio em plano de fundo.


RECORD_AUDIO Permite ao aplicativo acessar o microfone. WAKE_LOCK e DISABLE_KEYGUARD Permite ao aplicativo impedir que o dispositivo entre no modo de suspenso por meio do uso das configuraes da classe SystemIdleMode.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

77

WRITE_EXTERNAL_STORAGE Permite ao aplicativo gravar no carto de memria externo no dispositivo.

Por exemplo, para definir as permisses para um aplicativo que exige cada permisso de maneira impressionante, voc pode adicionar o seguinte para o descritor de aplicativo:
<android> <manifestAdditions> <![CDATA[ <manifest> <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission <uses-permission </manifest> ]]> </manifestAdditions> </android>

android:name="android.permission.ACCESS_COARSE_LOCATION" /> android:name="android.permission.ACCESS_FINE_LOCATION" /> android:name="android.permission.ACCESS_NETWORK_STATE" /> android:name="android.permission.ACCESS_WIFI_STATE" /> android:name="android.permission.CAMERA" /> android:name="android.permission.DISABLE_KEYGUARD" /> android:name="android.permission.INTERNET" /> android:name="android.permission.READ_PHONE_STATE" /> android:name="android.permission.RECORD_AUDIO" /> android:name="android.permission.WAKE_LOCK" /> android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Mais tpicos da Ajuda


Segurana e permisses do Android Classe Manifest.permission do Android

Esquemas URI personalizados do Android


Voc pode usar um esquema URI personalizado para ativar um aplicativo do AIR de uma pgina web ou um aplicativo Android nativo. O suporte URI personalizado depende de filtros de mtodo especificados no manifesto do Android, por isso esta tcnica no pode ser usada em outras plataformas. Para usar um URI personalizado, adicione um filtro com mtodo para o descritor do aplicativo no bloco <android>. Os elementos intent-filter no exemplo a seguir devem ser especificados. Edite a instruo <data android:scheme="my-customuri"/> para refletir a sequncia de caracteres URI para o seu esquema personalizado.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

78

<android> <manifestAdditions> <![CDATA[ <manifest> <application> <activity> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.BROWSABLE"/> <category android:name="android.intent.category.DEFAULT"/> <data android:scheme="my-customuri"/> </intent-filter> </activity> </application> </manifest> ]]> </manifestAdditions> </android>

O filtro com mtodo informa o sistema operacional Android que seu aplicativo est disponvel para executar uma determinada ao. No caso de um URI personalizado, isto significa que o usurio clicou em um link usando esse esquema de URI (e o navegador no sabe como lidar com isso). Quando o aplicativo invocado atravs de um URI personalizado, o objeto NativeApplication envia um evento invoke. A URL do link, incluindo parmetros de consulta, colocada no array arguments do objeto InvokeEvent. Voc pode usar qualquer nmero de filtros com mtodo. Nota: Links em uma instncia StageWebView no podem abrir URLs que usam um esquema de URI customizado.

Mais tpicos da Ajuda


Filtros com mtodo Android Categorias e aes do Android

Filtro de compatibilidade do Android


O sistema operacional Android usa um nmero de elementos no arquivo de manifesto do aplicativo para determinar se o aplicativo compatvel com um determinado dispositivo. A incluso desta informao ao manifesto opcional. Se voc no incluir esses elementos, o aplicativo pode ser instalado em qualquer dispositivo com Android. No entanto, ele pode no funcionar corretamente em qualquer dispositivo com Android. Por exemplo, um aplicativo de cmera no vai ser muito til em um telefone que no tenha cmera. As marcas do manifesto do Android que voc pode usar para filtrar incluem:

supports-screens uses-configuration uses-feature

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

79

Aplicativos de cmera Se voc pedir a permisso da cmera para seu aplicativo, o Android assume que o aplicativo exige que todos os recursos da cmera estejam disponveis, incluindo foco automtico e flash. Se seu aplicativo no exige que todos os recursos da cmera, ou se a cmera um recurso opcional, voc deve definir os vrios elementos uses-feature para a cmera para indicar que estes so opcionais. Caso contrrio, usurios com dispositivos que esto faltando um recurso ou que no tenham uma cmera no poder encontrar o seu aplicativo na Android Market. O exemplo a seguir ilustra como solicitar permisso para a cmera e tornar todos os recursos desta opcionais:
<android> <manifestAdditions> <![CDATA[ <manifest> <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"/> </manifest> ]]> </manifestAdditions> </android>

Aplicativos de gravao de udio Se voc pedir a permisso para gravar o udio, o Android tambm assume que o aplicativo requer um microfone. Se a gravao de udio for um recurso opcional do seu aplicativo, voc pode adicionar uma marca uses-feature para especificar que o microfone no necessrio. Caso contrrio, usurios com dispositivos que no tm um microfone no podero encontrar seu aplicativo na Android Market. O exemplo a seguir ilustra como solicitar permisso para usar o microfone, enquanto ainda est tornando o hardware do microfone opcional:
<android> <manifestAdditions> <![CDATA[ <manifest> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-feature android:name="android.hardware.microphone" android:required="false"/> </manifest> ]]> </manifestAdditions> </android>

Mais tpicos da Ajuda


Desenvolvedores para Android: Compatibilidade do Android Desenvolvedores para Android: Constantes do nome do recurso do Android

Local de instalao
Voc pode permitir que seu aplicativo seja instalado ou transferido para o carto de memria externo, definindo o atributo installLocation do elemento manifest do Android para auto ou preferExternal:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

80

<android> <manifestAdditions> <![CDATA[ <manifest android:installLocation="preferExternal"/> ]]> </manifestAdditions> </android>

O sistema operacional Android no garante que seu aplicativo ser instalado para a memria externa. Um usurio pode tambm mover o aplicativo entre memria interna e externa utilizando aplicativo de configuraes do sistema. Mesmo quando instalado para memria externa, cache de aplicativos e dados do usurio (como o contedo do diretrio de armazenamento do aplicativo, objetos compartilhados e arquivos temporrios) ainda esto armazenados na memria interna. Para evitar o uso de muita memria interna, seja seletivo sobre os dados que voc salvar para o diretrio de armazenamento do aplicativo. Grandes quantidades de dados devem ser salvos no SDCard usando os locais File.userDirectory ou File.documentsDirectory (ambos mapeiam para a raiz do carto SD no Android).

Como habilitar o Flash Player e outros plug-ins em um objeto StageWebView


No Android 3.0+, um aplicativo deve habilitar a acelerao de hardware no elemento do aplicativo Android para que o contedo do plug-in seja exibido num objeto StageWebView. Para ativar a renderizao de plug-in, defina o atributo android:hardwareAccelerated do elemento application como true:
<android> <manifestAdditions> <![CDATA[ <manifest> <application android:hardwareAccelerated="true"/> </manifest> ]]> </manifestAdditions> </android>

O AIR valida os elementos e atributos includos na poro do Android do descritor de aplicativo. Por padro, o AIR efetua a validao em comparao com o SDK do Android 2.2. Uma vez que o atributo android:hardwareAccelerated foi adicionado ao Android 3.0, voc dever definir o utilitrio ADT do AIR para efetuar a validao em comparao com o SDK do Android 3.0 (ou posterior). Primeiro, faa download do SDK do Android 3: Desenvolvedores do Android: Como instalar o SDK . Ao configurar o pacote, defina a opo -platformsdk para o caminho que contm o SDK do Android respectivo (defina o caminho para o diretrio que contm a pasta ferramentas do Android). Por exemplo:
adt -package -target apk -storetype pkcs12 -keystore cert.p12 -storepass foo myApp.apk myApp-app.xml -platformsdk c:\androidSDK myApp.swf other.files

Tambm possvel definir a varivel de ambiente AIR_ANDROID_SDK_HOME para o caminho que contm o SDK do Android. Uma vez que o Flash Builder e o Flash Professional no permitem adicionar parmetros extras ao configurar o pacote, a configurao dessa varivel de ambiente permite utilizar as configuraes do SDK do Android que no estavam disponveis quando o SDK do Android que voc estava utilizando foi lanado. Consulte Variveis de ambiente ADT na pgina 170.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

81

Profundidade de cores
AIR 3+ No AIR 3 e em verses posteriores, o tempo de execuo define a exibio para renderizar cores de 32 bits. Nas verses anteriores do AIR, o tempo de execuo usa a cor de 16 bits. Voc pode informar o tempo de execuo para usar a cor de 16 bits usando o elemento <colorDepth> do descritor de aplicativo:
<android> <colorDepth>16bit</colorDepth> <manifestAdditions>...</manifestAdditions> </android>

A utilizao da profundidade de cor de 16 bits pode aumentar o desempenho de renderizao, mas em detrimento da fidelidade de cor.

Configuraes do iOS
As configuraes aplicveis somente aos dispositivos iOS so colocadas no elemento <iPhone> no descritor do aplicativo. O elemento iPhone pode ter um elemento InfoAdditions e um elemento requestedDisplayResolution como filhos. O elemento InfoAdditions permite especificar pares de valores chave que so adicionados ao arquivo de configurao Info.plist do aplicativo. Nesse exemplo, os valores definem o estilo da barra de estilo do aplicativo e determinam que o aplicativo no requer acesso WiFi contnuo.
<InfoAdditions> <![CDATA[ <key>UIStatusBarStyle</key> <string>UIStatusBarStyleBlackOpaque</string> <key>UIRequiresPersistentWiFi</key> <string>NO</string> ]]> </InfoAdditions>

As configuraes de InfoAdditions so anexadas a uma tag CDATA. Para obter mais informaes sobre outras configuraes de Info.plist, consulte a documentao do desenvolvedor da Apple.

Configuraes reservadas de InfoAdditions do iOS


O AIR define vrias entradas no arquivo INfo.plist gerado para garantir que os recursos do aplicativo e o tempo de execuo funcionem corretamente. No possvel definir as configuraes a seguir:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

82

CFBundleDisplayName CFBundleExecutable CFBundleIconFiles CFBundleIdentifier CFBundleInfoDictionaryVersion CFBundlePackageType CFBundleResourceSpecification CFBundleShortVersionString CFBundleSupportedPlatforms CFBundleVersion

CTAutoOrients CTInitialWindowTitle CTInitialWindowVisible DTPlatformName DTSDKName MinimumOSVersion NSMainNibFile UIInterfaceOrientation UIStatusBarHidden UISupportedInterfaceOrientations

Suporte a modelos diferentes de dispositivos iOS


Para oferecer suporte a iPad, inclua as configuraes adequadas de valores chave para UIDeviceFamily no elemento InfoAdditions. A configurao UIDeviceFamily uma matriz de sequncias de caracteres. Cada sequncia de caracteres define os dispositivos suportados. O parmetro <string>1</string> define o suporte para iPhone e iPod Touch. A configurao <string>2</string> define o suporte ao iPad. Se voc especificar somente uma dessas sequncias de caracteres, somente aquela famlia de dispositivos ser suportada. Por exemplo, a configurao a seguir limita o suporte ao iPad:
<key>UIDeviceFamily</key> <array> <string>2</string> </array>>

As configuraes a seguir suportam as duas famlias de dispositivos (iPhone/iPod Touch e iPad):


<key>UIDeviceFamily</key> <array> <string>1</string> <string>2</string> </array>

Exibies em alta resoluo


O elementorequestedDisplayResolution especifica se o seu aplicativo usar o modo de resoluo padro ou alta nos dispositivos iOS com tela de alta resoluo.
<requestedDisplayResolution>high</requestedDisplayResolution>

No modo de alta resoluo, voc pode tratar individualmente cada pixel numa exibio de alta resoluo. No modo padro, a tela do dispositivo aparecer para o seu aplicativo como uma tela de resoluo padro. O desenho de um nico pixel nesse modo definir a cor de quatro pixel na tela de alta resoluo. A definio proposta pelo aplicativo padro. Observe que o elemento requestedDisplayResolution um filho do elemento iPhone(no o elemento InfoAdditions).

Mais tpicos da Ajuda


requestedDisplayResolution na pgina 213 Renaun Erickson: Desenvolvimento para telas iOS com retina e sem retina utilizando o AIR 2.6

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

83

Esquemas URI personalizados do iOS


Voc pode registrar um esquema URI personalizado para permitir que o seu aplicativo seja invocado por um link numa pgina da web ou em um outro aplicativo nativo no dispositivo. Para registrar um esquema URI, adicione uma chave CFBundleURLTypes no elemento InfoAdditions. O exemplo a seguir registra um esquema URI denominado com.example.app para permitir que o aplicativo seja invocado por URLs com a forma: example://foo.
<key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>example</string> </array> <key>CFBundleURLName</key> <string>com.example.app</string> </dict> </array>

Quando o aplicativo invocado atravs de um URI personalizado, o objeto NativeApplication envia um evento invoke. A URL do link, incluindo parmetros de consulta, colocada no array arguments do objeto InvokeEvent. Voc pode usar qualquer nmero de esquemas URI pesonalizados. Nota: Links em uma instncia StageWebView no podem abrir URLs que usam um esquema de URI customizado. Nota: Se outro aplicativo j tiver registrado um esquema, ento o seu aplicativo no poder substitu-lo como um aplicativo registrado para aquele esquema URI.

Filtragem de compatibilidade com o iOS


Adicione entradas a uma matriz UIRequiredDeviceCapabilities dentro do elemento InfoAdditions se o seu aplicativo tiver que ser usado somente em dispositivos com capacidades especficas de hardware ou software. Por exemplo, a entrada a seguir indica que um aplicativo requer uma cmara fotogrfica digital e um microfone:
<key>UIRequiredDeviceCapabilities</key> <array> <string>microphone</string> <string>still-camera</string> </array>

Se um dispositivo no tiver a capacidade correspondente, o aplicativo no poder ser instalado. As configuraes de capacidade relevantes para os aplicativos AIR incluem:
telefonia wifi sms cmara fotogrfica digital cmara com autofoco cmara voltada para frente cmara com flash cmara de vdeo acelermetro servios de localizao gps microfone

O AIR 2.6+ adiciona automaticamente armv7 e opengles-2 lista de capacidades requeridas. Nota: No necessrio incluir essas capacidades no descritor do aplicativo para que o seu aplicativo as utilize. Use as configuraes de UIRequiredDeviceCapabilities somente para impedir que os usurios instalem seu aplicativo em dispositivos nos quais no possam funcionar adequadamente.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

84

Sair em vez de pausar


Quando um usurio sai de um aplicativo do AIR, o aplicativo vai para o segundo plano e pausa. Se voc quiser que o seu aplicativo seja encerrado completamente, em vez de pausar, defina a propriedade UIApplicationExitsOnSuspend como YES:
<key>UIApplicationExitsOnSuspend</key> <true/>

cones de aplicativos
A tabela a seguir lista os tamanhos de cones utilizados em cada plataforma mvel:
Tamanho do cone 29x29 36x36 48x48 57x57 72x72 114x114 512 x 512 Plataforma iOS Android Android, iOS iOS Android, iOS iOS iOS

Especifique o caminho para os arquivos de cone no elemento cone do arquivo descritor do aplicativo:
<icon> <image36x36>assets/icon36.png</image36x36> <image48x48>assets/icon48.png</image48x48> <image72x72>assets/icon72.png</image72x72> </icon>

Se voc no fornecer um cone de determinado tamanho, o maior tamanho seguinte utilizado e adaptado para se ajustar. cones no Android No Android, os cones especificados no descritor do aplicativo so usados como o cone Launcher do aplicativo. O cone Launcher do aplicativo deve ser fornecido como um conjunto de imagens PNG de 36x36, 48x48 e 72x72 pixels. Estes tamanhos de cones so utilizados para telas de baixa, mdia e alta densidade, respectivamente. cones do iOS Os cones definidos no descritor do aplicativo so usados nos seguintes locais para um aplicativo iOS:

Um cone de 29 por 29 pixels os resultados de pesquisa Spotlight no iPhone e no iPod touch utilizam esse cone. Um cone de 48 por 48 pixels os resultados da pesquisa Spotlight no iPad utilizam esse cone. Um cone de 57 por 57 pixels as telas iniciais do iPhone e do iPod touch exibem esse cone. Um cone de 72 por 72 pixels (opcional) A tela inicial do iPad exibe esse cone. Um cone de 114 por 114 pixels o cone das telas iniciais do iPhone e do iPod para exibio 960x640 pixels. cone 512 x 512 pixelso iTunes exibe este cone. O arquivo de 512 pixels PNG utilizado somente para testar
verses de desenvolvimento do aplicativo. Ao enviar o aplicativo final para a Apple App Store, envie a imagem de 512 pixels separadamente, como arquivo JPG. Isso no est includo no IPA.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

85

O iOS adiciona o efeito de brilho ao cone. No necessrio aplicar efeito sua imagem original. Para remover o efeito de brilho padro, adicione o seguinte ao elemento InfoAdditions no arquivo do descritor do aplicativo:
<InfoAdditions> <![CDATA[ <key>UIPrerenderedIcon</key> <true/> ]]> </InfoAdditions>

Nota: A frase Adobe AIR para iOS acrescida aos cones do aplicativo como metadado no iOS para que o Adobe possa rastrear o nmero de aplicativos AIR disponveis no armazenamento de aplicativos do iOS da Apple. Se voc no quiser que o aplicativo seja identificado como AIR devido a esses metadados de cone, dever descompactar o arquivo IPA, remover o metadado do cone e reempacot-lo conforme descrito emEmissor de anlise do aplicativo do AIR para iOS.

Mais tpicos da Ajuda


cone na pgina 202 imageNxN na pgina 203 Desenvolvedores para Android: Orientaes de design de cone Diretrizes para a Interface Humana do iOS: Diretrizes para a Criao de Imagens e cones Customizados

Imagens de ativao do iOS


Alm dos cones de aplicativos, voc tambm dever fornecer pelo menos uma imagem de lanamento chamada Default.png. Opcionalmente, voc pode incluir imagens de ativao separadas para diferentes orientaes iniciais, diferentes resolues e diferentes dispositivos. Voc tambm pode incluir diferentes imagens de ativao a serem usadax quando seu aplicativo for invocado por um URL. Os arquivos de imagem de ativao no so referidos na descrio do aplicativo e, portanto, devem ser colocados no diretrio raiz do aplicativo. (No coloque os arquivos em um subdiretrio.) Esquema de definio do nome de arquivo Nome da imagem de acordo com o seguinte esquema:
basename + urischeme + orientation + scale + device + .png

A parte basename do nome do arquivo Default (Padro) (com D maisculo) ou o nome que voc especificar usando a chave UILaunchImageFile no elemento InfoAdditions no descritor do aplicativo. A parte urischeme a sequncia de caracteres usada para identificar o esquema URI. Por exemplo, se o seu aplicativo puder ser invocado por um link tal como example://foo, ento use example como a parte do esquema do nome do arquivo de imagem de ativao. A parte orientation pode ser um dos seguintes valores, indicando a orientao que o dispositivo usa quando o aplicativo inicializado:

-Retrato -PortraitUpsideDown (retrato, de cima para baixo) -Paisagem -LandscapeLeft (paisagem, esquerda) -LandscapeRight (paisagem, direita)

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

86

A parte escala @2x para imagens de ativao usadas em exibies de alta resoluo. (Omita a parte escala completamente para as imagens usadas em exibies com resoluo padro.) A parte dispositivo ~ipad ou ~iphone (que abrange iPhone e iPod Touch). Para o iPhone, s possvel incluir imagens na proporo de retrato. Use imagens de 320x480 pixels para dispositivos com resoluo padro, e imagens em 640x960 pixels para dispositivos de alta resoluo. Para o iPad, possvel incluir tanto imagens em proporo de paisagem (1024x748) quanto de retrato (768x1004). (Atualmente, nenhum iPad vem com tela de alta resoluo.) Exemplos A tabela a seguir mostra um conjunto de exemplos de imagens que voc poderia incluir num aplicativo hipottico que suportasse a mais ampla gama de dispositivos e orientaes e pudesse ser ativado com URLs que utilizasse o esquema example://:
Nome do arquivo Tamanho da imagem 320 x 480 640x 960 768 x 1004 768 x 1004 1024 x 748 1024 x 748 320 x 480 640x 960 768 x 1004 1024 x 748 Uso

Default.png Default@2x.png Default-Portrait.png Default-PortraitUpsideDown.png Default-Landscape.png Default-LandscapeRight.png Default-example.png Default-example@2x.png Default-example~ipad.png Default-example-Landscape.png

iPhone, resoluo padro iPhone, alta resoluo iPad, orientao de retrato iPad, orientao de retrato de cima para baixo iPad, orientao de paisagem esquerda iPad, orientao de paisagem direita exemplo:// URL no iPhone padro exemplo:// URL no iPhone de alta resoluo exemplo:// URL no iPad em orientaes de retrato exemplo:// URL no iPad em orientaes de paisagem

Esse exemplo ilustra somente uma abordagem. Voc poder, por exemplo, usar a imagem Default.png para o iPad e especificar imagens de lanamento especficas para iPhone e iPod com Default~iphone.png e Default@2x~iphone.png. Consulte tambm Guia de Programao de Aplicativos em iOS: Imagens de Lanamento de Aplicativo Recomendaes de arte possvel criar qualquer arte desejada para um arquivo de imagem, desde que ela tenha as dimenses corretas. No entanto, frequentemente melhor que a imagem do arquivo coincida com o estado inicial do aplicativo. Voc pode criar essa imagem de ativao obtendo uma captura de tela da imagem de inicializao do seu aplicativo:
1

Abra o seu aplicativo no dispositivo iOS. Quando a primeira tela da interface do usurio aparecer, pressione e mantenha pressionado o boto Incio (abaixo da tela). Mantendo pressionado o boto Incio, pressione o boto Despertar/Repousar (na parte superior do dispositivo). Isso executa uma captura de tela e envia-a para o rolo da cmera. aplicativo de transferncia de fotos.

2 Transfira a imagem para seu computador de desenvolvimento, transferindo as fotos do iPhoto ou de outro

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

87

No inclua texto na imagem de ativao se o aplicativo estiver localizado em vrios idiomas. A imagem de ativao esttica, e o texto no coincidiria com outros idiomas. Consulte tambm Diretrizes de Interface do iOS: Imagens de lanamento

Configuraes ignoradas
Aplicativos em dispositivos mveis ignoram as configuraes de aplicativo que se aplicam s janelas nativas, ou aos recursos do sistema operacional de rea de trabalho. As configuraes ignoradas so:

allowBrowserInvocation customUpdateUI fileTypes height installFolder maximizable maxSize minimizable minSize programMenuFolder resizable systemChrome title transparent visible width x y

Compactao de um aplicativo do AIR mvel


Use o comando ADT -package para criar o pacote de aplicativo para um aplicativo do AIR destinado a um dispositivo mvel. O parmetro -target especifica a plataforma mvel para A qual o pacote criado. Pacotes do Android Os aplicativos AIR no Android usam o formato do pacote de aplicativos deste (APK), ao invs do formato do pacote AIR. Os pacotes produzidos pela ADT usando o tipo de destino APK esto em um formato que pode ser enviado para o Android Market. O Android Market tem exigncias que os aplicativos apresentados devem satisfazer para serem aceitos. Voc deve rever as mais recentes exigncias antes de criar o pacote final. Consulte Desenvolvedores para Android: Publicao no Market.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

88

Voc pode usar um certificado de assinatura de cdigo AIR normal para assinar seu aplicativo; contudo, para apresentar um aplicativo para o Android Market, o certificado deve obedecer s regras do Market, que exigem que o certificado seja vlido pelo menos at 2033. Voc pode criar um certificado usando o comando -certificate ADT. O desenvolvedor Serge Jespers criou o Package Assistant Pro, um aplicativo do AIR que ajuda a compactar aplicativos AIR para Android assim como para o desktop. Voc pode baixar o aplicativo em http://www.webkitchen.be/packageassistant-pro/. Para enviar um aplicativo para um mercado alternativo que no permite que o seu aplicativo solicite um download do AIR proveniente de um mercado do Google, voc pode especificar um URL de download alternativo usando o parmetro de ADT -airDownloadURL. Quando um usurio que no tenha solicitado uma verso do tempo de execuo do AIR iniciar o seu aplicativo, ele ser direcionado para um URL especificado. Consulte Comando package do ADT na pgina 150 para obter mais informaes. No AIR 3 e em verses posteriores, voc pode agrupar uma cpia cativa do tempo de execuo do AIR com o aplicativo do Android. Seu aplicativo usa essa verso cativa do AIR de maneira exclusiva. O usurio no precisa instalar um tempo de execuo do AIR separado. Pacotes iOS Os aplicativos AIR no iOS usam o formado de pacote do iOS (IPA), em vez do formato nativo do AIR. Pacotes produzidos pelo ADT que usam o tipo de destino ipa-app-store e o certificado de assinatura com cdigo correto e perfil de aprovisionamento esto no formato que pode ser enviado para a App Store da Apple. Use o tipo de destino ipa-ad-hoc para compactar um aplicativo para distribuio ad hoc. Voc deve usar o certificado de desenvolvedor emitido pela Apple para assinar seu aplicativo. Certificados diferentes so usados para a criao de verses de teste que so utilizadas para a compactao final antes do envio do aplicativo. Para obter um exemplo de como empacotar um aplicativo iOS usando Ant, consulte Piotr Walczyszyn: Como empacotar um aplicativo do AIR para dispositivos iOS com o comando ADT e o script ANT

Compactao com ADT


As verses 2.6 e posteriores do AIR SDK suportam o empacotamento para iOS e Android. Antes de compactar todo o cdigo MXML, ActionScript e qualquer outra extenso devem ser compilados. Voc deve tambm ter um certificado de assinatura de cdigo. Para uma referncia pormenorizada sobre as opes e os comandos ADT, consulte AIR Developer Tool (ADT) na pgina 149.

Pacotes APK do Android


Criao de um pacote APK Para criar um pacote APK, use o comando package do ADT, definindo o tipo de destino para apk para compilaes de verso, apk-debug para compilaes de depurao, ou apk-emulator para compilaes em modo de verso para executar em um emulador.
adt -package -target apk -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp-app.xml myApp.swf icons

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

89

Digite o comando inteiro em uma nica linha; quebras de linha no exemplo acima esto presentes apenas para tornlo mais fcil de ler. Alm disso, o exemplo pressupe que o caminho para a ferramenta ADT est na definio do caminho do shell de linha de comando. (Consulte Variveis de ambiente do caminho na pgina 281 para obter ajuda.) Voc deve executar o comando do diretrio que contm os arquivos do aplicativo. Os arquivos do aplicativo no exemplo so myApp-app.xml (o arquivo descritor do aplicativo), myApp.swf, e um diretrio de cones. Quando voc executa o comando, como demonstrado, a ADT solicitar a senha do armazenamento de chaves. (Os caracteres da senha digitada no so exibidos; basta pressionar Enter quando terminar de digitar.) Criao de um pacote APK para um aplicativo que utilize extenses nativas. Para criar um pacote APK para um aplicativo que use extenses nativas, use a opo -extdir alm das opes normais de empacotamento. Esse opo especifica o diretrio que contm os arquivos ANE que o aplicativo utiliza. Por exemplo:
adt -package -target apk -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp-app.xml -extdir extensionsDir myApp.swf icons

Criao de um pacote APK que inclua sua prpria verso do tempo de execuo do AIR Para criar um pacote APK que contenha tanto o aplicativo quanto a verso cativa do tempo de execuo do AIR, use o destino apk-captive-runtime. Esse opo especifica o diretrio que contm os arquivos ANE que o aplicativo utiliza. Por exemplo:
adt -package -target apk-captive-runtime -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp-app.xml myApp.swf icons

Ao agrupar o tempo de execuo com o aplicativo, esse tempo de execuo cativo usado exclusivamente com seu aplicativo. Os benefcios do empacotamento com um tempo de execuo cativo incluem:

Gera um aplicativo independente O aplicativo isolado das atualizaes de tempo de execuo As empresas podem certificar a combinao do aplicativo e do tempo de execuo especficos. No necessrio download e instalao separados do tempo de execuo
Por outro lado, algumas das desvantagens incluem:

Reparos importantes de segurana no esto automaticamente disponveis para os usurios quando a Adobe
publica um patch de segurana

Tamanho de memria RAM muito maior para os aplicativos


Nota: Ao agrupar o tempo de execuo, o ADT adiciona as permisses INTERNET e BROADCAST_STICKY ao seu aplicativo. Essas permisses so requeridas pelo tempo de execuo do AIR.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

90

Criao de um pacote de depurao APK Para criar uma verso do aplicativo que voc pode usar com um depurador, use apk-debug como o destino e especifique opes de conexo:
adt -package -target apk-debug -connect 192.168.43.45 -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp-app.xml myApp.swf icons

O sinalizador -connect diz ao tempo de execuo do AIR no dispositivo onde se conectar a um depurador remoto atravs da rede. Para depurar atravs de USB, voc deve especificar o sinalizador -listen, especificando a porta TCP para ser usada para a conexo de depurao:
adt -package -target apk-debug -listen 7936 -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp-app.xml myApp.swf icons

Para a maioria dos recursos de depurao funcionar, voc tambm deve compilar os SWFs e SWCs do aplicativo com a depurao ativada. Consulte Opes de conexo do depurador na pgina 165 para descrio total dos sinalizadores -connect e -listen. No Android, o aplicativo tambm deve ter permisso para acessar a Internet para que ele se conecte ao computador que est executando o depurador na rede. Consulte Permisses do Android na pgina 76. Criao de um pacote APK para uso em um emulador do Android Voc pode usar um pacote de depurao APK em um emulador do Android, mas no um pacote de modo de verso. Para criar um pacote de modo de verso APK para uso em um emulador, use o comando package do ADT definindo o tipo de destino para apk-emulator :
adt -package -target apk-emulator -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myAppapp.xml myApp.swf icons

O exemplo pressupe que o caminho para a ferramenta ADT est na definio do caminho do shell de linha de comando. (Consulte Variveis de ambiente do caminho na pgina 281 para obter ajuda.) Criao de um pacote APK a partir de um arquivo AIR ou AIRI Voc pode criar um pacote APK diretamente de um arquivo AIR ou AIRI existente:
adt -target apk -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp.air

O arquivo do AIR deve usar o namespace AIR 2.5 (ou superior) no arquivo descritor do aplicativo.

Pacotes iOS
No iOS, o ADT converte o cdigo de bites do arquivo SWF e outros arquivos de origem em um aplicativo iOS nativo.
1 Abra o comando shell ou um terminal e navegue para a pasta de projetos do aplicativo para iPhone. 2 Em seguida, utilize a ferramenta ADT para criar um arquivo IPA utilizando a sintaxe a seguir:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

91

adt -package -target [ipa-test | ipa-debug | ipa-app-store | ipa-ad-hoc] -provisioning-profile PROFILE_PATH SIGNING_OPTIONS TARGET_IPA_FILE APP_DESCRIPTOR SOURCE_FILES -extdir extension-directory

Altere a referncia adt para incluir o caminho completo para o aplicativo adt. O aplicativo adt est instalado no subdiretrio bin do AIR SDK. Selecione a opo -target correspondente ao tipo de aplicativo para iPhone que deseja criar:

-target ipa-test: Escolha essa opo para compilar rapidamente a verso do aplicativo para testar em seu

iPhone do desenvolvedor.
-target ipa-debugt: Escolha essa opo para compilar a verso de depurao para testar em seu iPhone de

desenvolvimento. Com essa opo, voc pode utilizar uma sesso de depurao para receber a sada de trace() do aplicativo iPhone. possvel incluir uma das seguintes opes -connect (CONNECT_OPTIONS) para especificar o endereo IP do computador de desenvolvimento que est executando o depurador:

-connect o aplicativo tentar se conectar a uma sesso de depurao no computador de desenvolvimento

utilizado para compilar o aplicativo.


-connect IP_ADDRESS o aplicativo tentar se conectar a uma sesso de depurao no computador com o

endereo IP especificado. Por exemplo:


-target ipa-debug -connect 192.0.32.10

-connect HOST_NAME o aplicativo tentar se conectar a uma sesso de depurao no computador com o

nome de host especificado. Por exemplo:


-target ipa-debug -connect bobroberts-mac.example.com

A opo -connect facultativa. Caso no especificado, o aplicativo de depurao resultante no tentar se conectar a um depurador hospedado. Se houver falha de uma tentativa de conexo de depurao, o aplicativo apresentar uma caixa de dilogo que solicitar que o usurio insira o endereo IP da mquina de host da depurao. Uma tentativa de conexo pode falhar se o dispositivo no estiver conectado ao wifi. Isto tambm pode ocorrer se o dispositivo estiver conectado mas no estiver protegido por um firewall da mquina de host de depurao. Para obter mais informaes, consulte Depurao de um aplicativo do AIR mvel na pgina 94.

-target ipa-ad-hoc: Escolha essa opo para criar um aplicativo para implantao ad hoc. Consulte o centro

de desenvolvedores da Apple iPhone


-target ipa-app-store: Escolha essa opo para criar a verso final do arquivo IPA para implantao na

Apple App Store. Substitua PROFILE_PATH pelo caminho para o arquivo de perfil de aprovisionamento de seu aplicativo. Para obter mais informaes sobre perfis de aprovisionamento, consulte Configurao do iOS na pgina 66. Substitua SIGNING_OPTIONS para fazer referncia ao certificado e senha de desenvolvedor de iPhone. Use a seguinte sintaxe:
-storetype pkcs12 -keystore P12_FILE_PATH -storepass PASSWORD

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

92

Substitua P12_FILE_PATH pelo caminho para o arquivo de certificado P12. Substitua PASSWORD pela senha do certificado. (Veja o exemplo abaixo). Para obter mais informaes sobre o arquivo de certificado P12, consulte Converter um certificado de desenvolvedor em um arquivo de armazenamento de chave P12 na pgina 180. Substitua o APP_DESCRIPTOR para fazer referncia ao arquivo do descritor do aplicativo. Substitua SOURCE_FILES para fazer referncia ao arquivo principal SWF de seu projeto seguido de outros ativos para incluso. Certifique-se de incluir os caminhos para todos os arquivos de cones definidos na caixa de dilogo de configuraes do aplicativo no Flash CS5 ou em um arquivo personalizado do descritor do aplicativo. Alm disso, inclua o arquivo Default.png da arte de tela inicial. Use a opo -extdir extension-directory para especificar o diretrio que contm os arquivos ANE (extenses nativas) que o aplicativo utiliza. Caso o aplicativo no utilizar extenses nativas, no inclua essa opo. Importante: No crie um subdiretrio chamado Recursosno diretrio do seu aplicativo . O tempo de execuo cria automaticamente uma pasta com esse nome para se adequar estrutura do pacote de IPA. A criao de uma pasta Recursos resulta em um conflito fatal. Criao de um pacote do iOS para depurao Para criar um pacote do iOS para instalar em dispositivos de teste, use o comando package do ADT, definindo o tipo de origem para ios-debug. Antes de executar este comando, voc j deve ter obtido um certificado de assinatura de cdigo de desenvolvimento e perfil de aprovisionamento da Apple.
adt -package -target ipa-debug -storetype pkcs12 -keystore ../AppleDevelopment.p12 -provisioning-profile AppleDevelopment.mobileprofile -connect 192.168.0.12 myApp.ipa myApp-app.xml myApp.swf icons Default.png

Digite o comando inteiro em uma nica linha; quebras de linha no exemplo acima esto presentes apenas para tornlo mais fcil de ler. Alm disso, o exemplo pressupe que o caminho para a ferramenta ADT est na definio do caminho do shell de linha de comando. (Consulte Variveis de ambiente do caminho na pgina 281 para obter ajuda.) Voc deve executar o comando do diretrio que contm os arquivos do aplicativo. Os arquivos do aplicativo no exemplo so myApp-app.xml (o arquivo descritor do aplicativo), myApp.swf, um diretrio de cones e o arquivo Default.png. Voc deve assinar o aplicativo usando o certificado de distribuio correto to emitido pela Apple; outros certificados de assinatura de cdigo no podem ser usados. Ao especificar a opo -connect, o aplicativo tentar iniciar uma sesso de depurao com o depurador do Flash (FDB) em execuo no IP ou no nome de host especificados. Consulte Conexo ao depurador do Flash na pgina 96 para obter mais informaes Criao de um pacote do iOS para envio App Store da Apple Para criar um pacote do iOS para a envio App Store da Apple, use o comando package do ADT, definindo o tipo de destino para ios-app-store . Antes de executar este comando, voc j deve ter obtido um certificado de assinatura de cdigo de distribuio e perfil de aprovisionamento da Apple.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

93

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

Digite o comando inteiro em uma nica linha; quebras de linha no exemplo acima esto presentes apenas para tornlo mais fcil de ler. Alm disso, o exemplo pressupe que o caminho para a ferramenta ADT est na definio do caminho do shell de linha de comando. (Consulte Variveis de ambiente do caminho na pgina 281 para obter ajuda.) Voc deve executar o comando do diretrio que contm os arquivos do aplicativo. Os arquivos do aplicativo no exemplo so myApp-app.xml (o arquivo descritor do aplicativo), myApp.swf, um diretrio de cones e o arquivo Default.png. Voc deve assinar o aplicativo usando o certificado de distribuio correto to emitido pela Apple; outros certificados de assinatura de cdigo no podem ser usados. Importante: Apple exige que voc use o programa Application Loader para carregar aplicativos para a App Store. A Apple somente publica o Application Loader para Mac OS X. Assim, enquanto voc pode desenvolver um aplicativo do AIR para o iPhone usando um computador com Windows, voc deve ter acesso a um computador com Mac OS X (verso 10.5.3 ou posterior) para enviar o aplicativo para a App Store. Voc pode obter o programa "Application Loader" do Centro do desenvolvedor do iOS da Apple. Criao de um pacote do iOS para distribuio ad hoc Para criar um pacote do iOS para distribuio ad hoc, use o comando package do ADT, definindo o tipo de origem para ios-ad-hoc. Antes de executar este comando, voc j deve ter obtido o certificado de assinatura de cdigo de distribuio ad hoc adequado e perfil de aprovisionamento da 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

Digite o comando inteiro em uma nica linha; quebras de linha no exemplo acima esto presentes apenas para tornlo mais fcil de ler. Alm disso, o exemplo pressupe que o caminho para a ferramenta ADT est na definio do caminho do shell de linha de comando. (Consulte Variveis de ambiente do caminho na pgina 281 para obter ajuda.) Voc deve executar o comando do diretrio que contm os arquivos do aplicativo. Os arquivos do aplicativo no exemplo so myApp-app.xml (o arquivo descritor do aplicativo), myApp.swf, um diretrio de cones e o arquivo Default.png. Voc deve assinar o aplicativo usando o certificado de distribuio correto to emitido pela Apple; outros certificados de assinatura de cdigo no podem ser usados. Criao de um pacote do iOS para um aplicativo que utilize extenses nativas. Para criar um pacote do iOS para um aplicativo que utilize extenses nativas, use o comando do pacote ADT com a opo -extdir . Use o comando ADT como apropriado para o destino (ipa-app-store, ipa-debug, ipa-ad-hoc, ipa-test). Por exemplo:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

94

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

Digite o comando inteiro em uma nica linha; quebras de linha no exemplo acima esto presentes apenas para tornlo mais fcil de ler. Em relao s extenses nativas, o exemplo supe que o diretrio denominado extensionsDir est no diretrio no qual o comando executado. O diretrio extensionsDir contm os arquivos ANE que o aplicativo utiliza.

Depurao de um aplicativo do AIR mvel


Voc pode depurar seu aplicativo do AIR mvel de vrias maneiras. A maneira mais simples de descobrir problemas de lgica de aplicativo a depurao no computador de desenvolvimento utilizando ADL. Voc tambm pode instalar o aplicativo em um dispositivo e depurar remotamente com o depurador do Flash em um computador desktop.

Simulao de dispositivos utilizando ADL


A forma mais rpida e fcil de testar e depurar a maioria dos recursos de aplicativo mvel executar o aplicativo no computador de desenvolvimento usando o utilitrio ADL (Adobe Debug Launcher). A ADL usa o elemento supportedProfiles no descritor do aplicativo para determinar qual perfil ser usado. Se mais de um perfil estiver listado, o ADL usa o primeiro na lista. Voc tambm pode usar o parmetro -profile do ADL para selecionar um dos outros perfis na lista supportedProfiles. (Se voc no incluir um elemento supportedProfiles no descritor do aplicativo, qualquer perfil poder ser especificado para o argumento -profile.) Por exemplo, use o seguinte comando para iniciar um aplicativo para simular o perfil de dispositivo mvel:
adl -profile mobileDevice myApp-app.xml

Ao simular o perfil mvel no desktop desta forma, o aplicativo executado em um ambiente que mais se aproxima de um dispositivo mvel de destino. As APIs do ActionScript que no fazem parte do perfil mvel no esto disponveis. No entanto, o ADL no faz distino entre os recursos de diferentes dispositivos mveis. Por exemplo, voc pode enviar presses simuladas de teclas de funo para seu aplicativo, apesar de seu dispositivo destino na verdade no utilizar teclas de funo. ADL compatvel com simulaes de mudanas de orientao de dispositivo e entrada de teclas de funo atravs de comandos de menu. Ao executar o ADL no perfil de dispositivo mvel, ele exibe um menu (em qualquer janela do aplicativo ou na barra de menu do desktop) que permite que voc insira a rotao do dispositivo ou a entrada da tecla de funo. Entrada de tecla de funo O ADL simula os botes de tecla de funo para botes de Voltar, Menu e Pesquisar em um dispositivo mvel. Voc pode enviar estas teclas para o dispositivo simulado usando o menu exibido quando o ADL ativado atravs do perfil mvel.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

95

Rotao do dispositivo O ADL permite simular a rotao do dispositivo atravs do menu exibido quando o ADL ativado usando o perfil mvel. Voc pode girar o dispositivo simulado para a esquerda ou para a direita. A simulao de rotao afeta apenas um aplicativo que permita a orientao automtica. Voc pode ativar este recurso definindo o elemento autoOrients para true no descritor do aplicativo. Tamanho da tela Voc pode testar seu aplicativo em telas de tamanho diferente, definindo o parmetro -screensize do ADL. Voc pode passar o cdigo para um dos tipos de tela predefinidos ou uma sequncia de caracteres que contenha os quatro valores que representam as dimenses em pixel das telas normal e maximizada. Por exemplo, o comando a seguir abre o ADL para simular a tela usada no Droid da Motorola:
adl -screensize 480x816:480x854 myApp-app.xml

Para uma lista de tipos de tela predefinidos, consulte Uso do ADL na pgina 144. Limitaes Algumas APIs que no so compatveis no perfil desktop no podem ser simuladas pelo ADL. As APIs que no so simuladas incluem:

Acelermetro cacheAsBitmapMatrix CameraRoll CameraUI Geolocalizao Multitoque e gestos em sistemas operacionais de desktop que no so compatveis com estes recursos SystemIdleMode
Se seu aplicativo usa essas classes, voc deve testar os recursos em um dispositivo de verdade ou em um emulador. De forma semelhante, existem APIs que funcionam ao serem executadas sob a ADL no computador pessoal, mas que no funcionam em todos os tipos de dispositivos mveis. Isso inclui:

Codec de udio Speex e AAC Suporte para leitor de tela e acessibilidade RTMPE Carregando arquivos SWF que contm bytecode ActionScript Sombreadores PixelBender
Certifique-se de testar os aplicativos que usam recursos nos dispositivos de destino, uma vez que a ADL no replica completamente o ambiente de execuo.

Instrues de rastreio
Ao executar o aplicativo de mvel no desktop, a sada de rastreio impressa para o depurador ou para a janela de terminal usada para ativar o ADL. Ao executar seu aplicativo em um dispositivo ou emulador, voc pode configurar uma sesso de depurao remota para ver a sada de rastreio. Quando possvel, voc tambm pode ver a sada de rastreio usando as ferramentas de desenvolvimento de software fornecidas pelo fabricante do dispositivo ou do sistema operacional.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

96

Em todos os casos, os arquivos SWF do aplicativo devem ser compilado com a depurao ativada para o tempo de execuo para a sada de todas as instrues de rastreio. Instrues de rastreio remoto no Android Quando executado em um dispositivo ou emulador do Android, possvel exibir a sada de instruo de rastreio no log do sistema do Android usando o utilitrio Android Debug Bridge (ADB) includo no Android SDK. Para visualizar a sada de sua aplicao, execute o seguinte comando a partir de uma janela de terminal ou do prompt de comando no computador de desenvolvimento:
tools/adb logcat air.MyApp:I *:S

onde MyApp o ID do aplicativo do AIR de seu aplicativo. O argumento *:S omite a sada de todos os outros processos. Para exibir informaes do sistema sobre seu aplicativo alm da sada de rastreio, voc pode incluir o ActivityManager na especificao do filtro logcat:
tools/adb logcat air.MyApp:I ActivityManager:I *:S

Estes exemplos de comando presumem que voc est executando o ADB da pasta Android SDK, ou que voc adicionou a pasta SDK varivel do ambiente de caminho. Nota: Do AIR 2.6 em diante, o utilitrio ADB est includo no AIR SDK e pode ser encontrado na pasta lib/android/bin. Instrues de rastreio remoto no iOS Para exibir a sada de instrues de rastreio de um aplicativo em execuo em um dispositivo do iOS, voc deve estabelecer uma sesso de depurao remota usando o depurador do Flash (FDB).

Mais tpicos da Ajuda


Android Debug Bridge: ativar registro de logcat Variveis de ambiente do caminho na pgina 281

Conexo ao depurador do Flash


Para depurar um aplicativo rodando em um dispositivo mvel, voc pode executar o depurador do Flash no seu computador de desenvolvimento e se conectar a ele atravs da rede. Para ativar a depurao remota, voc deve fazer o seguinte:

No Android, especifique a permisso android:permission.INTERNET no descritor do aplicativo. Compile os SWFs do aplicativo com a depurao ativada. Compacte o aplicativo com -target
sinalizador -connect. A depurao remota ocorre atravs de uma conexo de rede (no USB), por isso o dispositivo deve conseguir acessar a porta TCP 7935 do computador que executa o depurador do Flash por endereo IP ou pelo nome de domnio totalmente qualificado.
apk-debug, para Android, ou -target ipa-debug, para iOS, e o

Depurao remota com o Flash Professional


Uma vez que seu aplicativo esteja pronto para depurar e as permisses sejam definidas no descritor do aplicativo, faa o seguinte:
1 Abra a caixa de dilogo Configuraes do AIR para Android.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

97

2 Na aba Implementao:

Selecione Depurao do dispositivo para o tipo de implementao Selecione "Instalar aplicativo no dispositivo Android conectado" para Aps publicao Desmarque a seleo "Ativar aplicativo no dispositivo Android conectado" para Aps publicao Defina o caminho para o Android SDK, se necessrio.
3 Clique em Publicar.

Seu aplicativo instalado e ativado no dispositivo.


4 Feche a caixa de dilogo Configuraes do AIR para Android. 5 Selecione Depurar > Comear sesso de depurao remota > ActionScript 3 do menu do Flash Professional.

O Flash Professional exibe Aguardando conexo do Player no painel de sada.


6 Inicie o aplicativo no dispositivo. 7 Digite o endereo IP ou nome de host do computador que est executando o depurador do Flash na janela de

conexo do Adobe AIR e clique em OK.

Depurao remota com FDB atravs de uma conexo de rede


Para depurar um aplicativo em execuo em um dispositivo com a linha de comando do depurador do Flash (FDB), execute o depurador no computador de desenvolvimento e inicie o aplicativo no dispositivo. O procedimento a seguir usa as ferramentas AMXMLC, FDB e ADT para compilar, compactar e depurar um aplicativo no dispositivo. Os exemplos assumem que voc est usando Flex e AIR SDK combinados e que o diretrio bin est includo na varivel de ambiente do caminho. (Esta suposio feita apenas para simplificar os exemplos de comando.)
1 Abra um terminal ou janela de comando do prompt e v ao diretrio que contm o cdigo-fonte para o aplicativo. 2 Compile o aplicativo com amxmlc, ativando a depurao:
amxmlc -debug DebugExample.as

3 Compacte o aplicativo usando os destinos apk-debug ou ipa-debug:


Android adt -package -target apk-debug -connect -storetype pkcs12 -keystore ../../AndroidCert.p12 DebugExample.apk DebugExample-app.xml DebugExample.swf iOS adt -package -target ipa-debug -connect -storetype pkcs12 -keystore ../../AppleDeveloperCert.p12 -provisioning-profile test.mobileprovision DebugExample.apk DebugExample-app.xml DebugExample.swf

Se voc sempre usa o mesmo nome de host ou endereo IP para a depurao, pode colocar esse valor depois do sinalizador -connect. O aplicativo tentar se conectar com esse endereo IP ou com o nome de host automaticamente. Caso contrrio, voc deve digitar as informaes no dispositivo cada vez que iniciar a depurao.
4 Instalar o aplicativo.

No Android, voc pode usar o comando -installApp do ADT:


adt -installApp -platform android -package DebugExample.apk

No iOS, voc pode instalar o aplicativo usando o iTunes.


5 Abra um segundo terminal ou janela de comandos e execute FDB:
fdb

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

98

6 Na janela FDB, digite o comando 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 Inicie o aplicativo no dispositivo. 8 Assim que o aplicativo for ativado no dispositivo ou no emulador, o Adobe AIR abre a caixa de dilogo de conexo.

(Se voc especificou um nome de host ou endereo IP com a opo -connect ao compactar o aplicativo, ele tentar se conectar automaticamente usando esse endereo.) Digite o endereo correto e toque em OK. Para se conectar com o depurador neste modo, o dispositivo deve ser capaz de resolver o endereo ou nome de host e conectar a porta TCP 7935. necessria uma conexo de rede.
9 Quando o tempo de execuo remota se conecta com o depurador, voc pode definir pontos de interrupo com o

comando break do FDB e iniciar a execuo com o comando 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

Depurao remota com FDB atravs de USB


AIR 2.6, Android somente Para depurar um aplicativo atravs de uma conexo USB, voc pode compactar o aplicativo usando a opo -listen em vez da opo -connect. Ao especificar a opo -listen, o tempo de execuo monitora para uma conexo do depurador do Flash (FDB) na porta TCP 7936 quando voc inicia o aplicativo. Execute o FDB com a opo -p para que o FDB inicie a conexo. Para que o depurador do Flash em execuo no computador desktop se conecte ao tempo de execuo do AIR em execuo no dispositivo ou no emulador, voc deve usar o utilitrio Android Debug Bridge (ADB) do Android SDK para encaminhar a porta do dispositivo porta de desktop.
1 Abra um terminal ou janela de comando do prompt e v ao diretrio que contm o cdigo-fonte para o aplicativo. 2 Compile o aplicativo com amxmlc, ativando a depurao:
amxmlc -debug DebugExample.as

3 Compacte o aplicativo usando o destino apk-debug e especifique a opo -listen:


adt -package -target apk-debug -listen -storetype pkcs12 -keystore ../../AndroidCert.p12 DebugExample.apk DebugExample-app.xml DebugExample.swf

4 Conecte o dispositivo ao computador de depurao com um cabo USB. (Voc tambm pode usar esse

procedimento para depurar um aplicativo em execuo em um emulador; neste caso a conexo USB no necessria - ou possvel.)
5 Instalar o aplicativo.

Voc tambm pode usar o comando ADT -installApp.


adt -installApp -platform android -package DebugExample.apk

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

99

6 Encaminhe a porta TCP 7936 do dispositivo ou do emulador para o computador desktop usando o utilitrio ADB

do Android:
adb forward tcp:7936 tcp:7936

7 Inicie o aplicativo no dispositivo. 8 Em um terminal ou janela de comando execute o FDB usando a opo -p:
fdb -p 7936

9 Na janela FDB, digite o comando run:


Adobe fdb (Flash Player Debugger) [build 14159] Copyright (c) 2004-2007 Adobe, Inc. All rights reserved. (fdb) run

10 O utilitrio FDB tenta se conectar com o aplicativo. 11 Quando a conexo remota estabelecida, voc pode definir pontos de interrupo com o comando break do FDB

e iniciar a execuo com o comando 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

Nota: O nmero de porta 7936 usado como padro para depurao por USB pelo tempo de execuo do AIR e pelo FDB. Voc pode especificar portas diferentes para usar com o parmetro de porta -listen do ADT o -p do FDB. Neste caso, voc deve usar o utilitrio Android Debug Bridge para encaminhar o nmero da porta especificada em ADT para a porta especificada em FDB: adb forward tcp:adt_listen_port#:tcp:fdb_port#

Instalao de aplicativos AIR AIRI nos dispositivos mveis


Os usurios finais do seu aplicativo podem instalar o tempo de execuo do AIR e os aplicativos do AIR usando o aplicativo normal e o mecanismo de distribuio para seus dispositivos. No Android, por exemplo, os usurios podem instalar aplicativos no Android Market. Ou se tiverem permisso para a instalao de aplicativos a partir de fontes desconhecidas, nas configuraes do aplicativo, os usurios podem instalar um aplicativo clicando em um link em uma pgina da web, ou copiando o pacote de aplicativos para seu dispositivo e abrindo-o. Se um usurio tenta instalar um aplicativo do Android, mas no tem o AIR instalado ainda, ser automaticamente direcionado para o Market, onde possvel instalar o tempo de execuo. No iOS, h duas maneiras de distribuir aplicativos para usurios finais. O principal canal de distribuio a App Store da Apple. Voc tambm pode usar a distribuio ad hoc para permitir que um nmero limitado de usurios instalem o aplicativo sem ir at a App Store.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

100

Instale o tempo de execuo do AIR e os aplicativos para desenvolvimento


Como os aplicativos do AIR em dispositivos mveis so instalados como pacotes nativo, voc pode utilizar os recursos da plataforma normal de instalao de aplicativos para testes. Quando disponvel, voc pode usar comandos do ADT para instalar o tempo de execuo e os aplicativos do AIR. No momento esta abordagem compatvel com o Android. No iOS, voc pode instalar aplicativos para testes usando o iTunes. Os aplicativos de testes devem ser assinados com um certificado de assinatura por cdigo da Apple, emitido especificamente para o desenvolvimento de aplicativos e compactados com um perfil de desenvolvimento de aprovisionamento. Um aplicativo do AIR um pacote independente no iOS. Um tempo de execuo separado no usado. Instalao de aplicativos do AIR usando o ADT Durante o desenvolvimento de aplicativos do AIR voc pode usar o ADT para instalar e desinstalar o tempo de execuo e seus aplicativos. (O IDE tambm pode integrar estes comandos para que voc no tenha que executar o ADT por si prprio). Voc pode instalar o tempo de execuo do AIR em um dispositivo ou emulador usando o utilitrio AIR ADT. O SDK fornecido para o dispositivo deve ser instalado. Use o comando -installRuntime:
adt -installRuntime -platform android -device deviceID -package path-to-runtime

Se o parmetro -package no for especificado, o pacote do tempo de execuo adequado para o dispositivo ou emulador escolhido entre os disponveis no seu AIR SDK instalado. Para instalar um aplicativo do AIR, use o comando -installApp:
adt -installApp -platform android -device deviceID -package path-to-app

Se apenas um nico dispositivo ou emulador estiver anexado e em execuo, voc pode omitir o sinalizador -device. O valor definido para o argumento -platform deve corresponder ao dispositivo no qual voc est instalando. No momento apenas o valor android est disponvel. Nota: Verses existentes do tempo de execuo ou do aplicativo do AIR devem ser removidas antes de serem reinstaladas. Instalando aplicativos AIR em dispositivos iOS Para instalar um aplicativo do AIR num dispositivo iOS para fim de teste:
1 Abra o aplicativo iTunes. 2 Se voc ainda no fez isso, adicione o perfil de aprovisionamento desse aplicativo ao iTunes. No iTunes, selecione

Arquivo > Adicionar Biblioteca. Selecione o arquivo de perfil de aprovisionamento (que tem mobileprovision como tipo de arquivo).
3 Algumas verses do iTunes no substituem o aplicativo, se a mesma verso do aplicativo estiver instalada. Nesse

caso, exclua o aplicativo do seu dispositivo e da lista de aplicativos no iTunes.


4 Clique duas vezes no arquivo IPA do aplicativo. O arquivo deve aparecer na lista de aplicativos no iTunes. 5 Conecte seu dispositivo porta USB em seu computador. 6 No iTunes, selecione a guia Aplicativos do dispositivo e certifique-se de que o aplicativo est selecionado na lista de

aplicativos para instalao.


7 Selecione o dispositivo na lista esquerda do aplicativo iTunes. Em seguida, clique no boto Sync. Quando a

sincronizao terminar, o aplicativo Hello World aparecer em seu iPhone. Se a nova verso no estiver instalada, exclua-a do dispositivo e da lista de aplicativos no iTunes e, em seguida, execute novamente esse procedimento. Talvez esse seja o caso, se a verso instalada atualmente usa o mesmo ID do aplicativo e verso.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

101

Mais tpicos da Ajuda


Comando installRuntime do ADT na pgina 159 Comando installApp do ADT na pgina 157

Execuo de aplicativos do AIR em um dispositivo


Voc pode iniciar aplicativos do AIR instalados usando a interface de usurio do dispositivo. Quando disponvel, voc tambm pode iniciar aplicativos remotamente usando o utilitrio AIR ADT:
adt -launchApp -platform android -device deviceID -appid applicationID

O valor do argumento -appid deve ser o ID do aplicativo do AIR para ativao. Use o valor especificado no descritor do aplicativo do AIR (sem o prefixo air.includo durante a compactao). Se apenas um nico dispositivo ou emulador estiver anexado e em execuo, voc pode omitir o sinalizador -device. O valor definido para o argumento -platform deve corresponder ao dispositivo no qual voc est instalando. No momento apenas o valor android est disponvel.

Remoo do tempo de execuo e aplicativos do AIR


Voc pode usar os meios normais de remoo de aplicativos fornecidos pelo sistema operacional do dispositivo. Quando disponvel, voc tambm pode usar o utilitrio AIR ADT para remover os aplicativos e o tempo de execuo do AIR. Para remover o tempo de execuo use o comando -uninstallRuntime:
adt -uninstallRuntime -platform android -device deviceID

Para desinstalar um aplicativo use o comando -uninstallApp:


adt -uninstallApp -platform android -device deviceID -appid applicationID

Se apenas um nico dispositivo ou emulador estiver anexado e em execuo, voc pode omitir o sinalizador -device. O valor definido para o argumento -platform deve corresponder ao dispositivo no qual voc est instalando. No momento apenas o valor android est disponvel.

Configurao de um emulador
Para executar o aplicativo do AIR em um emulador de dispositivo, voc deve geralmente usar o SDK para o dispositivo, para criar e executar uma ocorrncia do emulador em seu computador de desenvolvimento. Voc pode instalar a verso do emulador do aplicativo e do tempo de execuo do AIR no emulador. Observe que os aplicativos em um emulador funcionam geralmente muito mais lentos do que em um dispositivo real.

Crie um emulador do Android


1 Ative o Android SDK e o aplicativo AVD Manager:

No Windows, execute o arquivo Setup.exe no SDK, na raiz do diretrio do Android SDK. No Mac OS, execute o aplicativo android, no subdiretrio de ferramenta do diretrio Android SDK
2 Selecione a opo Configuraes e depois "Forar https://". 3 Selecione a opo Pacotes disponveis. Voc ver uma lista de Android SDKs disponveis. 4 Selecione um Android SDK compatvel (Android 2.2 ou posterior) e clique no boto Instalar selecionado. 5 Selecione a opo Dispositivos virtuais e clique no boto Novo.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

102

6 Faa as seguintes configuraes:

Um nome para seu dispositivo virtual A API de destino, como Android 2.2, nvel 8 de API Um tamanho para o carto SD (como 1024) Uma capa (como HVGA Padro)
7 Clique no boto Criar AVD.

Observe que a criao de dispositivo virtual pode levar algum tempo dependendo da configurao do sistema. Agora voc pode iniciar o novo dispositivo virtual.
1 Selecione o dispositivo virtual no aplicativo AVD Manager. O dispositivo virtual criado acima deve ser listado. 2 Selecione o dispositivo virtual e clique no boto Iniciar. 3 Clique no boto Iniciar na prxima tela.

Voc dever ver a janela de um emulador aberta em seu desktop. Isto pode demorar alguns segundos. Tambm pode levar algum tempo para o sistema operacional Android inicializar. Voc pode instalar aplicativos compactados com apk-debug e apk-emulator em um emulador. Aplicativos compactados com o destino apk no funcionam em um emulador.

Mais tpicos da Ajuda


http://developer.android.com/guide/developing/tools/othertools.html#android http://developer.android.com/guide/developing/tools/emulator.html

Atualizando aplicativos AIR mveis


Os aplicativos AIR mveis so distribudos como pacotes nativos e, portanto, usam os mecanismos padro de outros aplicativos na plataforma. Geralmente, isso envolve o envio ao mesmo marketplace ou armazenamento de aplicativo usado para distribuir o aplicativo original. Os aplicativos AIR mveis no podem usar a classe ou estrutura AIR Updater.

Atualizao de aplicativos do AIR no Android


Para aplicativos distribudos no Android Market, voc pode atualizar um aplicativo colocando uma nova verso no mercado, desde que os seguintes itens sejam verdadeiros (essas polticas so impostas pelo Market, no pelo AIR):

O pacote APK assinado pelo mesmo certificado. O ID do AIR igual. O valor versionNumber no descritor do aplicativo maior. (Voc tambm deve incrementar o valor
versionLabel, se usado.)

Os usurios que baixaram o aplicativo do Android Market so notificados pelo seu software de dispositivo de que uma atualizao est disponvel.

Mais tpicos da Ajuda


Desenvolvedores para Android: Publicao de atualizaes no Android Market

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

103

Atualizando aplicativos AIR no iOS


Nos aplicativos AIR distribudos por meio do armazenamento de aplicativo iTunes, voc pode atualizar um aplicativo enviando a atualizao para o armazenamento quando todas as condies seguintes forem verdadeiras (essas polticas so impostas pelo armazenamento de aplicativos da Apple, no pelo AIR):

O certificado de assinatura do cdigo e os perfis de aprovisionamento so emitidos para o mesmo ID da Apple ID O pacote IPA usa o mesmo ID de Bundle da Apple A atualizao no diminui a rede de dispositivos suportados (em outras palavras, se o seu aplicativo original
suportar dispositivos que executem o iOS 3, ento voc no poder criar uma atualizao que descarte o suporte ao iOS 3). Importante: Uma vez que as verses 2.6 e posteriores do AIR SDK no suportam iOS 3 e o que o AIR 2 suporta, voc no pode atualizar aplicativos iOS publicados que foram desenvolvidos usando o AIR 2 com uma atualizao desenvolvida com o uso do AIR 2.6+.

ltima atualizao em 13/10/2011

104

Captulo 8: Desenvolvendo aplicativos AIR para aparelhos de televiso


Voc poder criar aplicativos Adobe AIR para aparelhos de TV tais como televisores, gravadores de vdeo digital e reprodutores Blu-ray, se o dispositivo tiver o Adobe AIR para TV. Aplicativos AIR para aparelhos de TV tm por base SWF, no HTML. O AIR para a TV otimizado para aparelhos de TV, aproveitando, por exemplo, os aceleradores de hardware de um dispositivo para grficos e vdeo de alto desempenho. O processo de desenvolvimento de aplicativos AIR praticamente igual ao de aplicativo do AIR para qualquer outro dispositivo. As diferenas mais importantes decorrem:

Das diferentes capacidades do seu conjunto de dispositivos de destino. De consideraes de projeto especficas ao aplicativos AIR para TV. Como realizar testes nos dispositivos de destino.

Capacidades do dispositivo
Perfis de dispositivo
O AIR usa perfis para definir um conjunto de destino de dispositivos com capacidades semelhantes. Use os seguintes perfis para os aplicativos AIR para TV:

O perfil tv. Use esse perfil nos aplicativos AIR que tm o dispositivo AIR para TV como destino. O perfil extendedTV. Use esse perfil se o aplicativo do AIR para TV usar extenses nativas.
Os recursos do ActionScript definidos para estes perfis so abordados em Perfis de dispositivo na pgina 221. Diferenas especficas do ActionScript para aplicativos AIR para TV so observados na Referncia do ActionScript 3.0 para Adobe Flash Platform. Para obter detalhes sobre os perfis do AIR para TV, consulte Perfis disponveis na pgina 125.

Acelerao por hardware


Os aparelhos de televiso fornecem aceleradores de hardware que melhoram substancialmente o desempenho grfico e de vdeo no aplicativo do AIR. Para tirar proveito desses aceleradores de hardware, consulte Consideraes a respeito do design do aplicativo para AIR para TV na pgina 106.

Proteo de contedo
O AIR para TV permite a criao de experincias enriquecedoras para o consumidor em torno de um contedo de vdeo de alta qualidade, de superprodues de Hollywood a filmes independentes e episdios de TV. Os provedores de contedo podem criar aplicativos interativos usando ferramentas do Adobe. Eles podem integrar os produtos de servidor Adobe em sua infraestrutura de distribuio de contedo ou trabalhar com um dos parceiros em ecossistemas da Adobe.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

105

A proteo de contedo um requisito essencial para a distribuio de vdeo de alta qualidade. O AIR para TV suporta Adobe Flash Access, uma soluo de monetizao e proteo de contedo que atende aos mais rgidos requisitos de segurana dos proprietrios de contedo, incluindo os maiores estdios cinematogrficos. O Flash Access suporta o seguinte:

Transmisso e download de vdeo Vrios modelos de negcio, incluindo suporte a anncios, assinatura, locao e venda por meio eletrnico. Diferentes tecnologias de fornecimento de contedo, incluindo HTTP Dynamic Streaming, transmisso sobre
RTMP (Real Time Media Protocol) usando Flash Media Server, e download progressivo com HTTP. O AIR para TV tambm possui suporte integrado para RTMPE, a verso criptografada do RTMP, para solues de transmisso com baixos requisitos de segurana. RTMPE e as respectivas tecnologias de verificao SWF so suportadas no Flash Media Server.

Mais tpicos da Ajuda


Adobe Flash Access Recursos do Flash Access 2.0 Viso Geral do Adobe Flash Access em Transmisso Protegida (PDF) Protegendo a distribuio de vdeo online com a tecnologia de mdia Adobe Flash

udio multicanal
A partir do AIR 3, o AIR para TV suporta udio multicanal para vdeos que so continuamente baixados de um servidor HTTP. O suporte inclui estes codecs:

AC-3 (Dolby Digital) E-AC-3 (Dolby Digital Avanado) DTS Digital Surround DTS Express DTS-HD High Resolution Audio DTS-HD Master Audio
Nota: O suporte para udio multicanal em vdeos transmitidos pelo Adobe Flash Media Server ainda no est disponvel.

Entrada para jogos


A partir do AIR 3, o AIR para TV suporta APIs do ActionScript que permitem que os aplicativos se comuniquem com dispositivos de entrada para jogos conectados como controles, gamepads e bastes. Embora esses dispositivos sejam chamados de dispositivos de entrada para jogos, qualquer aplicativo do AIR para TV, no s para jogos, poder usar os dispositivos. Uma ampla gama de dispositivos de entrada para jogos com diferentes capacidades est disponvel. Portanto, os dispositivos so generalizados na API para que um aplicativo possa funcionar corretamente com diferentes (e provavelmente desconhecidos) tipos de dispositivos de entrada para jogos. A classe GameInput o ponto de entrada da entrada para jogos das APIs do ActionScript. Para obter mais informaes, consulte GameInput.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

106

Renderizao acelerada de grficos Stage 3D


A partir do AIR 3, o AIR para TV suporta a renderizao de grficos Stage 3D acelerada. As APIs Stage3D do ActionScript so um conjunto de APIs aceleradas por GPU de baixo nvel que ativam as capacidades de 2D e 3D avanadas. Essas APIs de baixo nvel fornecem aos desenvolvedores a flexibilidade para aproveitar os significativos ganhos de desempenho. Voc tambm pode usar os mecanismos para jogos que suportem as APIs Stage3D do ActionScript. Para obter mais informaes, consulte Mecanismos para jogos, 3D e Stage 3D.

Extenses nativas
Quando o aplicativo tem como destino o perfil extendedTV ele pode usar pacotes ANE (extenso nativa do AIR). Geralmente, um fabricante do dispositivo fornece pacotes ANE para fornecer acesso aos recursos do dispositivo no compatveis com o AIR. Por exemplo, uma extenso nativa poderia permitir que voc altere os canais em uma televiso ou pause a reproduo em um player de vdeo. AO empacotar um aplicativo do AIR para TV que usa pacotes ANE, voc empacota o aplicativo em um arquivo do AIRN, em vez de um arquivo do AIR. As extenses nativas para os dispositivos do AIR para TV so sempre extenses nativas agrupadas no dispositivo. Agrupado por dispositivo significa que as bibliotecas de extenso esto instaladas no dispositivo do AIR para TV. O pacote ANE que voc inclui no pacote de seu aplicativo nunca inclui as bibliotecas nativas da extenso. s vezes ele contm uma verso somente para ActionScript da extenso nativa. Essa verso somente para ActionScript um fragmento ou simulador da extenso. O fabricante do dispositivo instala a extenso verdadeira, incluindo as bibliotecas nativas, no dispositivo. Se voc estiver desenvolvendo extenses nativas, observe o seguinte:

Sempre consulte o fabricante do dispositivo se estiver criando uma extenso nativa do AIR para TV para os
dispositivos deles.

Em alguns dispositivos do AIR para TV, somente o fabricante do dispositivo cria as extenses nativas. Em todos os dispositivos do AIR para TV, o fabricante do dispositivo decide quais extenses nativas podem ser
instaladas.

As ferramentas de desenvolvimento para a criao de extenses nativas do AIR para TV variam para cada
fabricante. Para obter mais informaes sobre a utilizao de extenses nativas no aplicativo do AIR, consulte Como utilizar extenses nativas para Adobe AIR na pgina 133. Para obter informaes sobre a criao de extenses nativas, consulte Developing Native Extensions for Adobe AIR.

Consideraes a respeito do design do aplicativo para AIR para TV


Consideraes a respeito de vdeo
Diretrizes de codificao de vdeo Ao transmitir vdeo para um aparelho de TV, a Adobe recomenda respeitar as seguintes diretrizes:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

107

Codec de vdeo: Resoluo: Taxa de quadros: Codec de udio:

H.264, perfil Principal ou Alto, codificao progressiva 720i, 720p, 1080i ou 1080p 24 quadros por segundo ou 30 quadros por segundo O AAC-LC ou o AC-3, o 44.1 kHz, estreo ou estes codecs de udio multicanal: E-AC-3, DTS, DTS Express, DTS-HD High Resolution Audio ou DTS-HD Master Audio at 8M bps, dependendo da largura de banda disponvel

Taxa de bit composta: Taxa de bit de udio: Proporo de pixels:

at 192 Kbps

11

A Adobe recomenda usar o codec H.264 para vdeo entregue a dispositivos AIR para TV. Nota: O AIR para TV tambm suporta vdeo codificado com Sorenson Spark ou codecs On2 VP6. No entanto, o hardware no decodifica nem apresenta esses codecs. Em vez disso, o tempo de execuo decodifica esses codecs usando o software; portanto, o vdeo exibido com uma taxa de quadros muito menor. Por isso, use o H.264 se for possvel. A classe StageVideo O AIR para TV suporta decodificao e apresentao de hardware de vdeo H.264 codificado. Use a classe StageVideo para habilitar esse recurso. Consulte Uso da classe StageVideo para apresentao acelerada por hardware no Guia do desenvolvedor do ActionScript 3.0 para obter detalhes sobre:

a API da classe StageVideo e das classes relacionadas. limitaes ao uso da classe StageVideo.
Para um melhor suporte aos aplicativos AIR existentes que usam o objeto Video para vdeo H.264 codificado, o AIR para TV usa um objeto StageVideo internamente. Fazer isso significa que a reproduo de vdeo tira proveito da decodificao e da apresentao do hardware. No entanto, o objeto Video est sujeito s mesmas restries de um objeto StageVideo. Por exemplo, se o aplicativo tentar girar o vdeo, nenhum giro ocorrer, uma vez que o hardware, no o tempo de execuo, estar apresentando o vdeo. Contudo, ao escrever novos aplicativos, use o objeto StageVideo para vdeo H.264 codificado. Para obter um exemplo do uso da classe StageVideo, consulte Fornecendo vdeo e contedo para a Plataforma Flash em TV. Diretrizes de fornecimento de vdeo Em um dispositivo AIR para TV, a largura de banda disponvel da rede pode variar durante a reproduo de vdeo. Essas variaes podem ocorrer, por exemplo, quando outro usurio comea a usar a mesma conexo com a Internet. Portanto, a Adobe recomenda que o seu sistema de fornecimento de vdeo use capacidades de taxa de bits adaptveis. Por exemplo, no lado do servidor, o Flash Media Server suporta capacidades de taxa de bits adaptveis. No lado do cliente, voc pode usar a estrutura de mdia de fonte aberta Open Source Media Framework (OSMF). Os seguintes protocolos esto disponveis para o fornecimento de contedo de vdeo em uma rede para um aplicativo do AIR para TV:

Transmisso Dinmica em HTTP e HTTPS (formato F4F) Transmisso em RTMP, RTMPE, RTMFP, RTMPT e RTMPTE ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

108

Download Progressivo em HTTP e HTTPS

Mais tpicos da Ajuda


Guia do Desenvolvedor do Adobe Flash Media Server Open Source Media Framework

Consideraes a respeito de udio


O ActionScript para reproduo de som no diferente nos aplicativos AIR para TV em comparao com outros aplicativos AIR. Para mais informaes, consulte Trabalho com som no Guia do desenvolvedor do ActionScript 3.0. Quanto ao suporte de udio multicanal no AIR para TV, considere o seguinte:

O AIR para TV suporta udio multicanal para vdeos que so continuamente baixados de um servidor HTTP.
Suporte para udio multicanal em vdeos transmitidos pelo Adobe Flash Media Server ainda no est disponvel.

Embora o AIR para TV seja compatvel com muitos codecs de udio, nem todos os dispositivos para o AIR para TV
so compatveis com o conjunto inteiro. Use o mtodo flash.system.CapabilitieshasMultiChannelAudio()para verificar se o dispositivo do AIR para TV compatvel com o codec de udio especfico de multicanais como o AC-3. Por exemplo, considere um aplicativo que progressivamente baixa um arquivo de vdeo de um servidor. O servidor possui diferentes arquivos de vdeo H.264 que so compatveis com diferentes codecs de udio de multi-canais. O aplicativo poder utilizar hasMultiChannelAudio()para determinar qual arquivo de vdeo deve ser solicitado do servidor. Como alternativa, o aplicativo poder enviar ao servidor uma string contida em Capabilities.serverString. A string indica quais codecs de udio multicanais esto disponveis, permitindo ao servidor selecionar o arquivo de vdeo correto.

Ao usar um dos codecs de udio DTS, existem situaes em que hasMultiChannelAudio() retorna true, mas o
udio DTS no reproduzido. Por exemplo, considere um player de Blu-raio com uma sada S/PDIF, conectada a um velho ampliador. O velho ampliador no apoia DTS, mas S/PDIF no tem nenhum protocolo para notificar o player de Blu-raio. Se o player de Blu-raio enviar a corrente DTS ao velho ampliador, o usurio no ouve nada. Por isso, como uma prtica recomendada usando DTS, fornea uma interface do usurio para que o usurio possa indicar se nenhum som est jogando. Ento, o seu aplicativo pode reverter a um codec diferente. A seguinte tabela resume quando usar diferentes codecs de udio nos aplicativos do AIR para TV. A tabela tambm indica quando os dispositivos do AIR para TV utilizam aceleradores de hardware para decodificar um codec de udio. A decodificao de hardware melhora o desempenho e evita a sobrecarga da CPU.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

109

Codec de udio

Disponibili dade para dispositivo do AIR para TV Sempre

Decodifica o de hardware

Quando usar este codec de udio

Mais informaes

AAC

Sempre

Em vdeos codificados com H.264. Ao usar um fluxo contnuo AAC exclusivamente de udio, encapsule o fluxo Em transmisso de udio tal como contnuo de udio num recipiente MP4. um servio de transmisso de msica na Internet. Para sons contidos nos arquivos SWF do aplicativo. Em vdeos codificados com Sorenson Spark ou On2 VP6. Um vdeo H.264 que utilize mp3 para udio no reproduzido em dispositivos do AIR para TV.

mp3

Sempre

No

AC-3 (Dolby Digital) E-AC-3 (Dolby Digital Avanado) DTS Digital Surround DTS Express DTS-HD High Resolution Audio DTS-HD Master Audio Speex

Verificar

Sim

Em vdeos codificados com H.264. Geralmente, o AIR para TV envia um fluxo de udio multicanal para um receptor externo de udio/vdeo que decodifica e reproduz o udio.

Sempre

No

Recebendo uma transmisso de voz ao vivo.

Um vdeo H.264 que utilize Speex para o udio no reproduzido em dispositivos do AIR para TV. Use Speex somente com vdeos codificados com Sorenson Spark ou On2 VP6. Um vdeo H.264 que utilize NellyMoser para o udio no reproduzido em dispositivos do AIR para TV. Use NellyMoser somente com vdos codificados com Sorenson Spark ou On2 VP6.

NellyMoser

Sempre

No

Recebendo uma transmisso de voz ao vivo.

Nota: Alguns arquivos de vdeo contm dois fluxos de udio. Por exemplo, um arquivo de vdeo poder conter um fluxo AAC e um fluxo AC3. O AIR para TV no compatvel com tais arquivos de vdeo, e o uso desse arquivo poder causar a ausncia de som do vdeo.

Acelerao por hardware de grfico


Usando acelerao grfica de hardware Os dispositivos AIR para TV fornecem acelerao de hardware para operaes com imagens 2D. Os aceleradores de imagem de hardware do dispositivo liberam a CPU para realizar as seguintes operaes:

Renderizao de bitmaps Escala de bitmap Mesclagem de bitmap Preenchimento slido do retngulo

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

110

Esta acelerao grfica de hardware significa que muitas operaes com imagens no aplicativo do AIR para TV podem estar executando com alto desempenho. Algumas dessas operaes incluem:

Transies de deslocamento Transies de escala Intensificao e esmaecimento gradual da imagem (fade in e fade out) Imagens de composio mltipla com alfa
Para obter os benefcios de desempenho da acelerao grfica de hardware para estes tipos de operaes, use uma das seguintes tcnicas:

Defina a propriedade cacheAsBitmap como true nos objetos MovieClip e em outros objetos de exibio que
possuem contedo na maioria das vezes inaltervel. Em seguida, execute as transies laterais, as transies de intensidade e as mesclagens de alfa nesses objetos.

Use a propriedade cacheAsBitmapMatrix nos objetos de exibio que voc deseja escalar ou converter (aplicar
reposicionamento de x e y). Usando operaes da classe Matrix para escala e converso, os aceleradores de hardware do dispositivo executam as operaes. Alternativamente, considere o cenrio no qual voc altera as dimenses de um objeto de exibio que tem sua propriedade cacheAsBitmap definida como true. Quando as dimenses so alteradas, o software do tempo de execuo redesenha o bitmap. O redesenho com o software produz um desempenho pior do que a escala com acelerao de hardware usando uma operao Matrix. Por exemplo, considere um aplicativo que exibe uma imagem que se expande quando um usurio a seleciona. Use os tempos mltiplos de operao de escala Matrix para criar a iluso de uma imagem em expanso. Contudo, dependendo da imagem original e da imagem final, a qualidade da imagem final poder ser inaceitvel. Portanto, redefina as dimenses do objeto de exibio depois que as operaes de expanso forem concludas. Uma vez que cacheAsBitmap seja true, o software do tempo de execuo redesenhar o objeto de exibio, mas somente uma vez, e proporcionar uma imagem de alta qualidade. Nota: Geralmente, os dispositivos AIR para TV no suportam rotao e inclinao de hardware acelerado. Portanto, se voc especificar a rotao e a inclinao na classe Matrix, o AIR para TV executar todas as operaes de Matrix no software. Essas operaes de software podem ter um impacto prejudicial ao desempenho.

Use a classe BitmapData para criar o comportamento de armazenamento de bitmap personalizado em cache.
Gerenciando a memria grfica Para executar operaes de imagem acelerada, os aceleradores de hardware usam memria grfica especial. Se o seu aplicativo usar toda a memria grfica, executar lentamente porque o AIR para TV reverter para o uso do software das operaes de imagem. Para gerenciar o uso de memria grfico pelo seu aplicativo:

Quando voc estiver usando uma imagem ou outro dado de bitmap, libere sua memria grfica associada. Para
tanto, chame o mtodo dispose() da propriedade bitmapData do objeto Bitmap. Por exemplo:
myBitmap.bitmapData.dispose();

Nota: A liberao da referncia para o objeto BitmapData no libera a memria grfica imediatamente. O coletor de lixo do tempo de execuo eventualmente libera a memria grfica, mas a chamada de dispose() oferece maior controle para o seu aplicativo.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

111

Use o PerfMaster Deluxe, um aplicativo do AIR fornecido pela Adobe, para entender melhor a acelerao grfica
de hardware no seu dispositivo de destino. Este aplicativo mostra os quadros por segundo para executar vrias operaes. Use o PerfMaster Deluxe para comparar diferentes implementaes da mesma operao. Por exemplo, compare a movimentao de uma imagem em bitmap com a movimentao de uma imagem em vetor. O PerfMaster Deluxe est disponvel em Flash Platform para TV. Gerenciando a lista de exibio Para tornar um objeto de exibio invisvel, defina a propriedade visible do objeto como false. Em seguida, o objeto continuar na lista de exibio, mas o AIR para TV no ir renderiz-lo nem exibi-lo. Essa tcnica til para objetos que frequentemente entram e saem de visualizao, porque demanda apenas um pouco mais de processamento. No entanto, a definio da propriedade visible em false no libera nenhum dos recursos do objeto. Portanto, ao concluir a exibio de um objeto ou, ao menos, conclu-la por algum tempo, remova o objeto da lista de exibio. Do mesmo modo, defina todas as referncias ao objeto como null. Essas aes permitem que o coletor de lixo libere os recursos do objeto.

Mais tpicos da Ajuda


Armazenamento em cache de objetos de exibio Armazenamento do bitmap em cache Armazenamento manual de bitmaps em cache

uso de imagem PNG e JPEG


PNG e JPEG so dois formatos de imagem comuns em aplicativos. Quanto a esses formatos de imagem no AIR para TV, considere o seguinte:

O AIR para TV geralment usa acelerao de hardware para decodificar arquivos JPEG. O AIR para TV geralment usa software para decodificar arquivos PNG. A decodificao de arquivos PNG no
software rpida.

PNG o nico formato de plataforma cruzada que suporta transparncia (um canal alfa).
Portanto, use esses formatos de imagem da seguinte maneira em seus aplicativos:

Use arquivos JPEG para as fotografias tirarem proveito da decodificao por acelerao de hardware. Use os arquivos de imagem PNG para os elementos de interface do usurio Os elementos de interface do usurio
pode ter uma configurao alfa, e a decodificao com software proporciona um desempenho suficientemente rpido para os elementos de interface do usurio.

O palco nos aplicativos AIR para TV


Ao criar um aplicativo do AIR para TV, considere o seguinte ao trabalhar com a classe Stage:

Resoluo de tela A rea de visualizao segura O modo de escala do palco O alinhamento do palco O estado de exibio do palco Desenhando para vrios tamanhos de tela

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

112

A configurao de qualidade do palco


Resoluo de tela Atualmente, os aparelhos de TV costumam ter uma das seguintes resolues de tela: 540p, 720p e 1080p. Essas resolues de tela resultam nos seguintes valores na classe ActionScript Capabilities:
Resoluo de tela Capabilities.screenResolutionX 540p 720p 1080p 960 1280 1920
Capabilities.screenResolutionY

540 720 1080

Para escrever um aplicativo do AIR para TV de tela inteira para um dispositivo especfico, defina os cdigos Stage.stageWidth and Stage.stageHeight para a resoluo de tela do dispositivo. Contudo, para escrever um aplicativo de tela inteira que execute em vrios dispositivos, use as propriedades Capabilities.screenResolutionX e Capabilities.screenResolutionY para definir as dimenses do palco. Por exemplo:
stage.stageWidth = Capabilities.screenResolutionX; stage.stageHeight = Capabilities.screenResolutionY;

A rea de visualizao segura A rea de visualizao segura em um televisor uma rea da tela que afastada das bordas da tela. Essa rea inserida suficientemente longe paa que o usurio possa ver a rea inteira, sem que o bisel do televisor oculte qualquer parte da rea. Uma vez que o bisel, que a moldura fsica em torno da tela, varia de acordo com o fabricante, o afastamento necessrio tambm varia. A rea de visualizao segura tenta garantir que a rea visvel da tela. A rea de visualizao segura tambm conhecida como rea de ttulo segura. Overscan a rea da tela que no visvel porque est atrs do bisel. A Adobe recomenda um afastamento de 7,5% em cada borda da tela. Por exemplo:

1920 1632

rea de exibio segura

918

1080

A rea de visualizao segura para uma resoluo de tela de 1920 x 1080

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

113

Considere sempre a rea de visualizao segura ao projetar um aplicativo do AIR para TV de tela inteira:

Use a tela inteira para os planos de fundo, tais como imagens de fundo ou cores de fundo. Use a rea de visualizao segura somente para elementos de aplicativo crticos tais como texto, imagens, vdeo e
itens de interface do usurio como botes. A tabela a seguir mostra as dimenses da rea de visualizao segura de cada resoluo de tela tpica, usando um afastamento de 7,5%.
Resoluo de tela Largura e altura de uma rea de visualizao segura 816 x 460 1088x 612 1632 x 918 Largura do afastamento direita e esquerda 72 96 144 Altura do afastamento superior e inferior

960x 540 1280x 720 1920 x 1080

40 54 81

Contudo, uma prtica melhor sempre calcular dinamicamente a rea de visualizao segura. Por exemplo:
var horizontalInset, verticalInset, safeAreaWidth, safeAreaHeight:int; horizontalInset = .075 * Capabilities.screenResolutionX; verticalInset = .075 * Capabilities.screenResolutionY; safeAreaWidth = Capabilities.screenResolutionX - (2 * horizontalInset); safeAreaHeight = Capabilities.screenResolutionY - (2 * verticalInset);

O modo de escala do palco Defina Stage.scaleMode como StageScaleMode.NO_SCALE e fique na escuta de eventos de redimensionamento de palco.
stage.scaleMode = StageScaleMode.NO_SCALE; stage.addEventListener(Event.RESIZE, layoutHandler);

Essa configurao torna as coordenadas do palco iguais s coordenadas do pixel. Junto com o estado de exibio FULL_SCREEN_INTERACTIVE e o alinhamento de palco TOP_LEFT, essa configurao permite que voc use eficientemente a rea de visualizao segura. Especificamente, nos aplicativos de tela inteira esse modo de escala significa que as propriedades stageWidth e stageHeight da classe Stage correspondem s propriedades screenResolutionX e screenResolutionY da classe Capabilities. Alm disso, quando a janela do aplicativo muda de tamanho, os contedos do palco mantm seu tamanho definido. O tempo de execuo no executa automaticamente nenhum layout ou escala. Do mesmo modo, o tempo de execuo despacha o evento resize da classe Stage quando a janela muda de tamanho. Portanto, voc tem controle completo sobre como ajustar os contedos do aplicativo quando o aplicativo inicial e quando a janela do aplicativo muda de tamanho. Nota: O comportamento NO_SCALE igual ao de qualquer aplicativo do AIR. Nos aplicativos AIR para TV, no entanto, essa configurao crtica para usar a rea de visualizao segura. O alinhamento do palco Defina Stage.align como StageAlign.TOP_LEFT:
stage.align = StageAlign.TOP_LEFT;

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

114

Esse alinhamento coloca a coordenada 0,0 no canto superior esquerdo da tela, o que conveniente para a colocao de contedo usando ActionScript. Junto com o modo de escala NO_SCALE e com o estado de exibio FULL_SCREEN_INTERACTIVE, essa configurao permite que voc use eficientemente a rea de visualizao segura. O estado de exibio do palco Defina Stage.displayState num aplicativo do AIR para TV de tela inteira como StageDisplayState.FULL_SCREEN_INTERACTIVE:
stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;

Este valor define o aplicativo do AIR para expandir o palco sobre a tela inteira com a entrada de teclado ativada. A Adobe recomenda o uso da configurao FULL_SCREEN_INTERACTIVE. Junto com o modo de escala NO_SCALE e com o estado de alinhamento TOP_LEFT, essa configurao permite que voc use eficientemente a rea de visualizao segura. Portanto, nos aplicativos de tela inteira, em um manipulador do evento ADDED_TO_STAGE na classe document principal, faa o seguinte:
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; }

Em seguida, no manipulador do evento RESIZE:

Compare os tamanhos da resoluo da tela com a largura e a altura do palco. Se forem iguais, o evento RESIZE
ocorreu, porque o estado de exibio do palco mudou para FULL_SCREEN_INTERACTIVE.

Calcule e salve as dimenses da rea de visualizao segura e dos afastamentos correspondentes.


private function onResize(evt:Event):void { if ((Capabilities.screenResolutionX == stage.stageWidth) && (Capabilities.screenResolutionY == stage.stageHeight)) { // Calculate and save safe viewing area dimensions. } }

Quando as dimenses do palco forem iguais a Capabilities.screenResolutionX e screenResolutionY, o AIR para TV far com que o hardware libere a melhor fidelidade possvel para os vdeos e imagens. Nota: A fidelidade com a qual as imagens e o vdeo so exibidos numa tela de TV pode diferir dos valores Capabilities.screenResolutionX e screenResolutionY, que dependem do dispositivo que est excutando o AIR para TV. Por exemplo, uma caixa set-top que executa o AIR para TV pode ter uma resoluo de tela de 1280 x 720, e a TC conectada pode ter uma resoluo de tela de 1920 x 1080. Contudo, o AIR para TV faz com que o hardware libere a melhor fidelidade possvel. Portanto, nesse exemplo, o hardware exibe um vdeo de 1080p usando uma resoluo de tela de 1920 x 1080.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

115

Desenhando para vrios tamanhos de tela Voc pode desenvolver o mesmo aplicativo do AIR para TV de tela inteira para trabalhar e bem e ter uma boa aparncia em vrios dispositivos AIR para TV. Faa o seguinte:
1 Defina as propriedades de palco scaleMode, align e displayState com os valores recomendados:
StageScaleMode.NO_SCALE, StageAlign.TOP_LEFT e StageDisplayState.FULL_SCREEN_INTERACTIVE,

respectivamente.
2 Configure a rea de visualizao segura com base em Capabilities.screenResolutionX e
Capabilities.screenResolutionY.

3 Ajuste o tamanho e o layoutdo contedo de acordo com a largura e a altura da rea de visualizao segura.

Embora os objetos do contedo sejam grandes, especialmente quando comparados com aplicativos de dispositivos mveis, os conceitos tais como layout dinmico, posicionamento relativo e contedo adaptvel so iguais. Para mais informaes sobre o ActionScript em apoio a esses contextos, consulte Criao de contedo do Flash mvel para vrios tamanhos de tela. A qualidade do palco A propriedade Stage.quality do aplicativo do AIR para TV sempre StageQuality.High. Ela no pode ser alterada. Essa propriedade especifica a qualidade de renderizao de todos os objetos Stage.

Tratamento de entrada do controle remoto


Os usurios geralmente interagem com o seu aplicativo do AIR para TV usando um controle remoto. No entanto, manipule a entrada de tecla da mesma forma que voc manipula a entrada de tecla de um teclado num aplicativo para computador pessoal. Especificamente, manipuled o evento KeyboardEvent.KEY_DOWN. Para mais informaes, consulte Captura da entrada do teclado no Guia do desenvolvedor do ActionScript 3.0. As teclas do controle remoto mapeiam constantes do ActionScript. Por exemplo, as teclas do teclado direcional de um controle remoto mapeiam da seguinte maneira:
Tecla de teclado direcional do controle remoto Up Para baixo Esquerda Direita OK ou Selecionar Constante do ActionScript 3.0

Keyboard.UP Keyboard.DOWN Keyboard.LEFT Keyboard.RIGHT Keyboard.ENTER

O AIR 2.5 adicionou muitas outras constantes de Teclado para suportar entrada de controle remoto. Para mais informaes, consulte Classe keyboard no livro Referncia do ActionScript 3.0 para Adobe Flash Platform. Para garantir que seu aplicativo funcione no mximo possvel de dispositivos, a Adobe recomenda o seguinte:

Use somentes teclas de teclado direcional, se possvel.


Diferentes dispositivos de controle remoto possuem diferentes conjuntos de teclas. No entanto, eles geralmente possuem sempre teclas de teclado direcional. Por exemplo, um controle remoto de um reprodutor Blu-ray geralmente no tm as teclas canal acima e canal abaixo. Mesmo as teclas para reproduzir, pausar ou parar no existem em todos os controles remotos.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

116

Use as teclas Menu e Info se o aplicativo precisar de algo mais do que as teclas de teclado direcional.
As teclas Menu e Info so as prximas teclas mais comuns nos controles remotos.

Considere o uso frequente de controles remotos universais.


Mesmo que voc esteja criando um aplicativo para um dispositivo especfico, entenda que muitos usurios no usam um controle remoto que vem com o dispositivo. Em vez disso, eles usam um controle remoto universal. Do mesmo modo, os usurios nem sempre programam seus controle remotos universais para que correspondam a todas as teclas do controle remoto do dispositivo. Portanto, recomendvel usar somente as teclas mais comuns.

Certifique-se de que o usurio sempre escape de uma situao usando uma das teclas do teclado direcional.
s vezes o seu aplicativo tem um bom motivo parfa usar uma tecla que no seja das mais comuns nos controles remotos. Proporcionar uma rota de escape com teclas de teclado direcional faz o seu aplicativo ter um comportamento agradvel em todos os dispositivos.

No exija entrada para ponteiro exceto se voc conhecer o destino para o qual o dispositivo do AIR para TV tenha
uma capacidade de entrada para ponteiro. Embora muitos aplicativos de desktop prevejam entrada para mouse, a maioria dos televisores no suporta entrada para mouse. Portanto, se voc estiver convertendo aplicativos de desktop para serem executados em televisores, certifique-se de alterar o aplicativo para no prever entrada para mouse. Essas modificaes incluem mudanas na manipulao de eventos e alteraes nas instrues ao usurio. Por exemplo, quando a tela de inicializao de um aplicativo exibida, no exiba um texto que diga Clique para iniciar.

Gerenciamento do foco
Quando um elemento de interface do usurio mantm o foco em um aplicativo de computador pessoal, objetivo do usurio introduzir eventos tais como eventos de teclado e de mouse. Alm disso, um aplicativo destaca o elemento de interface do usurio com o foco. O gverenciamento do foco em um aplicativo do AIR para TV diferente do gerenciamento do foco em um aplicativo de computador pessoal, porque:

Os aplicativos de computador pessoal frequentemente usam a tecla tab para mudar o foco para o prximo elemento
da interface do usurio. O uso da tecla tab no se aplica aos aplicativos AIR para TV. Os dispositivos de controle remoto geralmente possuem uma tecla tab. Portanto, o gerenciamento do foco com a propriedade tabEnabled de um DisplayObject como o de um computador pessoal no aplicvel.

Os aplicativos de computador pessoal frequentemente esperam que o usurio use o mouse para focalizar um
elemento da interface do usurio. Portanto, no seu aplicativo, faa o seguinte:

Adicione ao Palco um evento do escutador que escute eventos do teclado tais como KeyboardEvent.KEY_DOWN. Providencie uma lgica de aplicao para determinar qual elemento da interface do usurio ser destacado para o
usurio final. Certifique-se de destacar um elemento da interface do usurio quando o aplicativo iniciar.

Com base em sua lgica de aplicao, despache o evento Keyboard que o Palco recebeu para o objeto apropriado
do elemento da interface do usurio. Voc tambm pode usar Stage.focus ou Stage.assignFocus() para dirigir o foco para um elemento da interface do usurio. Tambm possvel adicionar um escutador de eventos ao DisplayObject de forma que ele receba eventos do teclado.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

117

Design de interface de usurio


Faa a interface do usurio de um aplicativo do AIR para TV funcionar bem em televisores incorporando essas recomendaes sobre:

a responsividade do aplicativo a usabilidade do aplicativo a personalidade e as expectativas do usurio


Responsividade Use as seguintes dicas para tornar um aplicativo do AIR para TV o mais responsivo possvel.

Faa com que o arquivo SWF inicial do aplicativo seja o menor possvel.
No arquivo SWF inicial, carregue apenas os recursos necessrios para iniciar o aplcativo. Por exemplo, carregue somente a imagem da tela de inicializao do aplicativo. Embora essas recomendaes sejam vlidas para os aplicativos AIR para computador pessoal, so ainda mais importantes para os dispositivos AIR para TV. Por exemplo, os dispositivos AIR para TV no tm potncia de processamento igual dos computadores pessoais. Do mesmo modo, eles armazenam o aplicativo na memria flash, cujo acesso no to rpido como nos discos rgidos dos computadores pessoais.

Certifique-se de que o aplicativo execute a uma taxa de quadros de ao menos 20 quadros por segundo.
Projete seus grficos para atingir essa meta. A complexidade de suas operaes grficas pode afetar a taxa de quadros por segundo. Para obter dicas sobre como melhorar o desempenho de renderizao, consulte Otimizando o desempenho para a plataforma Adobe Flash. Nota: O hardware grfico nos dispositivos AIR para TV geralmente atualizam a tela taxa de 60 Hz ou 120 Hz (60 ou 120 vezes por segundo). O hardware varre o palco em busca de atualizaes a, por exemplo, 30 quadros por segundo ou 60 quadros por segundo para exibio em tela de 60 Hz ou 120 Hz. Contudo, se o usurio experimentar essas altas taxas de quadro depender da complexidade das operaes grficas do aplicativo.

Atualiza a tela dentro de 100 - 200 milsimos de segundo a partir da entrada do usurio.
Os usurios ficam impacientes quando as atualizaes demoram demais, o que geralmente resulta em vrios toques nas teclas. Usabilidade Os usurios dos aplicativos AIR para TV esto em um ambiente de sala de estar. Eles esto sentados na sala vendo TV a cerca de 3 a 5 metros de distncia. A sala s vezes escura. Eles geralmente usam um aparelho de controle remoto para seus comandos. Mais de uma pessoa pode usar o aplicativo; s vezes usam juntos e, s vezes, em sequncia. Portanto, ao projetar a interface do usurio para melhor usabilidade num televisor, considere o seguinte:

Faa com que os elementos da interface do usurio sejam grandes.


Ao conceber texto, botes ou qualquer outro elemento de interface, considere que o usurio est sentado em uma sala. Faa tudo fcil de ver e ouvir, por exemplo, a 5 metros de distncia. No caia na tentao de abarrotar a tela s porque ela grande.

Use um bom constraste para tornar o contedo fcil de ver e ler de qualquer parte da sala. Faa com que fique bvio qual elemento da interface do usurio est em foco, tornando-o brilhante. Use movimento apenas quando necessrio. Por exempo, passar de uma tela para outra para obter continuidade
pode funcionar bem. Contudo, o movimento pode causar distrao se no ajuda o usurio a navegar ou se no intrnseco ao aplicativo.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

118

Fornea sempre um meio bvio para o usurio retornar na interface.


Para mais informaes sobre o uso do controle remoto, consulte Tratamento de entrada do controle remoto na pgina 115. Personalidade e expectativas do usurio Considere que os usurios dos aplicativos AIR para TV esto geralmente procurando entretenimento de qualidade na TV em um ambiente divertido e descontrado. Eles no so necessariamente especialistas em computadores ou em tecnologia. Portanto, projete os seus aplicativos AIR para TV com as seguintes caractersticas:

No use termos tcnicos. Evite dilogos modais. Use instrues informais e fceis, apropriadas a um ambiente de sala de estar, no a um ambiente de trabalho ou
tcnico.

Use imagens que tenham a alta qualidade de produo que os telespectadores esperam. Crie uma interface de usurio que trabalhe de maneira fcil com um dispositivo de controle remoto. No use
interface de usurio ou elementos de design que se adaptem melhor a um aplicativo de desktop ou mvel. Por exemplo, as interfaces de usurio em dispositivos de desktop e mveis geralmente envolvem apontar ou clicar botes com um mouse ou com o dedo.

Fontes e texto
Voc pode usar fontes do dispositivo ou fontes incorporadas no seu aplicativo AIT para TV. Fontes de dispositivo so as fontes que so instaladas em um dispositivo. Todos os dispositivos AIR para TV tm as seguintes fontes de dispositivo:
Nome da fonte
_sans

Descrio A fonte de dispositivo _sans uma fonte sans-serif. A fonte de dispositivo _sans . instalada nos dispositivos AIR para TV a Myriad Pro. Normalmente, uma fonte sem serifa ter uma melhor aparncia na TV do que fontes com serifa, devido distncia de visualizao. A fonte de dispositivo _serif uma fonte serif. A fonte de dispositivo serifinstaladas em todos os dispositivos AIR para TV a Minion Pro. A fonte de dispositivo _typewriter uma fonte monospace. A fonte de dispositivo _typewriterinstalada em todos os dispositivos AIR para TV a Courier Std.

_serif

_typewriter

Todos os dispositivos AIR para TV tm as seguintes fontes de dispositivo asiticas:


Nome da fonte Idioma Categoria de cdigo do local fonte sans serif sans ja ja ko

RyoGothicPlusN-Regular RyoTextPlusN-Regular AdobeGothicStd-Light

Japons Japons Coreano

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

119

Nome da fonte

Idioma

Categoria de cdigo do local fonte sans serif serif zh_CN zh_CN zh_TW e zh_HK

AdobeHeitiStd-Regular AdobeSongStd-Light AdobeMingStd-Light

Chins Simplificado Chins Simplificado Chins Tradicional

Essas fontes de dispositivo do AIR para TV so:

Da biblioteca de fontes Adobe Type Library Assistir a bons programas de televiso Projetado para titulao de vdeo So fontes de contorno, no fontes bitmap
Nota: Os fabricantes de dispositivos incluem outras fontes de dispositivo no dispositivo. Essas fontes de dispositivo fornecidas pelos fabricantes so instaladas em adio s fontes do dispositivo AIR para TV. A Adobe fornece um aplicativo chamado FontMaster Deluxe, que exibe todas as fontes de dispositivo presentes no dispositivo. O aplicativo est disponvel em Flash Platform para TV. Voc tambm pode usar fontes de dispositivo no seu aplicativo AIT para TV. Para mais informaes, consulte Renderizao avanada de texto no Guia do desenvolvedor do ActionScript 3.0. A Adobe recomenda o seguinte a respeito dos campos de texto TLF:

Use os campos de texto TLF para textos em idiomais asiticos para tirar proveito do local em que o aplicativo est
sendo executado. Defina a propriedade locale no objeto TextLayoutFormat associado ao objeto TLFTextField. Para mais informaes, consulte Seleo de cdigo de idiomas no Guia do desenvolvedor do ActionScript 3.0.

Especifique o nome da fonte na propriedade fontFamily no objeto TextLayoutFormat se a fontge no for uma das
fontes do dispositivo AIR para TV. O AIR para TV usar a fonte se ela estiver disponvel no dispositivo. Se a fonte que voc deseja no estiver no dispositivo, baseada na configurao de locale, o AIR para TV substituir a fonte de dispositivo apropriada do AIR para TV.

Especifique _sans, _serif, ou _typewriter para a propriedade fontFamily, juntamente colm a configurao
da propriedade locale para fazer com que o AIR para TV escolha uma fonte de dispositivo correta para o AIR para TV. Dependendo do local, o AIR para TV escolhe seu conjunto de fontes de dispositivo asiticas ou seu conjunto de fontes de dispositivo no asiticas. Essas configuraes proporcionam um modo fcil de usar automaticamente a fonte correta para a maior parte das variaes idiomticas asiticas ou do ingls. Nota: Se voc estiver usando campos de texto clssicos para texto em idioma asitico, especifique um nome de fonte de uma fonte de dispositivo do AIR para TV para garantir uma renderizao adequada. Se voc souber que outra fonte est instalada no dispositivo de destino, tambm poder especific-la. Quanto ao desempenho do aplicativo, considere o seguinte:

Os campos de texto clssicos proporcionam um desempenho mais rpido do que os campos de texto TLF. Um campo de texto clssico que usa fontes bitmap proporciona um desempenho melhor.
As fonters bitmap proporcionam um bitmap para cada caractere, ao contrrio de outras fontes, que fornecem apenas dados de contorno de cada caractere. As duas fontes de dispositivo podem ser fontes bitmap.

Se voc especificar uma fontge de dispositivo, certifique-se de que a fonte de dispositivo esteja instalada no
dispositivo de destino. Se a fonte no estiver instgalada no dispositivo, o AIR para TV buscar e usar outra fonte que esteja instalada no dispositivo. Contudo, esse comportamento torna mais lento o desempenho do aplicativo.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

120

Como ocorre com qualquer objeto de exibio, se um objeto TextField for na maioria das vezes inaltervel, defina
a propriedade cacheAsBitmap do objeto como true. Essa configurao melhora o desempenho em transies como mudana de intensidade (fading), deslocamento e mesclagem de alfa. Use cacheAsBitmapMatrix para escala e converso.

Segurana do sistema de arquivos


Os aplicativos AIR para TV so aplicativos AIR e, portanto, podem acessar o sistema de arquivos do dispositivo. No entanto, em um dispositivo de sala de estar muito importante que um aplicativo no possa acessar os arquivos de sistema do dispositivo ou os arquivos de outros aplicativos. Os usurios de TVs e dispositivos associados no esperam nem toleram qualquer falha no dispositivo acima de tudo, eles esto assistindo TV. Portanto, o aplicativo do AIR para TV tem uma visualizao limitada do sistema de arquivos do dispositivo. Usando o ActionScript 3.0, seu aplicativo pode acessar somente diretrios especficos (e seus subdiretrios). Alm disso, os nomes dos diretrios que voc usa no ActionScript no so nomes de diretrios reais no dispositivo. Esta camada extra protege os aplicativos AIR para TV contra o acesso mal-intencionado ou inadvertido aos arquivos locais que no pertenam a eles. Para obter mais detalhes, consulte Visualizao de diretrios para aplicativos AIR for TV.

A caixa de proteo do aplicativo do AIR


Os aplicativos AIR para TV so executados em uma caixa ded segurana de aplicativo do AIR, descrita em A caixa de proteo do aplicativo do AIR. A nica diferena com os aplicativos AIR para TV que esses tm acesso limitado ao sistema de arquivos, conforme descrito em Segurana do sistema de arquivos na pgina 120.

Ciclo de vida do aplicativo


Ao contrrio de um ambiente de computao pessoal, o usurio final no pode fechar a janela na qual o aplicativo do AIR para TV est executando. Portanto, fornea um mecanismo de interface do usurio para sada do aplicativo. Geralmente, um dispositivo permite que o usurio saia incondicionalmente de um aplicativo com a tecla de sada do controle remoto. No entanto, o AIR para TV no despacha o evento flash.events.Event.EXITING para o aplicativo. Portanto, salve o estado do aplicativo frequentemente para que o aplicativo possa recuperar-se para um estado razovel quando iniciar na prxima vez.

Cookies HTTP
O AIR para TV compatvel com os cookies contnuos de HTTP e com o cookies de sesso. O AIR para TV armazena cada cookie do aplicativo do AIR em um diretrio especfico do aplicativo:
/app-storage/<app id>/Local Store

O arquivo de cookie nomeado cookies. Nota: O AIR em outros dispositivos, como dispositivos pessoais, no armazenam cookies separadamente para cada aplicativo. O armazenamento de cookie especfico de aplicativo compatvel com o modelo de aplicativo e de segurana do sistema do AIR para TV. Use a propriedade URLRequest.manageCookies do ActionScript da seguinte maneira:

Defina manageCookies como true. Este valor o padro. Isso significa que o AIR para TV adiciona cookies
automaticamente s solicitaes ao HTTP e memoriza os cookies na resposgta doe HTTP.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

121

Nota: Mesmo quando manageCookies true, o aplicativo pode adicionar um cookie manualmente a uma solicitao ao HTTP usando URLRequest.requestHeaders. Se esse cookie tiver o mesmo nomde de um cookie que o AIR para TV esteja gerenciando, a solicitao ter dois cookies com o mesmo nome. Os valores dos dois cookies podem ser diferentes.

Defina manageCookies como false. Esse valor significa que o aplicativo responsvel por enviar cookies
automaticamente s solicitaes ao HTTP e por memorizar os cookies na resposta do HTTP.

Mais tpicos da Ajuda


URLRequest

Fluxo de trabalho para desenvolver um aplicativo do AIR para TV


Voc pode desenvolver aplicativos AIR para TV com as seguintes ferramentas de desenvolvimento da plataforma Adobe Flash:

Adobe Flash Professional


O Adobe Flash Professional CS5.5 suporta o AIR 2.5 para TV, a primeira verso do AIR a suportar aplicativos do AIR para TV.

Adobe Flash Builder


O Flash Builder 4.5 suporta o AIR 2.5 para TV.

O AIR SDK
A partir do AIR 2.5, possvel desenvolver os aplicativos usando as ferramentas da linha de comando fornecidas pelo AIR SDK. Para baixar o AIR SDK, see http://www.adobe.com/products/air/sdk/.

Utilizao do Flash Professional


O uso do Flash Professional para desenvolver, testar e publicar aplicativos do AIR para TV semelhante ao uso da ferramenta dos aplicativos AIR para aplicaes de desktop. No entanto, ao escrever o seu cdigo ActionScript 3.0, use somente classes e mtodos que sejam suportadas pelos perfis tv e extendedTV do AIR. Para obter detalhes, consulte Perfis de dispositivo na pgina 221.

Configuraes do projeto
Faa o seguinte para configurar seu projeto para um aplicativo do AIR para TV:

Na guia Flash da caixa de dilogo Configuraes de Publicao, defina o valor Player em pelo menos AIR 2.5. Na guia Geral da caixa de dilogo Configuraes do Adobe AIR (Configuraes do Aplicativo e do Programa de
Instalao), defina o perfil como TV ou TV expandida.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

122

Depurao
Voc pode executar seu aplicativo usando o AIR Debug Launcher dentro do Flash Professional. Faa o seguinte:

Para executar o aplicativo no modo de depurao, selecione:


Escolha Depurar > Depurar filme > No AIR Debug Launcher (Desktop) Depois de fazer essa seleo, nas operaes de depurao seguintes voc poder selecionar: Selecione Depurar > Depurar filme > Depurar

Para executar o aplicativo sem os recursos do modo de depurao, selecione:


Selecione Controle > Testar filme > No AIR Debug Launcher (Desktop) Depois de fazer essas seleo, voc poder selecionar Controle > Testar Filme > Testar para as execues seguintes. Depois de definir o perfil do AIR como TV ou TV expandida, o AIR Debug Launcher apresentar um menu chamado Botes do Controle Remoto. Voc pode usar este menu para simular a digitao de teclas em um dispositivo com controle remoto.

Uso de extenses nativas


Se o aplicativo utilizar uma extenso nativa, inclua o arquivo ANE para a extenso nativa no caminho da biblioteca. Em seguida, voc poder usar o Flash Professional para compilar o seu cdigo ActionScript. As etapas para esse procedimento podem ser encontradas em Incluso do arquivo ANE no caminho da biblioteca do aplicativo na pgina 136. No entanto, quando um aplicativo usa extenses nativas:

No possvel publicar o aplicativo usando o Flash Professional. Para publicar o aplicativo, use ADT. Consulte
Compactao com ADT na pgina 127.

No possvel executar ou depurar o aplicativo usando o Flash Professional. Para depurar o aplicativo na mquina
de desenvolvimento, use ADL. Consulte Simulao de dispositivos utilizando ADL na pgina 129.

Usando o Flash Builder


A partir do Flash Builder 4.5, o Flash Builder suporta o desenvolvimento do AIR para TV. O uso do Flash Builder para desenvolver, testar e publicar aplicativos AIR para TV semelhante ao uso da ferramenta dos aplicativos AIR para computador pessoal.

Configurando o aplicativo
Certifique-se de que o seu aplicativo:

Utilize o elemento Application como a classe container no arquivo MXML, se voc estiver usando um arquivo 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"> <!-- Place elements here. --> </s:Application>.

Importante: Os aplicativos AIR para TV no suportam o elemento WindowedApplication. Nota: Voc no precisa usar um arquivo MXML em nenhuma hiptese. Em vez disso, pode criar um projeto do ActionScript 3.0.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

123

Utilize somente classes e mtodos do ActionScript 3.0 que sejam suportados pelos perfis tv e extendedTV do AIR.
Para obter detalhes, consulte Perfis de dispositivo na pgina 221. Alm disso, no arquivo XML do seu aplicativo, certifique-se de que:

O atributo xmlns do elemento application esteja definido como AIR 2.5:


<application xmlns="http://ns.adobe.com/air/application/2.5">

O elemento supportedProfiles inclua tv ou extendedTV:


<supportedProfiles>tv</supportedProfiles>

Depurao do aplicativo para


Voc pode executar seu aplicativo usando o AIR Debug Launcher dentro do Flash Builder. Faa o seguinte:
1 Selecione Executar > Configuraes de Depurao. 2 Certifique-se de que o campo Perfil esteja definido como Desktop (computador pessoal). 3 Selecione Executar > Depurar para executar o modo de depurao ou selecione Executar > Executar para executar

sem os recursos do modo de depurao. Uma vez que voc definiu o elemento supportedProfiles como TV ou TV expandida, o AIR Debug Launcher apresenta um menu chamado Botes do Controle Remoto. Voc pode usar este menu para simular a digitao de teclas em um dispositivo com controle remoto.

Uso de extenses nativas


Se o aplicativo utilizar uma extenso nativa, inclua o arquivo ANE para a extenso nativa no caminho da biblioteca. Em seguida, voc pode usar o Flash Builder para compilar o seu cdigo ActionScript. As etapas para esse procedimento podem ser encontradas em Incluso do arquivo ANE no caminho da biblioteca do aplicativo na pgina 136. No entanto, quando um aplicativo usa extenses nativas:

No possvel publicar o aplicativo usando o Flash Builder. Para publicar o aplicativo, use ADT. Consulte
Compactao com ADT na pgina 127.

No possvel executar ou depurar o aplicativo usando o Flash Builder. Para depurar o aplicativo na mquina de
desenvolvimento, use ADL. Consulte Simulao de dispositivos utilizando ADL na pgina 129.

Definio de propriedades do aplicativo do AIR para TV


Tal como acontece com outros aplicativos AIR, voc define as propriedades bsicas do aplicativo no arquivo descritor do aplicativo. Os aplicativos de perfil de TV ignoram algumas das propriedades especficas para ambiente de trabalho, como tamanho da janela e transparncia. Os dispositivos de destino do aplicativo no perfil extendedTV podem usar extenses nativas. Esses aplicativos identificam as extenses nativas usadas em um elemento extensions.

Configuraes comuns
Vrias configuraes de descritor de aplicativo so importantes para todos os aplicativos de perfil de TV.

Verso de tempo de execuo exigida pelo AIR


Especifique a verso do tempo de execuo do AIR exigido pelo seu aplicativo usando o namespace do arquivo do descritor do aplicativo.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

124

O namespace, atribudo no elemento do aplicativo, determina, em grande parte, que recursos seu aplicativo pode usar. Por exemplo, considere um aplicativo que use o namespace AIR 2.5, mas o usurio tenha alguma verso posterior instalada. Nesse caso, o aplicativo ainda ver o comportamento do AIR 2.5, mesmo que o comportamento seja diferente na verso posterior do AIR. Somente quando mudar o namespace e publicar uma atualizao seu aplicativo ter acesso aos novos comportamentos e recursos. As correes de segurana so uma importante exceo a essa regra. Especifique o namespace usando o atributoxmlns da raiz do elemento application:
<application xmlns="http://ns.adobe.com/air/application/2.5">

O AIR 2.5 a primeira verso do AIR disponvel para aplicativos de TV.

Mais tpicos da Ajuda


aplicativo na pgina 190

Identidade do aplicativo
Diversas configuraes devem ser exclusivas para cada aplicativo que voc publicar. Estas configuraes incluem o ID, o nome e o nome de arquivo.
<id>com.example.MyApp</id> <name>My Application</name> <filename>MyApplication</filename>

Mais tpicos da Ajuda


id na pgina 202 nome de arquivo na pgina 199 nome na pgina 210

Verso do aplicativo
Especifique a verso do aplicativo no elemento versionNumber. Ao especificar um valor para versionNumber, voc pode usar uma sequncia de at trs nmeros separados por pontos, como: "0.1.2". Cada segmento do nmero de verso pode ter at trs dgitos. (Em outras palavras, "999.999.999" o maior nmero de verso autorizada.) Voc no precisa incluir todos os trs segmentos do nmero; "1" e "1.0" so nmeros de verso legal. Voc tambm pode especificar um rtulo para a verso com o elemento versionLabel. Quando voc adiciona um rtulo da verso este exibido em vez do nmero da verso.
<versionNumber>1.23.7<versionNumber> <versionLabel>1.23 Beta 7</versionLabel>

Mais tpicos da Ajuda


verso na pgina 217 versionLabel na pgina 217 versionNumber na pgina 218

SWF do aplicativo principal


Especifique o arquivo SWF do aplicativo principal no filho do contedo do elemento initalWindow. Ao direcionar dispositivos no perfil da tev, voc deve usar um arquivo SWF (aplicativos com base HTML no esto disponveis).

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

125

<initialWindow> <content>MyApplication.swf</content> </initialWindow>

Voc deve incluir o arquivo no pacote AIR (usando ADT ou sua IDE). Simplesmente fazer referncia do nome no descritor do aplicativo no faz com que o arquivo seja includo no pacote de maneira automtica.

Propriedades da tela principal


Vrios elementos filho do elemento initialWindow controlam a aparncia inicial e o comportamento da tela principal do aplicativo. Enquanto a maioria dessas propriedades so ignoradas em dispositivos nos perfis de TV, voc pode usar o elemento fullScreen:

fullScreen Especifica se o aplicativo deve tomar a tela completa do dispositivo, ou se deve compartilhar a tela

com o cromo normal do sistema operacional.


<fullScreen>true</fullScreen>

Mais tpicos da Ajuda


fullScreen na pgina 201

O elemento visible
O elemento visible um elemento filho do elemento initialWindow. O AIR para TV ignora o elemento visible porque o contedo de seu aplicativo est sempre visvel nos dispositivos do AIR para TV. No entanto, defina o elemento visible como true se seu aplicativo tambm for dirigido aos dispositivos de desktop. Nos dispositivos de desktop, o valor do elemento adota o padro false. Portanto, se voc no incluir o elemento visible, o contedo do aplicativo no ficar visvel nos dispositivos de desktop. Embora voc possa usar a classe NativeWindow do ActionScript para tornar o contedo visvel nos dispositivos de desktop, os perfis de aparelhos de TV no suportam a classe NativeWindow. Se voc tentar usar a classe NativeWindow em um aplicativo a ser executado em um dispositivo do AIR para TV, ocorrer uma falha no carregamento do aplicativo. No importa se voc chamar ou no um mtodo da classe NativeWindow; um aplicativo que utilize a classe no carregado em um dispositivo do AIR para TV.

Perfis disponveis
Se o seu aplicativo s fizer sentido em um aparelho de televiso, ento voc poder impedir sua instalao em outros tipos de dispositivos de computao. Exclua os demais perfis da lista de perfis suportados:
<supportedProfiles>tv extendedTV</supportedProfiles>

Se um aplicativo usar uma extenso nativa, inclua somente o perfil extendedTV na lista de perfis suportados:
<supportedProfiles>extendedTV</supportedProfiles>

Se voc omitir o elemento supportedProfiles , pressupe-se que o aplicativo seja compatvel com todos os perfis. No inclua somente o perfil de tv na lista supportedProfiles. Alguns aparelhos de TV sempre executam o AIR para TV em um modo que corresponde ao perfil extendedTV. Esse comportamento ocorre para que o AIR para TV possa executar aplicativos que utilizam extenses nativas. Se seu elemento supportedProfiles especificar somente tv, ele est declarando que seu contedo incompatvel com o modo extendedTV do AIR para TV. Portanto, alguns dispositivos para TV no carregam um aplicativo que especifica somente o perfil tv. Para uma lista de classes ActionScript disponveis nos perfis tv e extendedTV, consulte Capacidades de perfis diferentes na pgina 223.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

126

Extenses nativas necessrias


Os aplicativos que suportam o perfil extendedTV podem utilizar extenses nativas. Indique todas as extenses nativas que o aplicativo do AIR utiliza na indexao do aplicativo. O seguinte exemplo ilustra a sintaxe para especificar duas extenses nativas necessrias:
<extensions> <extensionID> com.example.extendedFeature</extensionID> <extensionID> com.example.anotherFeature</extensionID> </extensions>

Se uma extenso no estiver listada, o aplicativo no poder us-la. O elemento extensionID tem o mesmo valor que o elemento id no arquivo descritor de extenso. O arquivo descritor da extenso um arquivo XML chamado extension.xml. Ele empacotado no arquivo ANE que voc recebe do fabricante do dispositivo. Se voc listar uma extenso no elementoextensions, mas o dispositivo do AIR para TV no tiver uma extenso instalada, o aplicativo no poder ser executado. A exceo a essa regra ocorre quando o arquivo ANE que voc empacotou com o aplicativo do AIR para TV tem uma verso do componente da extenso. Em caso afirmativo, o aplicativo poder ser executado e usar a verso do componente da extenso. A verso do componente tem o cdigo do ActionScript, mas nenhum cdigo nativo.

cones de aplicativos
Os requisitos relativos aos cones do aplicativo nos aparelhos de televiso dependem de cada aparelho. Por exemplo, o fabricante do aparelho especifica:

cones e tamanhos de cones necessrios. Tipos de arquivos e convenes de nomenclatura necessrias. Como fornecer cones para o seu aplicativo, como se os cones sero empacotados com o seu aplicativo. Se preciso especifidar os cones em um elemento <icon> no arquivo descritor do aplicativo. O comportamento, se o aplicativo no fornecer cones.
Consulte o fabricante do aparelho para obter detalhes.

Mais tpicos da Ajuda


cone na pgina 202 imageNxN na pgina 203

Configuraes ignoradas
Aplicativos em aparelhos de televiso ignoram as configuraes de aplicativo que se aplicam janela nativa e mvel, ou aos recursos do sistema operacional de rea de trabalho. As configuraes ignoradas so:

allowBrowserInvocation aspectRatio autoOrients customUpdateUI fileTypes

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

127

height installFolder maximizable maxSize minimizable minSize programMenuFolder renderMode resizable systemChrome title transparent visible width x y

Compactao de um aplicativo do AIR para TV


Compactao com ADT
Voc pode usar a ferramenta de linha de comando ADT AIR para compactar um aplicativo do AIR para TV. A partir da verso 2.5 do AIR SDK, o ADT suporta o empacotamento para aparelhos de TV. Antes de empacotar, compile todos os seus cdigos ActionScript e MXML. Voc deve tambm ter um certificado de assinatura de cdigo. Voc pode criar um certificado usando o comando certificado ADT. Para uma referncia pormenorizada sobre as opes e os comandos ADT, consulte AIR Developer Tool (ADT) na pgina 149. Criao de um pacote AIR Para criar um pacote AIR, use o comando de pacote ADT:
adt -package -storetype pkcs12 -keystore ../codesign.p12 myApp.air myApp-app.xml myApp.swf icons

Este exemplo considera que:

O caminho da ferramenta ADT est na definio de caminho do shell da linha de comando. (Consulte Variveis
de ambiente do caminho na pgina 281.)

O certificado codesign.p12 est no diretrio pai do qual voc execugta o comando ADT.
Execute o comando a partir de um diretrio que contm os arquivos do aplicativo. Os arquivos do aplicativo no exemplo so myApp-app.xml (o arquivo descritor do aplicativo), myApp.swf, e um diretrio de cones.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

128

Quando voc executa o comando, como demonstrado, a ADT solicitar a senha do armazenamento de chaves. Nem todos os programas de shell exibem os caracteres de senha que voc digita; simplesmente pressione Enter quando estiver digitando. Alternativamente, voc pode usar o parmetro storepass para incluir a senha no comando ADT. Criao de um pacote AIRN Se o aplicativo do AIR para TV usar uma extenso nativa, crie um pacote AIRN em vez de um pacote AIR. Para criar um pacote AIRN, use o comando de pacote ADT, definindo o tipo de destino como airn.
adt -package -storetype pkcs12 -keystore ../codesign.p12 -target airn myApp.airn myApp-app.xml myApp.swf icons -extdir C:\extensions

Este exemplo considera que:

O caminho da ferramenta ADT est na definio de caminho do shell da linha de comando. (Consulte Variveis
de ambiente do caminho na pgina 281.)

O certificado codesign.p12 est no diretrio pai do qual voc execugta o comando ADT. O parmetro -extdir denomina um diretrio que contm os arquivos ANE que o aplicativo usa.
Esses arquivos ANE contm um fragmento somente para ou uma verso de simulador da extenso ActionScript. A verso da extenso que contm o cdigo nativo est instalada no dispositivo AIR para TV. Execute o comando a partir de um diretrio que contm os arquivos do aplicativo. Os arquivos do aplicativo no exemplo so myApp-app.xml (o arquivo descritor do aplicativo), myApp.swf, e um diretrio de cones. Quando voc executa o comando, como demonstrado, a ADT solicitar a senha do armazenamento de chaves. Nem todos os programas de shell exibem os caracteres de senha que voc digita; simplesmente pressione Enter quando estiver digitando. Alternativamente, voc pode usar o parmetro storepass para incluir a senha no comando. Tambm possvel criar um arquivo AIRI para um aplicativo do AIR para TV que use extenses nativas. O arquivo AIRI semelhante ao arquivo AIRN, exceto por no ser assinado. Por exemplo:
adt -prepare myApp.airi myApp.xml myApp.swf icons -extdir C:\extensions

Voc pode, ento, criar um arquivo AIRN a partir de um arquivo AIRI quando estiver pronto para assinar o aplicativo:
adt -package -storetype pkcs12 -keystore ../codesign.p12 -target airn myApp.airn myApp.airi

Mais tpicos da Ajuda


Developing Native Extensions for Adobe AIR

Compactao com o Flash Builder ou Professional Flash


O Flash Professional e o Flash Builder permitem publicar ou exportar os pacotes AIR se ter que executar por si prprio a ADT. O procedimento para criar um pacote AIR para um aplicativo do AIR abordado na documentao para esses programas. Atualmente, no entanto, somente a ADT pode criar pacotes do AIRN, os pacotes de aplicativos do AIR para TV que usam extenses nativas.

Mais tpicos da Ajuda


Empacotamento de aplicativos do AIR com o Flash Builder Publicao para o Adobe AIR

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

129

Depurao de aplicativos AIR para TV


Simulao de dispositivos utilizando ADL
A forma mais rpida e fcil de testar e depurar a maioria dos recursos de aplicativo executar o aplicativo no computador de desenvolvimento usando o utilitrio ADL (Adobe Debug Launcher). O ADL usa o elemento supportedProfiles no descritor do aplicativo para escolher que perfil usar. Especificamente:

Se mais de um perfil estiver listado, o ADL usa o primeiro na lista. Voc tambm pode usar o parmetro -profile da ADL para selecionar um dos outros perfis na lista
supportedProfiles .

(Se voc no incluir um elemento supportedProfiles no descritor do aplicativo, qualquer perfil poder ser
especificado para o argumento -profile.) Por exemplo, use o seguinte comando para iniciar um aplicativo para simular o perfil tv:
adl -profile tv myApp-app.xml

Ao simular o perfil tv ou extendedTV na rea de trabalho com o ADL, o aplicativo executado em um ambiente que mais se aproxima de um dispositivo de destino. Por exemplo:

As APIs do ActionScript que no fazem parte do perfil no argumento -profile no esto disponveis. A ADL permite a entrada de controles de entrada de dispositivo, tais como controles remotos, por meio dos
comandos de menu.

A especificao de tv ou extendedTVno
rea de trabalho.

argumento -profile permite que o ADL simule a classe StageVideo na

A especificao extendedTV no argumento -profile permite que o aplicativo use fragmentos ou simuladores de
extenses nativas empacotados com o arquivo AIRN do aplicativo. No entanto, como ADL executa o aplicativo no ambiente de trabalho, os testes dos aplicativos AIR para TV usando o ADL tem limitaes:

No refletem o desempenho do aplicativo no dispositivo. Executam testes de desempenho no dispositivo de


destino.

No simula as limitaes do objeto StageVideo. Normalmente voc usa a classe StageVideo e no a classe Video
para reproduzir um vdeo ao direcionar dispositivos AIR para TV. A classe StageVideo aproveita os benefcios de desempenho de hardware do dispositivo, mas tem limitaes de exibio. O ADL reproduz o vdeo na rea de trabalho sem essas limitaes. Por isso, teste a reproduo de vdeo no dispositivo de destino.

No se pode simular o cdigo nativo de uma extenso nativa. Voc pode, no entanto, especificar o perfil
extendedTV, que suporta extenses nativas, no argumento -profile da ADL. A ADL permite realizar testes com a verso do fragmento ou simulador somente para da exenso ActionScript includa no pacote ANE. No entanto, de modo geral a extenso correspondente, que instalada no dispositivo, tambm inclui cdigo nativo. Para realizar testes usando a extenso com seu cdigo nativo, execute o aplicativo no dispositivo de destino.

Utilizao de extenses nativas Se o seu aplicativo usar extenses nativas, o comando ADL ter a aparncia semelhante ao seguinte exemplo:
adl -profile extendedTV -extdir C:\extensionDirs myApp-app.xml

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

130

Este exemplo considera que:

O caminho da ferramenta ADL est na definio de caminho do shell da linha de comando. (Consulte Variveis
de ambiente do caminho na pgina 281.)

O diretrio atual contm os arquivos do aplicativo. Esses arquivos incluem os arquivos SWF e o arquivo descritor
do aplicativo, que myApp-app.xml neste exemplo.

O parmetro -extdir nomeia um diretrio que contm um diretrio para cada extenso nativa que o aplicativo
utiliza. Cada um desses diretrios contm o arquivo ANE desempacotado da extenso nativa. Por exemplo:
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

Esses arquivos ANE desempacotados contm somente um fragmento ou uma verso de simulador da extenso ActionScript. A verso da extenso que contm o cdigo nativo est instalada no dispositivo AIR para TV. Entrada de controle O ADL simula as teclas do controle remoto de um aparelho de TV. Voc pode enviar as entradas destes botes para o dispositivo simulado usando o menu exibido quando o ADL ativado atravs de um dos perfis de TV. Tamanho da tela Voc pode testar seu aplicativo em telas de tamanho diferente, definindo o parmetro -screensize do ADL. Voc pode especificar uma string contendo os quatro valores que representam as larguras e alturas de telas normais e maximizadas. Por exemplo:
adl -screensize 1024x728:1024x768 myApp-app.xml

Mais tpicos da Ajuda


AIR Debug Launcher (ADL) na pgina 144 Developing Native Extensions for Adobe AIR

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

131

Instrues de rastreio
Ao executar o aplicativo de TV na rea de trabalho, a sada de rastreio impressa para o depurador ou para a janela de terminal usada para ativar o ADL.

Depurao remota com o Flash Professional


Voc pode usar o Flash Professional para depurar remotamente o seu aplicativo do AIR para TV enquanto ele executado em um dispositivo de destino. No entanto, as etapas para configurar a depurao remota dependem do dispositivo. Por exemplo, o Kit de Desenvolvimento de Hardware Adobe AIR para TV MAX 2010 contm a documentao para as etapas detalhadas desse dispositivo. Independentemente do dispositivo de destino, execute as seguintes etapas para preparar a depurao remota:
1 Na caixa de dilogo Configuraes de Publicao, na guia Flash, selecione Permitir Depurao.

Esta opo faz com que o Flash Professional inclua informaes de depurao em todos os arquivos SWF que cria a partir do seu arquivo FLA.
2 Na guia Assinatura da caixa de dilogo Configuraes do Adobe AIR (Configuraes do Aplicativo e do Programa

de Instalao), selecione a opo para preparar um arquivo intermedirio do AIR (AIRI - AIR Intermediate). Quando voc ainda estiver desenvolvendo seu aplicativo, a utilizao de um arquivo AIRI, que no requer nenhuma assinatura, ser suficiente.
3 Publique o seu aplicativo criando o arquivo AIRI.

As ltimas etapas so instalar e executar o aplicativo no dispositivo de destino. No entanto, essas etapas dependem do dispositivo.

Depurao remota com o Flash Builder


Voc pode usar o Flash Builder para depurar remotamente o seu aplicativo do AIR para TV enquanto ele executado no dispositivo de destino. No entanto, as etapas para configurar a depurao remota dependem do dispositivo. Independentemente do dispositivo de destino, execute as seguintes etapas para preparar a depurao remota:
1 Selecione Projeto > Exportar verso da compilao. Selecione a opo para preparar um arquivo intermedirio do

AIR (AIRI - AIR Intermediate). Quando voc ainda estiver desenvolvendo seu aplicativo, a utilzao de um arquivo AIRI, que no requer nenhuma assinatura, ser suficiente.
2 Publique o seu aplicativo criando o arquivo AIRI. 3 Altere o pacote AIRI do aplicativo para que contenha arquivos SWF que contenham informaes de depurao.

Os arquivos SWF que contm informaes de depurao do aplicativo em um diretrio chamado bin-debug esto localizados no diretrio de projeto do Flash Builder. Substitua os arquivos SWF do pacote AIRI por arquivos SWF do diretrio bin-debug. Em uma mquina de desenvolvimento em Windows, voc pode fazer essa substituio da seguinte maneira:
1 Renomeie o pacote AIRI para que tenha a extenso de nome de arquivo .zip, em vez de .airi. 2 Extraia o contedo do arquivo ZIP. 3 Substitua os arquivos SWF que esto na estrutura do diretrio de extrao pelos arquivos da depurao de bin. 4 Compacte os arquivos novamente no diretrio de extrao. 5 Altere o arquivo compactado para que tenha novamente a extenso de nome de arquivo .airi.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

132

Se voc estiver usando uma mquina de desenvolvimento em Mac, as etapas dessa substituio dependero do dispositivo No entanto, elas geralmente envolvem o seguinte:
1 Instalar o pacote AIRI no dispositivo de destino. 2 Substituir os arquivos SWF do diretrio de instalao do pacote no dispositivo de destino por arquivos SWF do

diretrio bin-debug. Por exemplo, considere o dispositivo includo com o Kit de Desenvolvimento de Hardware MAX 2010 do Adobe AIR para TV . Instale o pacote AIRI como descrito na documentao do kit. Em seguida, faa telnet na linha de comando de sua mquina de desenvolvimento em Mac para acessar o dispositivo de destino. Substitua os arquivos SWF do diretrio de instalao do aplicativo em /opt/adobe/stagecraft/apps/<nome do aplicativo>/ por arquivos SWF do diretrio bin-debug. As etgapas a seguir so relativas depurao remota com o Flash Builoder e o dispositivo includo com o Kit de Desenvolvimento de Hardware MAX 2010 do Adobe AIR para TV.
1 No computador que executa o Flash Builder, o seu computador de desenvolvimento, execute o Conector de

Dispositivos do AIR para TV que vem com o Kit de Desenvolvimento de Hardware MAX 2010. Ele mostra o endereo IP do seu computador de desenvolvimento.
2 No dispositivo do kit de hardware, ative o aplicativo DevMaster, que tambm fornecido com o kit de

desenvolvimento.
3 No aplicativo DevMaster, insira o endereo IP do seu computador de desenvolvimento como demonstrtado no

Conector de Dispositivos do AIR para TV.


4 No aplicativo DevMaster, certifique-se de que a opo Habilitar Depurao Remota esteja selecionada. 5 Encerre o aplicativo DevMaster. 6 No computador de desenvolvimento, selecione Iniciar no Conector do AIR para TV. 7 No dispositivo de kit de hardware, inicied outro aplicativo. Verifique se a informao de rastreio exibida no

Conector do AIR para TV. Se a informao de rastreio no for exibida, o computador de desenvolvimento e o dispositivo do kitg de hardware no estaro conectados. Certifique-se de que a porta do computador de desenvolvimento que usada para a informao de rastreio esteja disponvel. Voc mpode escolher uma porta diferente no Conector do AIR para TV. Certifique-se tambm de que o seu firewall permita o acesso porta escolhida. Em seguida, inicie o depurador no Flash Builder. Faa o seguinte:
1 No Flash Builder, selecione Executar > Configuraes de Depurao. 2 Na configurao de depurao existente, que se destina depurao local, copie o nome do projeto. 3 Na caixa de dilogo Configuraes de Depurao, selecione Aplicativo da Web. Em seguida, selecione o cone

Configurao do Novo Lanamento.


4 Cole o nome do projeto no campo Projeto. 5 Na seo URL Ou Caminho Para o Lanamento, remova a marca de Usar Padro. Insira tambm about:blank no

campo de texto.
6 Selecione Aplicar para salvar as alteraes. 7 Selecione Depurar para iniciar o depurador do Flash Builder. 8 Abra o seu aplicativo no dispositivo do kit de hardware.

Agora voc pode usar o depurador do Flash Builder para, por exemplo, definir pontos de quebra e examinar variveis.

ltima atualizao em 13/10/2011

133

Captulo 9: Como utilizar extenses nativas para Adobe AIR


As extenses nativas para Adobe AIR fornecem APIs do ActionScript que permitem o acesso funcionalidade especfica do dispositivo programada em cdigo nativo. Os desenvolvedores de extenses nativas trabalham com os fabricantes de dispositivos e s vezes so desenvolvedores terceirizados. Caso voc esteja desenvolvendo uma extenso nativa, consulte Developing Native Extensions for Adobe AIR. Uma extenso nativa uma combinao de:

Classes ActionScript. Cdigo nativo.


No entanto, como um desenvolvedor de aplicativos do AIR que usa uma extenso nativa, voc trabalha somente com classes ActionScript. As extenses nativas so teis nas seguintes situaes:

A implementao do cdigo nativo fornece o acesso aos recursos especficos da plataforma. Esses recursos
especficos da plataforma no esto disponveis nas classes ActionScript embutidas, e no possvel os implementar nas classes ActionScript especficas do aplicativo. A implementao do cdigo nativo pode fornecer essa funcionalidade porque tem acesso ao hardware e ao software especficos do dispositivo.

Uma implementao do cdigo nativo s vezes pode ser mais rpida do que uma implementao que utilize
somente o ActionScript.

A implementao do cdigo nativo pode fornecer ao ActionScript o acesso ao cdigo nativo legado.
Alguns exemplos de extenses nativas esto no Centro do Desenvolvedor da Adobe. Por exemplo, uma extenso nativa fornece aos aplicativos AIR o acesso ao recurso de vibrao do Android. Consulte Native extensions for Adobe AIR.

Arquivos de Extenso Nativa do AIR (ANE)


Os desenvolvedores de extenses nativas fazem a compactao de uma extenso nativa para um arquivo ANE. Um arquivo ANE um arquivo de arquivo morto que contm as bibliotecas e recursos necessrios para a extenso nativa. Observe que, em alguns dispositivos, o arquivo ANE contm a biblioteca do cdigo nativo que a extenso nativa utiliza. Mas para outros dispositivos a biblioteca do cdigo nativo instalada no dispositivo. Em alguns casos, a extenso nativa no tem nenhum cdigo nativo para um dispositivo em particular; ele implementado somente com o ActionScript. Como um desenvolvedor de aplicativos do AIR, voc utiliza o arquivo ANE da seguinte maneira:

Inclua o arquivo ANE no caminho da biblioteca do aplicativo da mesma maneira que voc incluiu um arquivo SWC
no caminho da biblioteca. Esse procedimento permite que o aplicativo busque referncias das extenses das classes ActionScript.

Empacote o arquivo ANE com o aplicativo do AIR.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Como utilizar extenses nativas para Adobe AIR

134

Extenses nativas em contraste com a classe ActionScript NativeProcess


O ActionScript 3.0 fornece uma classe NativeProcess. Essa classe permite que o aplicativo do AIR execute processos nativos no sistema operacional host. Essa capacidade similar a extenses nativas, que fornecem acesso a recursos e bibliotecas especficas de plataforma. Ao decidir utilizar a classe NativeProcess em vez de utilizar uma extenso nativa, considere o seguinte:

Somente o perfil extendedDesktop do AIR suporta a classe NativeProcess. Portanto, para aplicativos com os perfis
extendedTV, mobileDevice, e extendedMobileDevicedo AIR, as extenses nativas so a nica escolha.

Os desenvolvedores de extenses nativas geralmente fornecem implementaes nativas para vrias plataformas,
mas a API do ActionScript que eles fornecem so geralmente as mesmas plataformas cruzadas. Ao usar a classe NativeProcess, o cdigo do ActionScript para iniciar o processo nativo pode variar entre as diferentes plataformas.

A classe NativeProcess inicia um processo separado, enquanto que a extenso nativa executada no mesmo
processo do aplicativo do AIR. Portanto, se voc est preocupado com o bloqueio de cdigos, o uso da classe NativeProcess mais seguro. No entanto, o processo separado significa que provavelmente voc tem uma manipulao de comunicao de interprocessos para implementar.

Extenses nativas em contraste com as bibliotecas da classe ActionScript (arquivos SWC)


Um arquivo SWC file uma biblioteca da classe ActionScript em um formato de arquivo morto. O arquivo SWC contm um arquivo SWF e outros arquivos de recurso. O arquivo SWC uma maneira conveniente de compartilhar classes ActionScript em vez de compartilhar arquivos ActionScript de recurso e de cdigo individuais. Um pacote de extenso nativa um arquivo ANE. Assim como um arquivo SWC, um arquivo ANE tambm uma biblioteca da classe ActionScript, que contm um arquivo SWF e outros arquivos de recurso em formato de arquivo morto. No entanto, a diferena mais importante entre um arquivo ANE file e um arquivo SWC que somente um arquivo ANE pode obter uma biblioteca de cdigo nativa.

Mais tpicos da Ajuda


Sobre arquivos SWC

Dispositivos suportados
A partir do AIR 3, possvel utilizar extenses nativas em aplicativos para os seguintes dispositivos:

Dispositivos do Android , a partir do Android 2.2 Dispositivos do iOS, a partir do iOS 4.0 Blackberry PlayBook Dispositivos pessoais do Windows que suportam o AIR 3.0 Dispositivos pessoais do Mac OS X que suportam o AIR 3.0 Dispositivos do AIR para TV , a partir do AIR 2.5 para TV

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Como utilizar extenses nativas para Adobe AIR

135

Geralmente, a mesma extenso nativa direcionada para mltiplas plataformas. O arquivo ANE da extenso contm bibliotecas do ActionScript e nativas para cada plataforma suportada. Geralmente, as bibliotecas do ActionScript possuem as mesmas interfaces pblicas para todas as plataformas. As bibliotecas nativas so basicamente diferentes. s vezes, uma extenso nativa compatvel com uma plataforma padro. A implementao da plataforma padro tem somente o cdigo do ActionScript, mas nenhum cdigo nativo. Se voc empacotar um aplicativo para uma plataforma que a extenso no suporte especificamente, o aplicativo utilizar a implementao padro ao ser executado. Por exemplo, considere uma extenso que fornece um recurso que se aplica somente a dispositivos mveis. A extenso tambm poder fornecer uma implementao padro que um aplicativo de desktop poder utilizar para simular o recurso.

Perfis de dispositivo suportados


Os seguintes perfis do AIR suportam extenses nativas:

extendedTV, a partir do AIR 2.5 extendedDesktop, a partir do AIR 3.0 mobileDevice, a partir do AIR 3.0 extendedMobileDevice, a partir do AIR 3.0

Mais tpicos da Ajuda


Suporte ao perfil do AIR

Lista de tarefas que utilizam uma extenso nativa


Para usar uma extenso nativa no aplicativo, realize as seguintes tarefas:
1 Indique a extenso no arquivo de indexao do aplicativo. 2 Inclua o arquivo ANE no caminho da biblioteca do aplicativo. 3 Empacotar o aplicativo.

Indicao da extenso no arquivo de indexao do aplicativo


Todos os aplicativos do AIR possuem um arquivo de indexao do aplicativo Quando um aplicativo utiliza uma extenso nativa, o arquivo de indexao do aplicativo inclui um elemento <extensions>. Por exemplo:
<extensions> <extensionID>com.example.Extension1</extensionID> <extensionID>com.example.Extension2<extensionID> </extensions>

O elemento extensionID tem o mesmo valor que o elemento id no arquivo descritor de extenso. O arquivo descritor da extenso um arquivo XML chamado extension.xml. Ele empacotado em um arquivo ANE. possvel utilizar uma ferramenta de extrao de arquivo morto para visualizar o arquivo extension.xml.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Como utilizar extenses nativas para Adobe AIR

136

Incluso do arquivo ANE no caminho da biblioteca do aplicativo


Para compilar um aplicativo que utilize uma extenso nativa, inclua o arquivo ANE no caminho da biblioteca.

Uso do arquivo ANE com o Flash Builder


Se o aplicativo utilizar uma extenso nativa, inclua o arquivo ANE para a extenso nativa no caminho da biblioteca. Em seguida, voc pode usar o Flash Builder para compilar o seu cdigo ActionScript. Faa o seguinte:
1 Selecione Projeto > Propriedades no seu projeto do Flash Builder. 2 Selecione Caminho de Criao do ActionScript na caixa de dilogo Propriedades. 3 Na guia Caminho da Biblioteca, selecione Adicionar SWC.... 4 Select *.* na caixa suspensa Arquivos do Tipo. 5 Navegue para o arquivo ANE e selecione OK.

O arquivo ANE agora aparece na guia Caminho da Biblioteca, na caixa de dilogo Propriedades.
6 Expanda a entrada do arquivo ANE. Clique duas vezes em Tipo de Link para abrir a caixa de dilogo Opes de

Itens de Caminho da Biblioteca.


7 Na caixa de dilogo Opes do Item do Caminho da Biblioteca, altere o tipo de link para Externo.

Agora voc pode compilar o seu aplicativo usando, por exemplo, Projeto > Criar Projeto.

Uso do arquivo ANE com o Flash Professional


Se o aplicativo utilizar uma extenso nativa, inclua o arquivo ANE para a extenso nativa no caminho da biblioteca. Em seguida, voc poder usar o Flash Professional CS5 para compilar o seu cdigo ActionScript. Faa o seguinte:
1 Altere a extenso do nome do arquivo ANE de .ane para .swc. Essa etapa necessria para que o Flash Professional

possa localizar o arquivo.


2 Selecione Arquivo > Configuraes do ActionScript no seu arquivo FLA. 3 Selecione a guia Caminho da Biblioteca na caixa de dilogo Configuraes Avanadas do ActionScript 3.0. 4 Selecione o boto Procurar arquivo SWC. 5 Navegue para o arquivo SWC e selecione Abrir.

O arquivo SWC agora aparece na guia Caminho da Biblioteca na caixa de dilogo Configuraes Avanadas do ActionScript 3.0.
6 Com o arquivo SWC selecionado, selecione o boto Selecionar Opes de Ligao com uma Biblioteca. 7 Na caixa de dilogo Opes do Item do Caminho da Biblioteca, altere o tipo de link para Externo.

Compactando um aplicativo que utiliza extenses nativas


Use a ADT para empacotar um aplicativo que utilize extenses nativas. No possvel empacotar o aplicativo usando o Flash Professional ou o Flash Builder.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Como utilizar extenses nativas para Adobe AIR

137

Detalhes sobre o uso de ADT podem ser encontrados em Ferramenta do Desenvolvedor do AIR (ADT). Por exemplo, o seguinte comando de ADT cria um arquivo DMG (um arquivo de instalador nativo para o Mac OS X) para um aplicativo que utiliza extenses nativas:
adt -package -storetype pkcs12 -keystore myCert.pfx -target native myApp.dmg application.xml index.html resources -extdir extensionsDir

O seguinte comando cria um pacote APK para um dispositivo do Android:


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

O seguinte comando cria um pacote iOS para um aplicativo 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

O seguinte comando cria um pacote AIRN, que o pacote para aplicativos do AIR para TV que utiliza extenses:
adt -package -storetype pkcs12 -keystore ../codesign.p12 -target airn myApp.airn myApp-app.xml myApp.swf icons -extdir extensionsDir

Observe o seguinte:

Utilize um tipo de pacote de instalador nativo. Especifique o diretrio da extenso. Certifique-se de que o arquivo ANE suporte o dispositivo de destino do aplicativo.

Utilize um tipo de pacote de instalador nativo.


O pacote do aplicativo dever ser um instalador nativo. No possvel criar um pacote do AIR de plataformas cruzadas (um pacote .air) para um aplicativo que utilize uma extenso nativa, j que as extenses nativas geralmente contm o cdigo nativo. No entanto, uma extenso nativa geralmente suporta mltiplas plataformas nativas com as mesmas APIs do ActionScript. Nesses casos, possvel utilizar o mesmo arquivo ANE em diferentes pacotes do instalador nativo. A seguinte tabela resume o valor de uso para a opo -target do comando ADT:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Como utilizar extenses nativas para Adobe AIR

138

Plataforma de destino do aplicativo Dispositivos pessoais do Mac OS X ou Windows

-target -target nativo -target conjunto

Dispositivos do AIR para TV Android

-target airn -target apk ou outros destinos do pacote do Android.

iOS

-target ipa-ad-hoc ou outros destinos do pacote do iOS

Especifique o diretrio de extenso


Utilize a opo do ADT -extdir para reportar ao ADT o diretrio que contm as extenses nativas (arquivos ANE). Para obter detalhes sobre esta opo, consulte Opes de caminho e arquivo na pgina 164.

Certifique-se de que o arquivo ANE suporte o dispositivo de destino do aplicativo


Ao fornecer um arquivo ANE, o desenvolvedor da extenso nativa informa quais plataformas a extenso suporta. Tambm possvel usar uma ferramenta de extrao de arquivo morto para visualizar os contedos do arquivo ANE. Os arquivos extrados incluem um diretrio para cada plataforma suportada. Saber quais plataformas a extenso suporta importante ao compactar o aplicativo que utiliza o arquivo ANE. Considere as seguintes regras:

Para criar um pacote de aplicativo do Android, o arquivo ANE dever incluir a plataforma Android-ARM.
Alternativamente, o arquivo ANE dever incluir a plataforma padro e pelo menos uma outra plataforma.

Para criar um pacote de aplicativo do iOS, o arquivo ANE dever incluir a plataforma iPhone-ARM.
Alternativamente, o arquivo ANE dever incluir a plataforma padro e pelo menos uma outra plataforma.

Para criar um pacote de aplicativo do Mac OS X, o arquivo ANE dever incluir a plataforma MacOS-x86 .
Alternativamente, o arquivo ANE dever incluir a plataforma padro e pelo menos uma outra plataforma.

Para criar um pacote de aplicativo do Windows, o arquivo ANE dever incluir a plataforma Windows-x86.
Alternativamente, o arquivo ANE dever incluir a plataforma padro e pelo menos uma outra plataforma. Nota: Os dispositivos do AIR para TV utilizam extenses de conjunto de dispositivos. As bibliotecas nativas da extenso esto instaladas no dispositivo. O AIR para TV utiliza aquelas bibliotecas quando o aplicativo executado no dispositivo. No entanto, o arquivo ANE de uma extenso do AIR para TV inclui a plataforma padroe uma implementao somente do ActionScript. A criao de um aplicativo do AIR para TV (arquivo AIRN) o nico caso em que o arquivo ANE poder ter somente a plataforma padro.

ltima atualizao em 13/10/2011

139

Captulo 10: Compiladores ActionScript


Antes que o cdigo MXML e ActionScript possa ser includo em um aplicativo do AIR, ele deve ser compilado. Se voc usar um IDE (ambiente de desenvolvimento integrado), como Adobe Flash Builder ou Adobe Flash Professional, o IDE manipula a compilao nos bastidores. No entanto, voc tambm pode invocar os compiladores ActionScript na linha de comando para criar arquivos SWF quando no estiver usando um IDE ou quando usar um script de construo.

Sobre as ferramentas de linha de comando do AIR no Flex SDK


Cada uma das ferramentas de linha de comando que voc usar para criar um aplicativo Adobe AIR chama a ferramenta correspondente usada para criar aplicativos Flex:

amxmlc chama mxmlc para compilar classes de aplicativos acompc chama compc para compilar bibliotecas e classes de componentes aasdoc chama asdoc para gerar arquivos de documentao a partir dos comentrios do cdigo-fonte
A nica diferena entre as verses Flex e AIR os utilitrios que as verses AIR carregam as opes de configurao do arquivo air-config.xml, em vez do arquivo flex-config.xml. As ferramentas Flex SDK e suas opes de linha de comando so descritas completamente em Como Criar e Desenvolver Aplicativos Flex, na biblioteca de documentao do Flex. As ferramentas Flex SDK so descritas aqui em nvel bsico para ajud-lo a iniciar e para apontar as diferenas entre criar aplicativos Flex e aplicativos AIR.

Mais tpicos da Ajuda


Criando seu primeiro aplicativo desktop do AIR com o Flex SDK na pgina 36

Configurao do compilador
Geralmente voc deve especificar as opes de compilao tanto na linha de comando quanto com um ou mais arquivos de configurao. O arquivo de configurao GlobalFlex SDK contm valores padro que so usados sempre que os compiladores esto executando. Voc pode editar este arquivo para que se adapte ao seu ambiente de desenvolvimento. Existem dois arquivos de configurao global do Flex, situados no diretrio da estrutura da sua instalao do Flex SDK. O arquivo air-config.xml usado ao executar o compilador amxmlc. Este arquivo configura o compilador do AIR incluindo bibliotecas do AIR. O arquivo flex-config.xml usado ao executar mxmlc. Os valores de configurao padro so adequados para descobrir como o Flex e o AIR funcionam, mas quando voc embarcar em um projeto de larga escala examine as opes disponveis mais atentamente. Voc pode fornecer valores especficos ao projeto para as opes do compilador m um arquivo de configurao local que tem precedncia sobre os valores globais para um determinado projeto. Para obter uma lista completa de opes de compilao e uma sintaxe dos arquivos de configurao, consulte Configurao do Flex SDK, em Criao e Desenvolvimento de Aplicativos Flex ou na biblioteca de documentao do Flex.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Compiladores ActionScript

140

Nota: Nenhuma opo de compilao usada para aplicativos AIR, mas voc deve consultar as biblioteca do AIR ao compilar um aplicativo do AIR. Geralmente, estas bibliotecas referem-se a um arquivo de configurao em nvel de projeto, em um arquivo para uma ferramenta de criao como Ant ou diretamente na linha de comando.

Compilao de arquivos de origem do MXML e ActionScript para AIR


Voc pode compilar os ativos do Adobe ActionScript 3.0 e MXML do aplicativo do AIR com o compilador MXML de linha de comando (amxmlc). (Voc no precisa compilar os aplicativos baseados em HTML. Para compilar um SWF no Flash Professional, basta publicar o filme em um arquivo SWF.) O padro bsico de linha de comando para usar amxmlc :
amxmlc [compiler options] -- MyAIRApp.mxml

em que [compiler options] especifica as opes de linha de comando usadas para compilar o aplicativo do AIR. O comando amxmlc invoca o compilador mxmlc padro do Flex com um parmetro adicional, +configname=air. Esse parmetro instrui o compilador a usar o arquivo air-config.xml em vez do arquivo flex-config.xml. Usar amxmlc , de outro modo, idntico a usar mxmlc. O compilador carrega o arquivo de configurao air-config.xml especificando as bibliotecas do AIR e do Flex normalmente necessrias para compilar um aplicativo do AIR. Voc tambm pode usar um arquivo de configurao de nvel de projeto local para substituir ou adicionar opes adicionais configurao global. Tipicamente, a maneira mais fcil de criar um arquivo de configurao local editar uma cpia da verso global. Voc pode carregar o arquivo local com a opo -load-config: -load-config=project-config.xml Substitui opes globais. -load-config+=project-config.xml Adiciona valores adicionais quelas opes globais que levam mais de um valor, como a opo -library-path. Opes globais que levam apenas um nico valor so substitudas. Se voc usar uma conveno de nomenclatura especial para o arquivo de configurao local, o compilador amxmlc carrega o arquivo local automaticamente. Por exemplo, se o arquivo MXML principal RunningMan.mxml, nomeie o arquivo de configurao local: RunningMan-config.xml. Agora, para compilar o aplicativo, voc apenas precisa digitar:
amxmlc RunningMan.mxml RunningMan-config.xml carregado automaticamente, uma vez que seu nome de arquivo corresponde quele do

arquivo MXML compilado. exemplos de amxmlc Os seguintes exemplos demonstram o uso do compilador amxmlc. (Apenas os ativos do ActionScript e MXML do seu aplicativo devem ser compilados.) Compilar um arquivo MXML do AIR:
amxmlc myApp.mxml

Compilar e definir o nome de sada:


amxmlc output anApp.swf -- myApp.mxml

Compilar um arquivo ActionScript do AIR:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Compiladores ActionScript

141

amxmlc myApp.as

Especificar um arquivo de configurao do compilador:


amxmlc load-config config.xml -- myApp.mxml

Adicionar opes adicionais de outro arquivo de configurao:


amxmlc load-config+=moreConfig.xml -- myApp.mxml

Adicionar bibliotecas na linha de comando (alm das bibliotecas j no arquivo de configurao):


amxmlc library-path+=/libs/libOne.swc,/libs/libTwo.swc -- myApp.mxml

Compilar um arquivo MXML do AIR sem usar um arquivo de configurao (Win):


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

Compilar um arquivo MXLM do AIR sem usar um arquivo de configurao (Mac OS X ou 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

Compilar um arquivo MXML do AIR para usar uma biblioteca compartilhada de tempo de execuo:
amxmlc -external-library-path+=../lib/myLib.swc -runtime-shared-libraries=myrsl.swf -myApp.mxml

Compilao de Java (com o caminho de classe definido para incluir mxmlc.jar):


java flex2.tools.Compiler +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml

A opo flexlib identifica a localizao do seu diretrio de estruturas do SDK do Flex, permitindo que o compilador localize o arquivo flex_config.xml. Compilao de Java (sem o caminho de classe definido):
java -jar [Flex SDK 2]/lib/mxmlc.jar +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml

Para invocar o compilador usando o Apach Ant (o exemplo usa uma tarefa Java para executar mxmlc.jar):
<property name="SDK_HOME" value="C:/Flex3SDK"/> <property name="MAIN_SOURCE_FILE" value="src/myApp.mxml"/> <property name="DEBUG" value="true"/> <target name="compile"> <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}"/> </java> </target>

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Compiladores ActionScript

142

Compilao de um componente ou de uma biblioteca de cdigos do AIR (Flex)


Use o compilador de componentes, acompc, para compilar bibliotecas do AIR e componentes independentes. O compilador de componentes acompc se comporta como o compilador amxmlc, com as seguintes excees:

Voc deve especificar que classes dentro da base do cdigo para incluir na biblioteca ou no componente. O acompc no procura um arquivo de configurao local automaticamente. Para usar um arquivo de configurao
de projeto, voc deve usar a opo load-config. O comando acompc invoca o compilador de componentes compc padro do Flex, mas carrega suas opes de configurao do arquivo air-config.xml em vez do arquivo flex-config.xml.

Arquivo de configurao do compilador de componentes


Use um arquivo de configurao local para evitar digitar (e talvez digitar incorretamente) o caminho de origem e os nomes de classes na linha de comando. Adicione a opo -load-config linha de comando do acompc para carregar o arquivo de configurao local. O exemplo a seguir ilustra uma configurao para criar uma biblioteca com duas classes, ParticleManager e Particle, ambas no pacote: com.adobe.samples.particles. Os arquivos de classe so localizados na pasta source/com/adobe/samples/particles.
<flex-config> <compiler> <source-path> <path-element>source</path-element> </source-path> </compiler> <include-classes> <class>com.adobe.samples.particles.ParticleManager</class> <class>com.adobe.samples.particles.Particle</class> </include-classes> </flex-config>

Para compilar a biblioteca usando o arquivo de configurao, chamado ParticleLib-config.xml, digite:


acompc -load-config ParticleLib-config.xml -output ParticleLib.swc

Para executar o mesmo comando inteiramente na linha de comando, digite:


acompc -source-path source -include-classes com.adobe.samples.particles.Particle com.adobe.samples.particles.ParticleManager -output ParticleLib.swc

(Digite o comando inteiro em uma linha ou use o caractere de continuao de linha para seu shell de comando.)

Exemplos de acompc
Esses exemplos supem que voc est usando um arquivo de configurao chamado myLib-config.xml. Compilar um componente ou uma biblioteca do AIR:
acompc -load-config myLib-config.xml -output lib/myLib.swc

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Compiladores ActionScript

143

Compilar uma biblioteca compartilhada de tempo de execuo:


acompc -load-config myLib-config.xml -directory -output lib

(Observe, a pasta lib deve existir e estar vazia antes de executar o comando.)

ltima atualizao em 13/10/2011

144

Captulo 11: AIR Debug Launcher (ADL)


Use o ADL (AIR Debug Launcher) para executar aplicativos com base em SWF e HTML durante o desenvolvimento. Usando o ADL, voc pode executar um aplicativo sem compact-lo e instal-lo primeiro. Por padro, o ADL usa um tempo de execuo includo com o SDK, o que significa que voc no precisa instalar o tempo de execuo separadamente para usar o ADL. O ADL imprime instrues de rastreamento e erros de tempo de execuo para a sada padro, mas no suporta pontos de interrupo ou outros recursos de depurao. Voc pode usar o Flash Debugger (ou um ambiente de desenvolvimento integrado como o Flash Builder ou o Aptana Studio) para os problemas complexos de depurao. O AIR suporta depurao direta, e assim voc no precisa da verso de depurao do tempo de execuo (como precisaria com o Adobe Flash Player). Para proceder depurao na linha de comando, voc pode usar o Flash Debugger e o AIR Debug Launcher (ADL). O Flash Debugger distribudo no diretrio Flex SDK. As verses nativas, tais como fdb.exe no Windows, esto no subdiretrio bin. A verso do Java est no subdiretrio lib. O AIR Debug Launcher, adl.exe, est no diretrio bin da sua instalao do SDK. (No existe uma verso separada do Java). Nota: Voc no pode iniciar um aplicativo do AIR diretamente com fdb, porque fdb tenta lan-lo com o Flash Player. Em vez disso, deixe o aplicativo do AIR se conectar a uma sesso fdb em execuo.

Uso do ADL
Para executar um aplicativo com o ADL, use o seguinte padro:
adl application.xml

Em que application.xml o arquivo do descritor do aplicativo para o aplicativo. A sintaxe completa para o ADL :
adl [-runtime runtime-directory] [-pubid publisher-id] [-nodebug] [-atlogin] [-profile profileName] [-screensize value] [-extdir extension-directory] application.xml [root-directory] [-- arguments]

(Itens entre colchetes, [], so opcionais.) -runtime runtime-directory Especifica o diretrio que contm o tempo de execuo a ser usado. Se no especificado, o diretrio do tempo de execuo no mesmo SDK do programa ADL usado. Se voc mover o ADL para fora da pasta SDK, especifique o diretrio de tempo de execuo. No Windows e no Linux, especifique o diretrio que contm o diretrio do Adobe AIR . No Mac OS X, especifique o diretrio que contm a estrutura do Adobe AIR.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Debug Launcher (ADL)

145

-pubid publisher-id Atribui o valor especificado como o ID do editor do aplicativo do AIR para essa execuo. Especificar um ID de editor temporria permite que voc teste recursos de um aplicativo do AIR, como comunicao por uma conexo local, que usa o ID do editor para ajudar a identificar unicamente um aplicativo. A partir do AIR 1.5.3, voc tambm pode especificar o ID do editor no arquivo descritor do aplicativo (e no deve utilizar este parmetro). Nota: A partir do AIR 1.5.3, o ID do editor no mais automaticamente calculado e atribudo a um aplicativo do AIR. Voc pode especificar um ID de editor durante a criao de uma atualizao para um aplicativo do AIR, mas aplicativos novos no necessitam disso e voc no deve especificar um ID de editor. -nodebug Desativa o suporte para depurao. Se usado, o processo de aplicativo no poder se conectar ao depurador do Flash e as caixas de dilogo para excees no manipuladas so suprimidas. (No entanto, instrues de rastreamento ainda sero impressas na janela do console.) Desativar a depurao permite que o seu aplicativo seja executado um pouco mais rapidamente e tambm emula mais rigorosamente o modo de execuo de um aplicativo instalado. -atlogin Simula a execuo do aplicativo no login. Esta flag permite testar a lgica do aplicativo executada somente quando o aplicativo est configurado para iniciar no login do usurio. Quando -atlogin utilizado, a propriedade reason do objeto InvokeEvent enviado para o aplicativo ser login, em vez de standard (a no ser que o aplicativo j esteja sendo executado). -profile profileName O ADL depura o aplicativo utilizando o perfil especificado. O profileName pode ser um dos seguintes valores:

desktop extendedDesktop mobileDevice tv extendedTV


Se o descritor do aplicativo inclui um elemento supportedProfiles, o perfil que voc especificar com -profile deve ser um membro da lista de suporte. Se o indicador -profile no for usado, o primeiro perfil no descritor do aplicativo usado como o perfil ativo. Se o descritor do aplicativo no inclui o elemento supportedProfiles e voc no usar o indicador -profile, o perfil desktop usado. Para obter mais informaes, consulte os perfis supportedProfiles na pgina 214 e Perfis de dispositivo na pgina 221. Valor -screensize O tamanho da tela simulada a ser usada quando aplicativos estiverem rodando no perfil MobileDevice no desktop. Especifique o tamanho da tela como um tipo predefinido ou conforme as dimenses em pixels da largura e altura normal, alm da largura e da altura da tela cheia. Para especificar o valor por tipo, use um dos seguintes tipos de tela predefinidos:
Tipo de tela 480 720 1080 Droid FWQVGA FWVGA Largura x altura normal 720 x 480 1280x 720 1920 x 1080 480 x 816 240 x 432 480x 854 Largura x altura tela cheia 720 x 480 1280x 720 1920 x 1080 480x 854 240 x 432 480x 854

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Debug Launcher (ADL)

146

Tipo de tela HVGA iPad iPhone iPhoneRetina iPod NexusOne QVGA SamsungGalaxyS SamsungGalaxyTab WQVGA WVGA

Largura x altura normal 320 x 480 768 x 1004 320 x 460 640x 920 320 x 460 480x 762 240 x 320 480x 762 600x 986 240 x 400 480 x 800

Largura x altura tela cheia 320 x 480 768 x 1024 320 x 480 640x 960 320 x 480 480 x 800 240 x 320 480 x 800 600 x 1024 240 x 400 480 x 800

Para especificar as dimenses de pixels da tela diretamente, utilize o seguinte formato:


widthXheight:fullscreenWidthXfullscreenHeight

Por exemplo, a tela NexusOne pode ser especificada com:


-screensize 480x762:480x800

-extdir extension-directory O diretrio no qual o tempo de execuo deve buscar extenses nativas. O diretrio contm um subdiretrio para cada extenso nativa que o aplicativo utilizar. Cada um desses subdiretrios contm o arquivo ANE desempacotado de uma extenso. Por exemplo:
C:\extensionDirs\ extension1.ane\ META-INF\ ANE\ Android-ARM\ library.swf extension1.jar extension.xml signatures.xml catalog.xml library.swf mimetype extension2.ane\ META-INF\ ANE\ Android-ARM\ library.swf extension2.jar extension.xml signatures.xml catalog.xml library.swf mimetype

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Debug Launcher (ADL)

147

Ao utilizar o parmetro -extdir, considere o seguinte:

O comando ADL exige que cada um dos diretrios especificados tenha a extenso do nome de arquivo .ane. No
entanto, o trecho do nome de arquivo antes do sufixo .ane pode ser qualquer nome de arquivo vlido. Eleno precisa corresponder ao valor do elemento extensionID do arquivo de indexao do aplicativo.

possvel especificar o parmetro -extdir mais de uma vez. O uso do parmetro-extdir diferente para a ferramenta ADT e a ferramenta ADL. Na ADT, o parmetro
especifica um diretrio que contenha arquivos ANE.

Tambm possvel utilizar a varivel de extensoAIR_EXTENSION_PATH para especificar os diretrios de extenso.


Consulte Variveis de ambiente ADT na pgina 170. application.xml O arquivo do descritor do aplicativo. Consulte Arquivos descritores do aplicativo do AIR na pgina 186. O descritor do aplicativo o nico parmetro exigido pelo ADL e, na maioria dos casos, o nico parmetro necessrio. root-directory Especifica o diretrio raiz do aplicativo a ser executado. Se no especificado, o diretrio que contm o arquivo do descritor do aplicativo ser usado. -- arguments Qualquer sequncia de caracteres que aparea aps "--" transmitida ao aplicativo como argumentos de linha de comando. Nota: Quando voc inicia um aplicativo do AIR j em execuo, uma nova instncia desse aplicativo no iniciada. Em vez disso, um evento invoke despachado para a instncia em execuo.

Exemplos de ADL
Execute um aplicativo no diretrio atual:
adl myApp-app.xml

Execute um aplicativo em um subdiretrio do diretrio atual:


adl source/myApp-app.xml release

Execute um aplicativo e transmita dois argumentos de linha de comando, "tick" e "tock":


adl myApp-app.xml -- tick tock

Execute um aplicativo usando um tempo de execuo especfico:


adl -runtime /AIRSDK/runtime myApp-app.xml

Execute um aplicativo sem o suporte de depurao:


adl -nodebug myApp-app.xml

Execute um aplicativo no perfil do dispositivo mvel e simular o tamanho da tela do Nexus One:
adl -profile mobileDevice -screensize NexusOne myMobileApp-app.xml

Execute um aplicativo usando Apache Ant para executar o aplicativo (os caminhos mostrados no exemplo so para Windows):

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Debug Launcher (ADL)

148

<property <property <property <property

name="SDK_HOME" value="C:/AIRSDK"/> name="ADL" value="${SDK_HOME}/bin/adl.exe"/> name="APP_ROOT" value="c:/dev/MyApp/bin-debug"/> name="APP_DESCRIPTOR" value="${APP_ROOT}/myApp-app.xml"/>

<target name="test"> <exec executable="${ADL}"> <arg value="${APP_DESCRIPTOR}"/> <arg value="${APP_ROOT}"/> </exec> </target>

Cdigos de erro e sada do ADL


A tabela a seguir descreve os cdigos de sada impressos pelo ADL:
Cdigo de sada 0 1 2 3 4 Descrio

Inicializao bem-sucedida. O ADL encerrado aps o aplicativo do AIR ser encerrado. Invocao bem-sucedida de um aplicativo do AIR j em execuo. O ADL encerrado imediatamente. Erro de uso. Os argumentos fornecidos ao ADL esto incorretos. O tempo de execuo no pode ser encontrado. O tempo de execuo no pode ser iniciado. Muitas vezes, isso ocorre porque a verso especificada no aplicativo no corresponde verso do tempo de execuo. Ocorreu um erro de causa desconhecida. O arquivo do descritor do aplicativo no pode ser encontrado. O contedo do descritor do aplicativo no vlido. Esse erro normalmente indica que o XML no bem formado. O principal arquivo de contedo do aplicativo (especificado no elemento <content> do arquivo do descritor do aplicativo) no pode ser encontrado. O principal arquivo de contedo do aplicativo no um arquivo SWF ou HTML vlido. Este aplicativo no possui suporte ao perfil especificado com a opo -profile. O argumento -screensize no compatvel no perfil atual.

5 6 7

9 10 11

ltima atualizao em 13/10/2011

149

Captulo 12: AIR Developer Tool (ADT)


O AIR Developer Tool (ADT) uma ferramenta de linha de comando de vrias utilidades para desenvolver aplicativos do AIR. Voc pode usar ADT para realizar as seguintes tarefas:

Compactar um aplicativo do AIR como um arquivo de instalao .air Configure um aplicativo do AIR como um instalador nativo - por exemplo, como um arquivo de instalao .exe no
Windows, .ipa no iOS ou .apk no Android

Empacote uma extenso nativa como um arquivo de Extenso Nativa do AIR (ANE) Assinar um aplicativo do AIR com um certificado digital Mudar (migrar) a assinatura digital utilizada para atualizaes de aplicativos Criar um certificado de assinatura do cdigo digital autoassinado Instalar, lanar e desinstalar remotamente um aplicativo em um dispositivo mvel Instalar e desinstalar remotamente o tempo de execuo do AIR em um dispositivo mvel
ADT um programa Java includo no AIR SDK. Voc deve ter o Java 1.5 ou superior para utiliz-lo. O SDK inclui um arquivo de script para chamar o ADT. Para usar este script, a localizao do programa Java deve ser includo na varivel de ambiente do caminho. Se o diretrio bin do AIR SDK tambm estiver listado na varivel de ambiente do caminho, voc pode digitar adt na linha de comando, com os argumentos adequados, para chamar o ADT. (Se voc no sabe como definir sua varivel de ambiente do caminho, consulte a documentao do seu sistema operacional. Como uma ajuda adicional, os procedimentos para definir o caminho na maioria dos sistemas de computador so descritos em Variveis de ambiente do caminho na pgina 281). So necessrios pelo menos 2GB de memria de computador ao usar o ADT. Se voc tem menos memria do que isso, o ADT pode ficar sem memria, especialmente quando ao compactar aplicativos para o iOS. Pressupondo que o diretrio bin de Java e AIR SDK estejam ambos includos na varivel de caminho, voc pode executar o ADT usando a seguinte sintaxe bsica:
adt -command options

Nota: A maioria dos ambientes de desenvolvimento integrados, incluindo Adobe Flash Builder, Adobe Flash Professional e Aptana Studio, pode compactar aplicativos do AIR para voc. Normalmente, voc no precisa usar o ADT para essas tarefas comuns quando j utiliza um ambiente de desenvolvimento. No entanto, voc ainda pode precisar utilizar o ADT como ferramenta de linha de comando para funes que no disponveis no seu ambiente de desenvolvimento integrado. Alm disso, voc pode usar ADT como ferramenta de linha de comando como parte de um processo de compilao automatizado.

Comandos do ADT
O primeiro argumento passado para ADT especifica um dos seguintes comandos.

-package compacta um aplicativo do AIR ou AIR Native Extension (ANE). -prepare compacta um aplicativo do AIR como arquivo intermedirio (AIRI), mas no o assina. Arquivos do
AIRI no podem ser instalados.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

150

-sign assina um pacote do AIRI produzido com o comando -prepare. Os comandos -prepare e -sign permitem
que a compactao e a assinatura sejam feitas em momentos diferentes. Voc tambm pode usar o comando -sign para assinar ou reassinar um pacote ANE.

-migrate aplica uma assinatura de migrao para um pacote do AIR assinado, o que permite a utilizao de um
certificado novo ou renovado de assinatura do cdigo.

-certificate cria um certificado de assinatura de cdigo digital autoassinado. -checkstore verifica se um certificado digital em um armazenamento de chaves pode ser acessado. -installApp instala um aplicativo do AIR em um dispositivo ou emulador de dispositivo. -launchApp ativa um aplicativo do AIR em um dispositivo ou emulador de dispositivo. -appVersion informa a verso de um aplicativo do AIR instalado atualmente em um dispositivo ou emulador de
dispositivo.

-uninstallApp desinstala um aplicativo do AIR de um dispositivo ou emulador de dispositivo. -installRuntime instala o tempo de execuo do AIR em um dispositivo ou emulador de dispositivo. -runtimeVersion informa a verso de tempo de execuo do AIR instalado atualmente em um dispositivo ou
emulador de dispositivo.

-uninstallRuntime desinstala o tempo de execuo do AIR instalado de um dispositivo ou emulador de


dispositivo.

-version informa o nmero de verso do ADT. -help exibe a lista de comandos e opes.
Muitos comandos do ADT compartilham conjuntos relacionadas de parmetros e sinalizadores de opo. Estes conjuntos de opo so descritos em detalhe separadamente:

Opes de assinatura de cdigo ADT na pgina 161 Opes de caminho e arquivo na pgina 164 Opes de conexo do depurador na pgina 165 Opes de extenso nativas na pgina 165

Comando package do ADT


O comando -package deve ser executado a partir do diretrio principal do aplicativo. O comando usa as seguintes sintaxes: Crie um pacote do AIR a partir dos arquivos de aplicativo do componente:
adt -package AIR_SIGNING_OPTIONS -target packageType NATIVE_SIGNING_OPTIONS output app_descriptor FILE_OPTIONS

Crie um pacote nativo a partir de arquivos do aplicativo do componente:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

151

adt -package -target packageType DEBUGGER_CONNECTION_OPTIONS -airDownloadURL URL NATIVE_SIGNING_OPTIONS output app_descriptor -platformsdk path FILE_OPTIONS

Crie um pacote nativo de um arquivo AIR ou AIRI:


adt -package -target packageType NATIVE_SIGNING_OPTIONS output input_package

Crie um pacote de extenso nativa dos arquivos de extenso nativa do componente: Nota: No necessrio assinar um arquivo ANE, pois os parmetros AIR_SIGNING_OPTIONS so opcionais neste exemplo.
adt -package AIR_SIGNING_OPTIONS -target ane output ANE_OPTIONS

AIR_SIGNING_OPTIONS As opes de assinatura do AIR identificam o certificado usado para assinar um arquivo de instalao do AIR. As opes de assinatura so totalmente descritas em Opes de assinatura de cdigo ADT na pgina 161. -target O tipo de pacote a ser criado. Os tipos de pacotes disponveis so:

air um pacote do AIR. air o valor padro e o sinalizador -target no precisa ser especificado ao criar arquivos
do AIR ou AIRI.

airn um pacote de aplicativo nativo para dispositivos no perfil televiso estendida. ane um pacote de extenso nativa do AIR Destinos dos pacotes Android: apk um pacote do Android. Um pacote produzido com este destino s pode ser instalado em um dispositivo
Android e no em um emulador.

apk-debug um pacote do Android com informaes extras de depurao. (Os arquivos SWF no aplicativo
tambm devem ser compilados com o suporte de depurao.)

apk-emulator um pacote do Android para o uso em um emulador sem suporte de depurao. (Use o destino
apk-debug para permitir a depurao dos emuladores e dos dispositivos.)

apk-profile um pacote Android disponvel para desempenho do aplicativo e determinao de perfis da


memria.

Destinos dos pacotes iOS: ipa-ad-hoc um pacote do iOS para distribuio ad hoc. ipa-app-store um pacote do iOS para distribuio App Store da Apple

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

152

ipa-debug um pacote do Android com informaes extras de depurao. (Os arquivos SWF no aplicativo
tambm devem ser compilados com o suporte de depurao.)

ipa-test um pacote de IOS compilado sem otimizao ou informaes de depurao. ipa-debug-interpreter funcionalmente igual a um pacote de depurao, mas compila mais rapidamente. No
entanto, o ActionScript bytecode interpretado e no convertido para cdigo de mquina. Como resultado, a execuo do cdigo mais lenta num pacote do intrprete.

ipa-debug-interpreter funcionalmente igual a um pacote de teste, mas compila mais rapidamente. No


entanto, o ActionScript bytecode interpretado e no convertido para cdigo de mquina. Como resultado, a execuo do cdigo mais lenta num pacote do intrprete.

native um instalador desktop nativo. O tipo de arquivo produzido o formato de instalao nativo do sistema
operacional no qual o comando executado:

EXE Windows DMG Mac DEB Ubuntu Linux (AIR 2.6 ou anterior) RPM Fedora ou Linux OpenSuse (AIR 2.6 ou anterior)
DEBUGGER_CONNECTION_OPTIONS As opes de conexo do depurador especificam se um pacote de depurao dever tentar se conectar a um depurador remoto que esteja executando num computador ou se dever ficar na escuta de uma conexo a partir de um depurador remoto. Este conjunto de opes suportado somente para pacotes de depurao mveis (destinos apk-debug e ipa-debug). Essas opes so descritas em Opes de conexo do depurador na pgina 165. -airDownloadURL Especifica um URL alternativo para baixar e instalar o tempo de execuo do AIR em dispositivos Android. Se no for especificado, um aplicativo do AIR redirecionar o usurio para um tempo de execuo do AIR no Android Market se o tempo de execuo ainda no estiver instalado. Se o seu aplicativo for distribudo por meio de um marketplace alternativo (diferente do Android Market administrado pelo Google), ento voc poder precisar especificar o URL para baixar o tempo de execuo do AIR do mercado. Alguns mercados alternativos no permitem que os aplicativos solicitem um download de fora do mercado. Essa opo s suportada para pacotes Android. NATIVE_SIGNING_OPTIONS As opes de assinatura nativa identificam o certificado usado para assinar um arquivo de pacote nativo. Estas opes de assinatura so usadas para aplicar uma assinatura utilizada pelo sistema operacional nativo, no o AIR. As opes so idnticas s AIR_SIGNING_OPTIONS e so completamente descritas em Opes de assinatura de cdigo ADT na pgina 161. Assinaturas nativas esto disponveis no Windows e no Android. No Windows, as opes de assinatura do AIR e as nativas devem ser especificadas. No Android apenas as opes de assinatura nativa podem ser especificadas. Em muitos casos, voc pode usar o mesmo certificado de assinatura de cdigo para aplicar tanto uma assinatura do AIR e uma nativa. Contudo, isso no verdade em todos os casos. Por exemplo, a poltica do Google para aplicativos enviados ao Android Market determina que todos os aplicativos devam ser assinados com um certificado vlido pelo menos at 2033. Isto significa que um certificado emitido por uma autoridade de certificao conhecida, recomendado quando se aplica uma assinatura do AIR, no deve ser usado para assinar um aplicativo do Android. (Nenhuma autoridade de certificao emitir um certificado de assinatura de cdigo com este longo perodo de validade). output O nome do arquivo do pacote a ser criado. A especificao da extenso do arquivo opcional. Se no especificada, adicionada uma extenso adequada para o valor -target e para o sistema operacional atual.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

153

app_descriptor O caminho para o arquivo do descritor do aplicativo. O caminho pode ser especificado em relao ao diretrio atual ou como um caminho absoluto. (O arquivo de descritor do aplicativo renomeado como application.xml no arquivo do AIR.) -platformsdk O caminho para a plataforma SDK para o dispositivo de destino. No momento a nica plataforma SDK disponvel Android. O AIR 2.6 SDK inclui as ferramentas do Android SDK necessrias para implementar os comandos relevantes do ADT. Somente defina este valor para usar uma verso diferente do Android SDK. Alm disso, o caminho SDK da plataforma no precisa ser fornecido na linha do comando se a varivel de ambiente AIR_ANDROID_SDK_HOME j estiver definida. (Se ambos estiverem definidos, o caminho fornecido na linha de comando usado.) FILE_OPTIONS Identifica os arquivos do aplicativo a serem includos no pacote. As opes de arquivo esto descritas na ntegra em Opes de caminho e arquivo na pgina 164. No especifique as opes de arquivo ao criar um pacote nativo de um arquivo do AIR ou AIRI. input_airi Especifique ao criar um pacote nativo de um arquivo do AIRI. As AIR_SIGNING_OPTIONS so necessrias se o destino for air (ou se nenhum destino for especificado). input_airi Especifique ao criar um pacote nativo de um arquivo do AIR. No especifique AIR_SIGNING_OPTIONS. ANE_OPTIONS Identifica as opes e arquivos para criar um pacote de extenso nativa. As opes de pacote de extenso so descritas em detalhes em Opes de extenso nativas na pgina 165.

Exemplos do comando ADT-package


Arquivos de aplicativo especfico ao pacote no diretrio atual para um aplicativo do AIR baseado em SWF:
adt package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.swf components.swc

Arquivos de aplicativo especfico ao pacote no diretrio atual para um aplicativo do AIR baseado em HTML:
adt package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.html AIRAliases.js image.gif

Empacote todos os arquivos e subdiretrios no diretrio de trabalho atual:


adt package -storetype pkcs12 -keystore ../cert.p12 myApp.air myApp.xml .

Nota: O arquivo de armazenamento de chaves contm a chave privada usada para assinar seu aplicativo. Nunca inclua o certificado de assinatura no pacote do AIR! Se voc usar caracteres curinga no comando do ADT, coloque o arquivo de armazenamento de chaves em um local diferente para que ele no seja includo no pacote. Neste exemplo, o arquivo de armazenamento de chaves, cert.p12, reside no diretrio pai. Empacote apenas os arquivos principais e um subdiretrio de imagens:
adt package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.swf images

Empacote um aplicativo baseado em HTML e todos os arquivos nos subdiretrios de HTML, scripts e imagens:
adt package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml index.html AIRALiases.js html scripts images

Empacote o arquivo application.xml e o SWF principal localizados em um diretrio de trabalho (release/bin):


adt package -storetype pkcs12 -keystore cert.p12 myApp.air release/bin/myApp.xml C release/bin myApp.swf

Empacote ativos de mais de um lugar no seu sistema de arquivo de criao. Neste exemplo, os ativos do aplicativo so localizados nas seguintes pastas antes do empacotamento:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

154

/devRoot /myApp /release /bin myApp-app.xml myApp.swf or myApp.html /artwork /myApp /images image-1.png ... image-n.png /libraries /release /libs lib-1.swf lib-2.swf lib-a.js AIRAliases.js

Executar o seguinte comando do ADT do diretrio /devRoot/myApp:


adt package -storetype pkcs12 -keystore cert.p12 myApp.air release/bin/myApp-app.xml C release/bin myApp.swf (or myApp.html) C ../artwork/myApp images C ../libraries/release libs

Resulta na seguinte estrutura de pacote:


/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

Execute ADT como um programa Java para um aplicativo simples baseado em SWF (sem configurar o classpath):
java jar {AIRSDK}/lib/ADT.jar package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.swf

Execute ADT como um programa Java para um aplicativo simples baseado em HTML (sem configurar o classpath):
java jar {AIRSDK}/lib/ADT.jar package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.html AIRAliases.js

Execute o ADT como um programa Java (com o caminho da classe Java definido para incluir o pacote ADT.jar):
java -com.adobe.air.ADT package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.swf

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

155

Execute o ADT como uma tarefa Java em Apache Ant (os caminhos exibidos no exemplo so para 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"/> </java> </target>

Nota: Em alguns sistemas de computadores, os caracteres de bytes duplos nos caminhos do sistema de arquivos pode ser mal-interpretado. Se isto acontecer, tente definir o JRE usado para executar o ADT para usar o conjunto de caracteres UTF-8. Isso feito por padro no script usado para iniciar o ADT no Mac e no Linux. No arquivo adt.bat do Windows, ou ao executar o ADT diretamente do Java, especifique a opo -Dfile.encoding=UTF-8 na linha de comando Java.

Comando prepare do ADT


O comando -prepare cria um pacote do AIRI no assinado. Um pacote do AIRI no pode ser usado por si prprio. Use o comando -sign para converter um arquivo do AIRI para um pacote do AIR assinado, ou o comando package para converter o arquivo AIRI para um pacote nativo. O comando -prepare usa a seguinte sintaxe:
adt -prepare output app_descriptor FILE_OPTIONS

output O nome do arquivo do AIRI criado. app_descriptor O caminho para o arquivo do descritor do aplicativo. O caminho pode ser especificado em relao ao diretrio atual ou como um caminho absoluto. (O arquivo de descritor do aplicativo renomeado como application.xml no arquivo do AIR.) FILE_OPTIONS Identifica os arquivos do aplicativo a serem includos no pacote. As opes de arquivo esto descritas na ntegra em Opes de caminho e arquivo na pgina 164.

Comando sign do ADT


O comando -sign assina arquivos do AIRI e ANE. O comando -sign usa a seguinte sintaxe:
adt -sign AIR_SIGNING_OPTIONS input output

AIR_SIGNING_OPTIONS As opes de assinatura do AIR identificam o certificado usado para assinar um arquivo de pacote. As opes de assinatura so totalmente descritas em Opes de assinatura de cdigo ADT na pgina 161. input O nome do arquivo do AIRI ou ANE a ser criado. output O nome do pacote assinado a ser criado.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

156

Se um arquivo ANE j estiver assinado, a assinatura antiga descartada. (Os arquivos do AIR no podem ser assinados novamente - para usar uma nova assinatura para uma atualizao do aplicativo, use o comando -migrate.)

Comando migrate do ADT


O comando -migrate aplica uma assinatura de migrao para um arquivo do AIR. A assinatura de migrao deve ser usada quando voc renovar ou alterar seu certificado digital e precisar atualizar os aplicativos assinados com o certificado antigo. Nota: O certificado de migrao deve ser aplicado no prazo de 180 dias a partir da expirao do certificado. Assim que terminar este perodo de prorrogao, as atualizaes de sua aplicao no podem mais ser assinadas com uma assinatura de migrao. Os usurios podem primeiro atualizar para uma verso do seu aplicativo que foi assinado com uma assinatura de migrao e instalar a atualizao mais recente, ou podem desinstalar o aplicativo original e instalar o pacote novo do AIR. Para usar uma assinatura de migrao, primeiro assine o aplicativo do AIR usando o certificado novo ou renovado (usando os comandos -package ou -sign), e depois aplique a assinatura de migrao usando o certificado antigo e o comando -migrate. O comando -migrate usa a seguinte sintaxe:
adt -migrate AIR_SIGNING_OPTIONS input output

AIR_SIGNING_OPTIONS As opes de assinatura do AIR que identificam o certificado original usado para assinar as verses existentes do aplicativo do AIR. As opes de assinatura so totalmente descritas em Opes de assinatura de cdigo ADT na pgina 161. input O arquivo do AIR j assinado com o NOVO certificado do aplicativo. output O nome das assinaturas de tolerncia do pacote final dos certificados novos e antigos. Nota: Os nomes de arquivos usados para os arquivos do AIR de entrada e de sada devem ser diferentes.

Comando checkstore do ADT


O comando -checkstore permite verificar a validade de um armazenamento de chaves. O comando usa a seguinte sintaxe:
adt -checkstore SIGNING_OPTIONS

SIGNING_OPTIONS As opes de assinatura que identificam o armazenamento de chaves para validao. As opes de assinatura so totalmente descritas em Opes de assinatura de cdigo ADT na pgina 161.

Comando certificate do ADT


O comando -certificate permite criar um certificado de assinatura de cdigo digital autoassinado. O comando usa a seguinte sintaxe:
adt -certificate -cn name -ou orgUnit -o orgName -c country -validityPeriod years key-type output password

-cn A sequncia de caracteres atribuda como o nome comum do novo certificado. -ou Uma sequncia de caracteres atribuda como a unidade organizacional que emite o certificado. (Opcional.)
-o Uma sequncia de caracteres atribuda como a organizao que emite o certificado. (Opcional.)

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

157

-c Um cdigo de pas de duas letras ISO-3166. Um certificado no gerado se um cdigo invlido fornecido. (Opcional.) -validityPeriod O nmero de anos nos quais o certificado vlido. Se no for especificada, atribuda uma validade

de cinco anos. (Opcional.)


key_typeO tipo de chave a ser usada para o certificado, 1024-RSA ou 2048-RSA.

output O caminho e o nome do arquivo para o arquivo do certificado a ser gerado. password A senha para acessar o novo certificado. A senha necessria ao assinar arquivos do AIR com esse certificado.

Comando installApp do ADT


O comando -installApp instala um aplicativo em um dispositivo ou em um emulador. Voc deve desinstalar um aplicativo existente antes de reinstalar com esse comando. O comando usa a seguinte sintaxe:
adt -installApp -platform platformName -platformsdk path-to-sdk -device deviceID -package fileName

-platform O nome da plataforma do dispositivo. No momento este comando est disponvel apenas na plataforma do Android. Use o nome, android. -platformsdk O caminho para a plataforma SDK para o dispositivo de destino. No momento a nica plataforma SDK disponvel Android. O AIR 2.6 SDK inclui as ferramentas do Android SDK necessrias para implementar os comandos relevantes do ADT. Somente defina este valor para usar uma verso diferente do Android SDK. Alm disso, o caminho SDK da plataforma no precisa ser fornecido na linha do comando se a varivel de ambiente AIR_ANDROID_SDK_HOME j estiver definida. (Se ambos estiverem definidos, o caminho fornecido na linha de comando usado.) -device O nmero de srie do dispositivo. O dispositivo s deve ser especificado quando mais de um dispositivo ou emulador estiver conectado ao computador e em funcionamento. Se o dispositivo especificado no estiver conectado, o ADT retorna cdigo de sada 14: Erro do dispositivo. Se mais de um dispositivo ou emulador estiver conectado e um dispositivo no for especificado, o ADT retorna o cdigo de sada 2: Erro de uso. No Android, use a ferramenta ADB do Android para listar os nmeros de srie dos dispositivos conectados e emuladores em execuo:
adb devices

-package O nome do arquivo do pacote a ser instalado. No Android este deve ser um pacote APK. Se o pacote especificado j estiver instalado, o ADT retorna o cdigo de erro 14: Erro do dispositivo.

Comando appVersion do ADT


O comando -appVersion informa a verso instalada de um aplicativo em um dispositivo ou emulador. O comando usa a seguinte sintaxe:
adt -appVersion -platform platformName -platformsdk path_to_sdk -device deviceID -appid applicationID

-platform O nome da plataforma do dispositivo. No momento este comando est disponvel apenas na plataforma do Android. Use o nome, android.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

158

-platformsdk O caminho para a plataforma SDK para o dispositivo de destino. No momento a nica plataforma SDK disponvel Android. O AIR 2.6 SDK inclui as ferramentas do Android SDK necessrias para implementar os comandos relevantes do ADT. Somente defina este valor para usar uma verso diferente do Android SDK. Alm disso, o caminho SDK da plataforma no precisa ser fornecido na linha do comando se a varivel de ambiente AIR_ANDROID_SDK_HOME j estiver definida. (Se ambos estiverem definidos, o caminho fornecido na linha de comando usado.) -device O nmero de srie do dispositivo. O dispositivo s deve ser especificado quando mais de um dispositivo ou emulador estiver conectado ao computador e em funcionamento. Se o dispositivo especificado no estiver conectado, o ADT retorna cdigo de sada 14: Erro do dispositivo. Se mais de um dispositivo ou emulador estiver conectado e um dispositivo no for especificado, o ADT retorna o cdigo de sada 2: Erro de uso. No Android, use a ferramenta ADB do Android para listar os nmeros de srie dos dispositivos conectados e emuladores em execuo:
adb devices

-appid O ID do aplicativo do AIR do aplicativo instalado. Se nenhum aplicativo com o ID especificada estiver instalado no dispositivo, o ADT retorna o cdigo de sada 14: Erro do dispositivo.

Comando launchApp do ADT


O comando -launchApp executa um aplicativo instalado em um dispositivo ou emulador. O comando usa a seguinte sintaxe:
adt -launchApp -platform platformName -platformsdk path_to_sdk -device deviceID -appid applicationID

-platform O nome da plataforma do dispositivo. No momento este comando est disponvel apenas na plataforma do Android. Use o nome, android. -platformsdk O caminho para a plataforma SDK para o dispositivo de destino. No momento a nica plataforma SDK disponvel Android. O AIR 2.6 SDK inclui as ferramentas do Android SDK necessrias para implementar os comandos relevantes do ADT. Somente defina este valor para usar uma verso diferente do Android SDK. Alm disso, o caminho SDK da plataforma no precisa ser fornecido na linha do comando se a varivel de ambiente AIR_ANDROID_SDK_HOME j estiver definida. (Se ambos estiverem definidos, o caminho fornecido na linha de comando usado.) -device O nmero de srie do dispositivo. O dispositivo s deve ser especificado quando mais de um dispositivo ou emulador estiver conectado ao computador e em funcionamento. Se o dispositivo especificado no estiver conectado, o ADT retorna cdigo de sada 14: Erro do dispositivo. Se mais de um dispositivo ou emulador estiver conectado e um dispositivo no for especificado, o ADT retorna o cdigo de sada 2: Erro de uso. No Android, use a ferramenta ADB do Android para listar os nmeros de srie dos dispositivos conectados e emuladores em execuo:
adb devices

-appid O ID do aplicativo do AIR do aplicativo instalado. Se nenhum aplicativo com o ID especificada estiver instalado no dispositivo, o ADT retorna o cdigo de sada 14: Erro do dispositivo.

Comando uninstallApp do ADT


O comando -uninstallApp remove completamente um aplicativo instalado em um dispositivo ou emulador remoto. O comando usa a seguinte sintaxe:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

159

adt -uninstallApp -platform platformName -platformsdk path_to_sdk -device deviceID -appid applicationID

-platform O nome da plataforma do dispositivo. No momento este comando est disponvel apenas na plataforma do Android. Use o nome, android. -platformsdk O caminho para a plataforma SDK para o dispositivo de destino. No momento a nica plataforma SDK disponvel Android. O AIR 2.6 SDK inclui as ferramentas do Android SDK necessrias para implementar os comandos relevantes do ADT. Somente defina este valor para usar uma verso diferente do Android SDK. Alm disso, o caminho SDK da plataforma no precisa ser fornecido na linha do comando se a varivel de ambiente AIR_ANDROID_SDK_HOME j estiver definida. (Se ambos estiverem definidos, o caminho fornecido na linha de comando usado.) -device O nmero de srie do dispositivo. O dispositivo s deve ser especificado quando mais de um dispositivo ou emulador estiver conectado ao computador e em funcionamento. Se o dispositivo especificado no estiver conectado, o ADT retorna cdigo de sada 14: Erro do dispositivo. Se mais de um dispositivo ou emulador estiver conectado e um dispositivo no for especificado, o ADT retorna o cdigo de sada 2: Erro de uso. No Android, use a ferramenta ADB do Android para listar os nmeros de srie dos dispositivos conectados e emuladores em execuo:
adb devices

-appid O ID do aplicativo do AIR do aplicativo instalado. Se nenhum aplicativo com o ID especificada estiver instalado no dispositivo, o ADT retorna o cdigo de sada 14: Erro do dispositivo.

Comando installRuntime do ADT


O comando -installRuntime instala o tempo de execuo do AIR em um dispositivo. Voc deve desinstalar a verso existente do tempo de execuo AIR antes de reinstalar com esse comando. O comando usa a seguinte sintaxe:
adt -installRuntime -platform platformName -platformsdk path_to_sdk -device deviceID -package fileName

-platform O nome da plataforma do dispositivo. No momento este comando est disponvel apenas na plataforma do Android. Use o nome, android. -platformsdk O caminho para a plataforma SDK para o dispositivo de destino. No momento a nica plataforma SDK disponvel Android. O AIR 2.6 SDK inclui as ferramentas do Android SDK necessrias para implementar os comandos relevantes do ADT. Somente defina este valor para usar uma verso diferente do Android SDK. Alm disso, o caminho SDK da plataforma no precisa ser fornecido na linha do comando se a varivel de ambiente AIR_ANDROID_SDK_HOME j estiver definida. (Se ambos estiverem definidos, o caminho fornecido na linha de comando usado.) -device O nmero de srie do dispositivo. O dispositivo s deve ser especificado quando mais de um dispositivo ou emulador estiver conectado ao computador e em funcionamento. Se o dispositivo especificado no estiver conectado, o ADT retorna cdigo de sada 14: Erro do dispositivo. Se mais de um dispositivo ou emulador estiver conectado e um dispositivo no for especificado, o ADT retorna o cdigo de sada 2: Erro de uso. No Android, use a ferramenta ADB do Android para listar os nmeros de srie dos dispositivos conectados e emuladores em execuo:
adb devices

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

160

-package O nome do arquivo do tempo de execuo a ser instalado. No Android este deve ser um pacote APK. Se nenhum pacote for especificado, o tempo de execuo adequado para o dispositivo ou emulador escolhido entre os disponveis no AIR SDK. Se o tempo de execuo j estiver instalado, o ADT retorna o cdigo de erro 14: Erro do dispositivo.

Comando runtimeVersion do ADT


O comando -runtimeVersion informa a verso instalada do tempo de execuo do AIR em um dispositivo ou emulador. O comando usa a seguinte sintaxe:
adt -runtimeVersion -platform platformName -platformsdk path_to_sdk -device deviceID

-platform O nome da plataforma do dispositivo. No momento este comando est disponvel apenas na plataforma do Android. Use o nome, android. -platformsdk O caminho para a plataforma SDK para o dispositivo de destino. No momento a nica plataforma SDK disponvel Android. O AIR 2.6 SDK inclui as ferramentas do Android SDK necessrias para implementar os comandos relevantes do ADT. Somente defina este valor para usar uma verso diferente do Android SDK. Alm disso, o caminho SDK da plataforma no precisa ser fornecido na linha do comando se a varivel de ambiente AIR_ANDROID_SDK_HOME j estiver definida. (Se ambos estiverem definidos, o caminho fornecido na linha de comando usado.) -device O nmero de srie do dispositivo. O dispositivo s deve ser especificado quando mais de um dispositivo ou emulador estiver conectado ao computador e em funcionamento. Se o tempo de execuo no estiver instalado ou o dispositivo especificado no estiver conectado, o ADT retorna o cdigo de sada 14: Erro do dispositivo. Se mais de um dispositivo ou emulador estiver conectado e um dispositivo no for especificado, o ADT retorna o cdigo de sada 2: Erro de uso. No Android, use a ferramenta ADB do Android para listar os nmeros de srie dos dispositivos conectados e emuladores em execuo:
adb devices

Comando uninstallRuntime do ADT


O comando -uninstallRuntime remove completamente o tempo de execuo do AIR de um dispositivo ou emulador. O comando usa a seguinte sintaxe:
adt -uninstallRuntime -platform platformName -platformsdk path_to_sdk -device deviceID

-platform O nome da plataforma do dispositivo. No momento este comando est disponvel apenas na plataforma do Android. Use o nome, android. -platformsdk O caminho para a plataforma SDK para o dispositivo de destino. No momento a nica plataforma SDK disponvel Android. O AIR 2.6 SDK inclui as ferramentas do Android SDK necessrias para implementar os comandos relevantes do ADT. Somente defina este valor para usar uma verso diferente do Android SDK. Alm disso, o caminho SDK da plataforma no precisa ser fornecido na linha do comando se a varivel de ambiente AIR_ANDROID_SDK_HOME j estiver definida. (Se ambos estiverem definidos, o caminho fornecido na linha de comando usado.) -device O nmero de srie do dispositivo. O dispositivo s deve ser especificado quando mais de um dispositivo ou emulador estiver conectado ao computador e em funcionamento. Se o dispositivo especificado no estiver conectado, o ADT retorna cdigo de sada 14: Erro do dispositivo. Se mais de um dispositivo ou emulador estiver conectado e um dispositivo no for especificado, o ADT retorna o cdigo de sada 2: Erro de uso.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

161

No Android, use a ferramenta ADB do Android para listar os nmeros de srie dos dispositivos conectados e emuladores em execuo:
adb devices

Comando help do ADT


O comando -help do ADT exibe um lembrete resumido das opes da linha de comando:
adt -help

A sada help usa as seguintes convenes simblicas:

<> itens entre colchetes angulares indicam as informaes que voc deve fornecer. () itens entre parnteses indicam as opes tratadas como um grupo na sada do comando help. ALL_CAPS itens escritos em letras maisculas indicam um conjunto de opes descrito separadamente. | Ou. Por exemplo, ( A | B ), significa item A ou item B. ? 0 ou 1. Um ponto de interrogao na sequncia de um item indica que um item opcional e que somente uma
instncia pode ocorrer, se utilizado.

* 0 ou mais. Um asterisco na sequncia de um item indica que um item opcional e que qualquer nmero de
instncias pode ocorrer.

+ 1 ou mais. Um sinal de mais na sequncia de um item indica que um item obrigatrio e que vrias instncias
podem ocorrer.

sem smbolo - Se um item no tiver nenhum smbolo de sufixo, esse item obrigatrio e somente uma instncia
pode ocorrer.

Conjuntos de opes do ADT


Vrios dos comandos do ADT compartilham conjuntos comuns de opes.

Opes de assinatura de cdigo ADT


O ADT usa JCA (arquitetura de criptografia Java) para acessar chaves privadas e certificados para assinar aplicativos do AIR. As opes de assinatura identificam o armazenamento de chaves e a chave privada e o certificado dentro desse armazenamento de chaves. O armazenamento de chaves deve incluir a chave privada e a cadeia de certificado associada. Se o certificado de assinatura estiver vinculado a um certificado confivel em um computador, o contedo do campo de nome comum do certificado ser exibido como o nome do editor na caixa de dilogo de instalao do AIR. O ADT requer que o certificado esteja em conformidade com o padro x509v3 (RFC3280) e inclua a extenso de uso de chave estendida com os valores adequados para assinatura do cdigo. As restries definidas no certificado so respeitadas e poderiam impedir o uso de alguns certificados para assinar aplicativos do AIR. Nota: O ADT usa as configuraes de proxy do ambiente de tempo de execuo Java, quando apropriado, para conectar aos recursos de Internet para verificar listas de revogao de certificado e obter carimbos de data/hora. Se encontrar problemas para se conectar a estes recursos da Internet ao usar o ADT e sua rede exigir configuraes de proxy especficas, voc pode precisar configurar as configuraes de proxy do JRE.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

162

Sintaxe de opes de assinatura do AIR As opes de subscrio utilizam a seguinte sintaxe (numa linha de comando individual):
-alias aliasName -storetype type -keystore path -storepass password1 -keypass password2 -providerName className -tsa url

-alias O alias de uma chave no armazenamento de chaves. Especificar um alias no necessrio quando um armazenamento de chaves contm apenas um nico certificado. Se nenhum alias for especificado, o ADT usar a primeira chave do armazenamento de chaves. Nem todos os aplicativos de gerenciamento do armazenamento de chaves permitem que um alias seja atribudo a certificados. Ao usar o armazenamento de chaves do sistema Windows, por exemplo, use o nome distinto do certificado como o alias. Voc pode usar o utilitrio Java Keytool para listar os certificados disponveis para que possa determinar o alias. Por exemplo, executar o comando:
keytool -list -storetype Windows-MY

produz uma sada como a seguinte para um certificado:


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

Para se referir a esse certificado na linha de comando do ADT, defina o alias como:
CN=TestingCert,OU=QE,O=Adobe,C=US

No Mac OS X, o alias de um certificado no Keychain o nome exibido no aplicativo Keychain Access. -storetype O tipo de armazenamento de chaves, determinado pela implementao do armazenamento de chaves. A implementao de armazenamento de chaves padro includa na maioria das instalaes de Java suporta os tipos JKS e PKCS12. O Java 5.0 inclui suporte para o tipo PKCS11, para acessar armazenamentos de chaves em tokens de hardware e para o tipo Keychain, para acessar o chaveiro do Mac OS X. O Java 6.0 inclui suporte para o tipo MSCAPI (no Windows). Se outros provedores de JCA tiverem sido instalados e configurados, tipos adicionais de armazenamentos de chaves podem estar disponveis. Se nenhum tipo de armazenamento de chave for especificado, o tipo padro para o provedor de JCA padro ser usado.
Tipo de armazenamento JKS Formato de armazenamento de chave Arquivo de armazenamento de chave Java (.keystore) Arquivo PKCS12 (.p12 ou .pfx) Token de hardware Chaveiro do Mac OS X MSCAPI Verso mnima de Java

1.2

PKCS12 PKCS11 KeychainStore Windows-MY ou Windows-ROOT

1.4 1.5 1.5 1.6

-keystore O caminho para o arquivo de armazenamento de chaves para tipos de armazenamento com base no arquivo. -storepass A senha exigida para acessar o armazenamento de chaves. Se no especificada, o ADT solicita a senha.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

163

-keypass A senha exigida para acessar a chave privada usada para assinar o aplicativo do AIR. Se no especificada, o ADT solicita a senha. Nota: Se voc digitar uma senha como parte do comando do ADT, os caracteres da senha so gravados no histrico da linha de comando. Portanto, o uso de opes -keypass ou -storepass no recomendado quando a segurana do certificado importante. Observe tambm que ao omitir as opes de senha, os caracteres que voc digita nos prompts de senha no so exibidos (por razes de segurana). Basta digitar a senha e pressionar a tecla Enter. -providerName O provedor de JCA para o tipo de armazenamento de chaves especificado. Se no especificado, o ADT usa o provedor padro para esse tipo de armazenamento de chave. -tsa Especifica a URL de um servidor compatvel com carimbo de data e hora RFC3161 para carimbar com data e hora a assinatura digital. Se nenhuma URL for especificada, um servidor padro com carimbo de data/hora fornecido pela Geotrust ser usado. Quando a assinatura de um aplicativo do AIR receber uma marca de data/hora, o aplicativo poder ainda ser instalado depois que o certificado de assinatura expirar, porque a marca de data/hora verifica se o certificado era vlido no momento da assinatura. Se o ADT no puder se conectar ao servidor de carimbo de data/hora, a assinatura ser cancelada e nenhum empacotamento ser produzido. Especifique -tsa none para desabilitar o carimbo de data/hora. No entanto, um aplicativo do AIR empacotado sem um carimbo de data/hora deixa de poder ser instalado depois que o certificado de assinatura expira. Nota: Muitas das opes de assinatura so equivalentes mesma opo do utilitrio Java Keytool. Voc pode usar o utilitrio Keytool para examinar e gerenciar armazenamentos de chaves no Windows. O utilitrio de segurana da Apple tambm pode ser usado para esse fim no Mac OS X. -provisioning-profile O arquivo de aprovisionamento iOS da Apple. (Obrigatrio apenas para compactao de aplicativos iOS.) Exemplos de opo de assinatura Assinatura com um arquivo .p12:
-storetype pkcs12 -keystore cert.p12

Assinatura com o armazenamento de chaves Java padro:


-alias AIRcert -storetype jks

Assinatura com o armazenamento de chaves Java especfico:


-alias AIRcert -storetype jks -keystore certStore.keystore

Assinatura com o chaveiro do Mac OS X:


-alias AIRcert -storetype KeychainStore -providerName Apple

Assinatura com o armazenamento de chaves do sistema Windows:


-alias cn=AIRCert -storeype Windows-MY

Assinatura com um token de hardware (consulte as instrues do fabricante do token sobre como configurar Java para usar o token e para o valor correto de providerName):
-alias AIRCert -storetype pkcs11 -providerName tokenProviderName

Assinatura sem incorporar um carimbo de data/hora:


-storetype pkcs12 -keystore cert.p12 -tsa none

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

164

Opes de caminho e arquivo


As opes de arquivo e caminho especificam todos os arquivos includos no pacote. As opes de arquivo e caminho usam a seguinte sintaxe:
files_and_dirs -C dir files_and_dirs -e file_or_dir dir -extdir dir

file_and_dirs Os arquivos e diretrios a empacotar no arquivo do AIR. Qualquer nmero de arquivos e diretrios pode ser especificado, delimitado por um espao em branco. Se voc listar um diretrio, todos os arquivos e subdiretrios dentro dele, exceto arquivos ocultos, sero adicionados ao pacote. (Alm disso, se o arquivo do descritor do aplicativo for especificado, diretamente ou por caractere curinga ou expanso de diretrio, ele ser ignorado e no adicionado ao pacote uma segunda vez.) Arquivos e diretrios especificados devem estar no diretrio atual ou em um de seus subdiretrios. Use a opo -C para alterar o diretrio atual. Importante: Caracteres curinga no podem ser usados nos argumentos file_or_dir depois da opo C. (Shells de comando expandem os caracteres curinga antes de transmitir os argumentos para o ADT, o que faz com que o ADT procure arquivos no lugar errado.) Voc pode, no entanto, usar ainda o caractere de ponto, ".", para representar o diretrio atual. Por exemplo, -C assets. copia tudo no diretrio de ativos, incluindo qualquer subdiretrio, para o nvel raiz do pacote do aplicativo.
-C dir Altera o diretrio de trabalho para o valor de dir antes de processar arquivos e diretrios subsequentes adicionados ao pacote do aplicativo. Os arquivos ou diretrios so adicionados raiz do pacote do aplicativo. A opo C pode ser usada quantas vezes for preciso para incluir arquivos de vrios pontos no sistema de arquivos. Se um caminho relativo for especificado para dir, o caminho sempre resolvido do diretrio de trabalho original.

medida que o ADT processa os arquivos e diretrios includos no pacote, os caminhos relativos entre o diretrio atual e os arquivos de destino so armazenados. Esses caminhos so expandidos na estrutura do diretrio do aplicativo quando o pacote instalado. Portanto, especificar -C release/bin lib/feature.swf coloca o arquivo release/bin/lib/feature.swf no subdiretrio lib da pasta do aplicativo raiz.
-e file_or_dir dir Coloca o arquivo ou diretrio no diretrio do pacote especificado. Essa opo no pode ser usada ao compactar um arquivo ANE.

Nota: O elemento <content> do arquivo do descritor do aplicativo deve especificar o local final do arquivo do aplicativo principal na rvore do diretrio do pacote do aplicativo. -extdir dir O valor dedir o nome de um diretrio onde buscar extenses nativas (arquivos ANE). Especifique um caminho absoluto ou um caminho relativo para o diretrio atual. possvel especificar a opo -extdirvrias vezes. O diretrio especificado contm arquivos ANE de extenses nativas que o aplicativo utiliza. Cada arquivo ANE nesse diretrio tem uma extenso de nome de arquivo .ane. Contudo, o nome de arquivo antes da extenso de nome de arquivo .ane no precisa corresponder ao valor do elemento extensionID do arquivo descritor do aplicativo. Por exemplo, se voc utilizar -extdir ./extensions, as extenses do diretrio podero ter a aparncia semelhante seguinte:
extensions/ extension1.ane extension2.ane

Nota: O uso da opo -extdir diferente para a ferramenta ADT e para a ferramenta ADL. Na ADL, a opo especifica um diretrio que contm subdiretrios, cada um contendo um arquivo ANE desempacotado. Na ADT, as opes especificam um diretrio que contm arquivos ANE.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

165

Opes de conexo do depurador


Quando o destino de um pacote for apk-debug, as opes de conexo podero ser usadas para especificar se o aplicativo tentar se conectar a um depurador remoto ou ficar na escuta de uma conexo de entrada proveniente de um depurador remoto. Use the -connect opo para conectar a um depurador; use a opo -listen para aceitar uma conexo proveniente de um depurador em uma conexo USB. A opo -connect usa a seguinte sintaxe:
-connect hostString

-connect Se estiver presente, o aplicativo tentar se conectar a um depurador remoto. hostString Uma sequncia de caracteres que identifica o computador que est executando a ferramenta de depurao Flash FDB. Se no for especificado, o aplicativo tentar se conectar a um depurador em execuo no computador no qual o pacote criado. A sequncia de caracteres de host pode ser um nome de domnio totalmente qualificado do computador: machinename.subgroup.example.com, ou um endereo IP: 192.168.4.122. Se a mquina especificada (ou padro) no puder ser encontrada, o tempo de execuo exibir uma caixa de dilogo solicitando um nome de host vlido. A opo --listenusa a seguinte sintaxe:
-listen port

-listen Se estiver presente, o tempor de execuo ir aguardar uma conexo proveniente de um depurador remoto. port (Opcional) A porta que ser escutada. Por padro, o tempo de execuo escuta na porta 7936. Para mais informaes sobre o uso da opo -listen, consulte Depurao remota com FDB atravs de USB na pgina 98.

Opes de determinao de perfis do aplicativo do Android


Quando o destino do pacote for apk-profile, as opes do gerador de perfil podem ser usadas para especificar qual arquivo SWF pr-carregado a ser usado para o desempenho e a determinao de perfis de memria. As opes do gerador de perfil usam a seguinte sintaxe:
-preloadSWFPath directory

-preloadSWFPath Se estiver presente, o aplicativo tentar localizar o arquivo SWF pr-carregado no diretrio especificado. Se no for especificado, o ADT inclui o arquivo SWF pr-carregado do AIR SDK. directory O diretrio que contm o arquivo SWF pr-carregado do gerador de perfis.

Opes de extenso nativas


As opes de extenso nativas especificam as opes e arquivos para desempacotar um arquivo ANE para uma extenso nativa. Utilize essas opes com um comando do pacote ADT no qual a opo de -target seja ane.
extension-descriptor -swc swcPath -platform platformName FILE_OPTIONS

extension-descriptor O arquivo de indexao para a extenso nativa. -swc O arquivo SWC contendo o cdigo ActionScript e recursos para a extenso nativa. -platform O nome da plataforma que oferece suporte para este arquivo ANE. possvel incluir vrias opes de platform, cada uma com suas FILE_OPTIONS. FILE_OPTIONS Identifica os arquivos da plataforma nativa a serem includos no pacote. As opes de arquivo esto descritas na ntegra em Opes de caminho e arquivo na pgina 164. (Observe que a opo -e no pode ser usada ao compactar um arquivo ANE.)

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

166

Mais tpicos da Ajuda


Compactando uma extenso nativa

Mensagens de erro do ADT


As tabelas a seguir listam os erros que o programa ADT pode reportar e suas possveis causas: Erros de validao do descritor do aplicativo
Cdigo do erro 100 Descrio No possvel analisar o descritor do aplicativo Observaes Verifique o arquivo do descritor do aplicativo para obter os erros de sintaxe XML, como tags abertas. Adicione o espao para nomes ausente. Verifique a ortografia do espao para nomes. Remova os elementos e atributos incorretos. Valores personalizados no so permitidos no arquivo de descritor. Verifique a ortografia dos nomes do elemento e dos atributos. Verifique se os elementos esto inseridos no elemento pai correto e se os atributos so usados com os elementos corretos. 104 Elemento ou atributo ausente Adicione o elemento ou atributo necessrio. Corrija o valor incorreto.

101 102

Espao para nomes ausente Espao para nomes invlido

103

Elemento ou atributo inesperado

105

Elemento ou atributo contm um valor invlido Combinao de atributos de janela ilegal

106

No possvel usar algumas configuraes de janela, como transparency = true e systemChrome = standard juntas. Altere uma das configuraes incompatveis.

107

O tamanho mnimo da janela maior que o Altere a configurao do tamanho mnimo tamanho mximo da janela ou do mximo. Atributo j usado no elemento anterior Elemento duplicado. necessrio pelo menos um elemento do tipo especificado. Remove o elemento duplicado. Adicione o elemento ausente.

108 109 110

111

Nenhum dos perfis listados no descritor do Adicione um perfil para a lista aplicativo compatvel com extenses supportedProfies que oferece suporte para nativas. extenses do nativas. O destino do AIR no oferece extenses nativas. <nativeLibrary> e <initializer> devem ser fornecidos juntos. Escolha um destino que suporte extenses nativas. Uma funo de inicializao dever ser especificada para cada biblioteca nativa na extenso nativa.

112

113

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

167

Cdigo do erro 114

Descrio Encontrado <finalizer> sem <nativeLibrary>.

Observaes No especifique um finalizador a menos que a plataforma use uma biblioteca nativa. No especifique uma biblioteca nativa no elemento da plataforma padro.

115

A plataforma padro no deve conter uma implementao nativa.

116

A execuo do navegador no suportada O elemento <allowBrowserInvocation> no pode para esse destino. ser true para o destino de compactao especificado. Esse destino exige pelo menos um namespace para empacotar extenses nativas. Altere o namespace na indexao do aplicativo para um valor suportado.

117

Consulte Arquivos descritores do aplicativo do AIR na pgina 186 para obter informaes sobre espaos para nomes, elementos, atributos e seus valores vlidos. Erros do cone do aplicativo
Cdigo do erro 200 Descrio No possvel abrir o arquivo de cone Observaes Verifique se o arquivo existe no caminho especificado. Use outro aplicativo para garantir que o arquivo possa ser aberto. 201 cone no tamanho errado O tamanho do cone (em pixels) deve corresponder tag XML. Por exemplo, dado o elemento do descritor do aplicativo:
<image32x32>icon.png</image32x3 2>

A imagem em icon.png deve ser exatamente de 32x32 pixels. 202 O arquivo do cone contm um formato de Somente o formato PNG tem suporte. imagem sem suporte Converta imagens em outros formatos antes de empacotar o aplicativo.

Erros de arquivo no aplicativo


Cdigo do erro 300 Descrio Arquivo ausente ou no possvel abrir arquivo Arquivo do descritor de aplicativo ausente ou no possvel abri-lo Observaes No possvel encontrar ou abrir um arquivo especificado na linha de comando. O arquivo do descritor do aplicativo no pode ser encontrado no caminho especificado ou no pode ser aberto. necessrio adicionar o arquivo SWF ou HTML referenciado no elemento <content> do descritor do aplicativo ao pacote incluindo-o nos arquivos listados na linha de comando do ADT.

301

302

Arquivo do contedo raiz ausente do pacote

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

168

Cdigo do erro 303

Descrio Arquivo de cone ausente do pacote

Observaes necessrio adicionar os arquivos de cone especificados no descritor do aplicativo ao pacote incluindo-os entre os arquivos listados na linha de comando do ADT. Os arquivos de cone no so adicionados automaticamente. O arquivo referenciado no elemento
<content> do descritor do aplicativo no

304

Contedo da janela inicial invlido

reconhecido como arquivo HTML ou SWF vlido. 305 A verso inicial do SWF de contedo da janela excedeu a verso do espao para nomes A verso SWF do arquivo referenciado no elemento <content> do descritor do aplicativo no tem suporte da verso do AIR especificado no espao para nomes do descritor. Por exemplo, se voc tentar empacotar um arquivo SWF10 (Flash Player 10) como contedo inicial de um aplicativo do AIR 1.1, gerar esse erro. O perfil que voc est especificando no descritor do aplicativo no suportado. Consulte supportedProfiles na pgina 214. Use o namespace adequado para os recursos usados no aplicativo (como o namespace 2.0).

306

Perfil no suportado.

307

O namespace deve ser pelo menos nnn.

Cdigos de sada de outros erros


Cdigo de sada Descrio 2 Erro de uso Observaes Verifique se h erros nos argumentos da linha de comando. Esse erro indica que no possvel explicar uma situao com condies de erro comuns. As possveis causas raiz incluem incompatibilidade entre o ADT e o Java Runtime Environment, instalaes de ADT ou JRE corrompidas e erros de programao dentro do ADT.

Erro desconhecido

No foi possvel gravar no diretrio de sada Verifique se o diretrio de sada especificado (ou implcito) est acessvel e se a unidade que o contm tem espao em disco suficiente. No foi possvel acessar o certificado Verifique se o caminho para o armazenamento de chaves est especificado corretamente. Verifique se o certificado do armazenamento de chaves pode ser acessado. O utilitrio Java 1.6 Keytool pode ser usado para ajudar a solucionar problemas de acesso ao certificado.

Certificado invlido

O arquivo de certificado foi malformado, modificado, expirado ou revogado.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

169

Cdigo de sada Descrio 9 No foi possvel assinar o arquivo AIR

Observaes Verifique as opes de assinaturas enviadas para o ADT.

10

No foi possvel criar um carimbo de data e O ADT no estabeleceu uma conexo com hora o servidor do carimbo de data e hora. Se voc se conecta Internet por meio de um servidor proxy, pode precisar definir as configuraes de proxy do JRE. Erro de criao do certificado Verifique os argumentos de linha de comando usados para criar assinaturas. Verifique os caminhos e outros argumentos enviados para o ADT na linha de comando. Verifique a configurao do SDK do dispositivo. O ADT no consegue localizar o SDK do dispositivo necessrio para executar o comando especificado. O ADT no pode executar o comando por causa de um problema ou restrio de dispositivo. Por exemplo, este cdigo de sada emitido ao tentar desinstalar um aplicativo que no esteja realmente instalado. Verifique se um dispositivo est conectado e ativado ou se um emulador est em execuo. O AIR SDK atual no inclui todos os componentes necessrios para executar a operao de solicitao. No foi possvel criar o pacote porque alguns componentes do sistema operacional esperados esto ausentes.

11

12

Entrada invlida

13

SDK de dispositivo ausente

14

Erro de dispositivo

15

Nenhum dispositivo

16

Componentes GPL ausentes

17

Falha na ferramenta de compactao do dispositivo.

Erros do Android

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

170

Cdigo de sada 400

Descrio

Observaes

A verso Android sdk atual no oferece suporte para o atributo.

Verifique se o nome do atributo foi escrito corretamente e se um atributo vlido para o elemento no qual ele aparece. Voc pode precisar configurar o sinalizador platformsdk no comando do ADT se o atributo foi introduzido aps o Android 2.2. Verifique se o valor do atributo est escrito corretamente e se um valor vlido para o atributo. Voc pode precisar configurar o sinalizador -platformsdk no comando do ADT se o valor do atributo foi introduzido aps o Android 2.2. Verifique se o nome da marca XML est correta e o elemento do documento de manifesto do Android vlido. Voc pode precisar configurar o sinalizador platformsdk no comando do ADT se o elemento foi introduzido aps o Android 2.2.

401

A verso Android sdk atual no oferece suporte para o valor do atributo.

402

A verso Android sdk atual no oferece suporte para a marca XML.

403

A marca Android no tem permisso para O aplicativo est tentando substituir um ser substituda elemento do manifesto do Android que est reservado para uso pelo AIR. Consulte Configuraes do Android na pgina 75. O atributo do Android no tem permisso O aplicativo est tentando substituir um para ser substitudo atributo do manifesto do Android que est reservado para uso pelo AIR. Consulte Configuraes do Android na pgina 75. A marca %1 do Android dever ser o primeiro elemento na marca manifestAdditions O atributo %1 da marca %2 do Android possui um valor de %3 invlido. Mude a marca especificada para o local exigido.

404

405

406

Fornea um valor vlido para o atributo.

Variveis de ambiente ADT


O ADT l os valores das seguintes variveis do ambiente (se estiverem definidos): AIR_ANDROID_SDK_HOME especifica o caminho para o diretrio raiz do Android SDK (o diretrio que contm a pasta de ferramentas). O AIR 2.6 SDK inclui as ferramentas do Android SDK necessrias para implementar os comandos relevantes do ADT. Somente defina este valor para usar uma verso diferente do Android SDK. Se esta varivel estiver definida, a opo -platformsdk no precisa ser especificada ao executar os comandos do ADT que a exigem. Se esta varivel e a opo de linha de comando estiverem definidas, o caminho especificado na linha de comando usado.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

171

AIR_EXTENSION_PATH especifica uma lista de diretrios para buscar extenses nativas exigidas por um aplicativo. A lista de diretrios pesquisada em ordem aps quaisquer diretrios de extenso nativa especificados na linha de comando da ADT. O comando ADL tambm utiliza essa varivel de ambiente. Nota: Em alguns sistemas de computadores, caracteres de bytes duplos nos caminhos do sistema de arquivos armazenados nessas variveis de ambiente podem ser mal-interpretados. Se isto acontecer, tente definir o JRE usado para executar o ADT para usar o conjunto de caracteres UTF-8. Isso feito por padro no script usado para iniciar o ADT no Mac e no Linux. No arquivo adt.bat do Windows, ou ao executar o ADT diretamente do Java, especifique a opo Dfile.encoding=UTF-8 na linha de comando Java.

ltima atualizao em 13/10/2011

172

Captulo 13: Assinatura de aplicativos AIR


Assinatura digital de um arquivo AIR
Assinar digitalmente seus arquivos de instalao do AIR com um certificado emitido por uma autoridade de certificao reconhecida (CA) fornece uma garantia significativa aos seus usurios de que o aplicativo que esto instalando no foi alterado de modo acidental ou mal-intencionado e o identifica como o signatrio (editor). O AIR exibe o nome do editor durante a instalao quando o aplicativo do AIR tiver sido assinado com um certificado confivel ou que esteja vinculado a um certificado confivel no computador de instalao:

Caixa de dilogo da confirmao da instalao assinada por certificado confivel

Se voc assinar um aplicativo com um certificado autoassinado (ou um certificado que no esteja ligado a um certificado confivel), o usurio dever assumir um risco de segurana maior ao instalar o seu aplicativo. As caixas de dilogo de instalao refletem este risco adicional:

A caixa de dilogo da confirmao da instalao do aplicativo, assinada por certificado autoassinado.

Importante: Uma entidade mal-intencionada poderia falsificar um arquivo AIR com sua identidade se ela, de alguma forma, obtiver seu arquivo de armazenamento de chaves de assinatura ou descobrir sua chave privada.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

173

Certificados de assinatura de cdigo


As garantias de segurana, limitaes e obrigaes legais que envolvem o uso de certificados de assinatura de cdigo so descritas nas Declaraes de Prticas de Certificao (CPS) e nos contratos de assinatura publicados pela autoridade de certificao emissora. Para obter mais informaes sobre os contratos das autoridades de certificao que emitem atualmente certificados de assinatura de cdigo do AIR, consulte: ChosenSecurity (http://www.chosensecurity.com/products/tc_publisher_id_adobe_air.htm) ChosenSecurity CPS (http://www.chosensecurity.com/resource_center/repository.htm) GlobalSign (http://www.globalsign.com/code-signing/index.html) CPS da GlobalSign (http://www.globalsign.com/repository/index.htm) CPS da Thawte (http://www.thawte.com/cps/index.html) VeriSign CPS (http://www.verisign.com/repository/CPS/) Contrato de assinante do VeriSign (https://www.verisign.com/repository/subscriber/SUBAGR.html)

Sobre a assinatura de cdigo do AIR


Quando um arquivo AIR assinado, uma assinatura digital includa no arquivo de instalao. A assinatura inclui uma compilao do pacote, usada para verificar se o arquivo AIR no foi alterado desde que foi assinado e se ele inclui informaes sobre o certificado de assinatura, usado para verificar a identidade do editor. O AIR usa a infraestrutura de chave pblica (PKI) suportada pelo armazenamento de certificados do sistema operacional para estabelecer se um certificado pode ser confivel. O computador no qual um aplicativo do AIR est instalado deve confiar diretamente no certificado usado para assinar o aplicativo do AIR ou deve confiar em uma cadeia de certificados que vincula o certificado a uma autoridade de certificao confivel para que as informaes do editor sejam verificadas. Se um arquivo AIR for assinado com um certificado que no vincula a nenhum dos certificados raiz confiveis (e normalmente isso inclui todos os certificados autoassinados), as informaes do editor no podem ser verificadas. Embora o AIR possa determinar que o pacote do AIR no foi alterado desde que ele foi assinado, no h como saber quem realmente criou e assinou o arquivo. Nota: Um usurio pode optar por confiar em um certificado autoassinado e, em seguida, qualquer aplicativo do AIR assinado com o certificado exibir o valor do campo de nome comum no certificado como o nome do editor. O AIR no fornece nenhum meio de um usurio designar um certificado como confivel. O certificado (no incluindo a chave privada) deve ser fornecido ao usurio separadamente e o usurio deve usar um dos mecanismos fornecidos pelo sistema operacional ou uma ferramenta apropriada para importar o certificado no local apropriado no armazenamento de certificados do sistema.

Sobre identificadores de editor do AIR


Importante: A partir do AIR 1.5.3 o ID do editor no mais utilizado e no possui mais base calculada no certificado de assinatura de cdigo. Novos aplicativos no precisam utilizar um ID do editor. Ao atualizar aplicativos existente, necessrio especificar o ID do editor original no arquivo descritor do aplicativo. Antes do AIR 1.5.3, o instalador de aplicativo do AIR gerava um ID do editor durante a instalao do arquivo AIR. Isto era um identificador nico do certificado usado para criar o arquivo AIR. Se voc reutilizou o mesmo certificado para vrios aplicativos do AIR, eles receberam o mesmo ID do editor. A assinatura de uma atualizao de aplicativo com um certificado diferente e at mesmo uma instncia renovada do certificado original alterava o ID do editor.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

174

No AIR 1.5.3 e posterior, o ID do editor no mais atribuddo pelo AIR. Um aplicativo publicado com o AIR 1.5.3 pode especificar uma cadeia de caracteres de ID do editor no descritor do aplicativo. Voc somente deve especificar um ID do editor ao publicar atualizaes de aplicativos originalmente publicados em verses do AIR anteriores 1.5.3. Se voc no especificar o ID original no descritor do aplicativo, o novo pacote AIR no ser tratado como uma atualizao de um aplicativo existente. Para descobrir o ID do editor original, localize o arquivopublisherid no subdiretrio META-INF/AIR onde o aplicativo original est instalado. A sequncia de caracteres no arquivo o ID do editor. O descritor o aplicativo deve especificar o tempo de execuo AIR 1.5.3 (ou posterior) na declarao de espao de nome do arquivo descritor do aplicativo para especificar o ID do editor manualmente. O ID do editor, quando existir, utilizado para os seguintes fins:

Como parte da chave de criptografia o armazenamento local criptografado Como parte o caminho para o diretrio de armazenamento do aplicativo Como parte da sequncia de caracteres de conexo para conexes locais
Como parte da sequncia de caracteres de identidade utilizada para chamar o aplicativo com a API interna de navegador AIR

Como parte o OSID (utilizado na criao de programas personalizados de instalao/desinstalao)


Quando um ID de editor muda, o comportamento de qualquer recurso AIR dependente do ID tambm muda. Por exemplo, os dados existentes no armazenamento local criptografado no podem mais ser acessados e qualquer instncia do Flash ou AIR que cria uma conexo local para o aplicativo deve utiizar o novo ID na sequncia de caracteres de conexo. O ID do editor de um aplicativo instalado no pode ser alteraddo no AIR 1.5.3 ou posterior. Se voc utilizar um ID do editor diferente ao publicar um pacote AIR, o instalador tratar o novo pacote como um aplicativo diferente, em vez de uma instalao.

Sobre formatos de certificados


As ferramentas de assinatura do AIR aceitam qualquer armazenamento de chave acessvel pela JCA (arquitetura de criptografia Java). Isso inclui armazenamentos de chaves baseados em arquivos como arquivos de formatos PKCS12 (que normalmente usam uma extenso de arquivo .pfx ou .p12), arquivos .keystore Java, armazenamentos de chaves de hardware PKCS11 e armazenamentos de chaves de sistema. Os formatos de armazenamento de chave que o ADT pode acessar dependem da verso e configurao do tempo de execuo Java usado para executar o ADT. Acessar alguns tipos de armazenamento de chave, como tokens de hardware PKCS11, pode exigir a instalao e configurao de drivers de software adicionais e plug-ins de JCA. Para assinar arquivos do AIR, voc pode usar a maioria dos certificados de assinatura de cdigo existentes ou obter um novo, emitido expressamente para assinar aplicativos do AIR. Por exemplo, qualquer um dos seguintes tipos de certificado da VeriSign, Thawte, GlobalSign ou ChosenSecurity podem ser usados:

ChosenSecurity ID de editor TC para Adobe AIR GlobalSign Certificado de assinatura de cdigo ObjectSign Thawte: Certificado do desenvolvedor do AIR Certificado do desenvolvedor Apple Certificado do desenvolvedor JavaSoft

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

175

Certificado Microsoft Authenticode VeriSign: ID digital do Adobe AIR ID digital Microsoft Authenticode ID digital de assinatura Sun Java
Nota: O certificado deve ser criado para assinatura de cdigo. Voc no pode usar um SSL ou outro tipo de certificado para assinar arquivos do AIR.

Carimbos de data/hora
Quando voc assina um arquivo AIR, a ferramenta de empacotamento consulta o servidor de uma autoridade de carimbo de data/hora para obter uma data e hora da assinatura independentemente verificveis. a marca de data/hora est incorporado no arquivo AIR. Desde que o certificado de assinatura seja vlido no momento da assinatura, o arquivo AIR poder ser instalado, mesmo depois que o certificado expirar. Por outro lado, se nenhum carimbo de data/hora for obtido, o arquivo AIR no poder mais ser instalado quando o certificado expirar ou for revogado. Por padro, as ferramentas de empacotamento do AIR obtm um carimbo de data/hora. No entanto, para permitir que aplicativos sejam empacotados quando o servio de carimbo de data/hora estiver indisponvel, voc pode desativar o recurso de carimbo de data/hora. A Adobe recomenda que todos os arquivos do AIR distribudos publicamente incluam um carimbo de data/hora. A autoridade padro de carimbo de data/hora usada pelas ferramentas de empacotamento do AIR Geotrust.

Obteno de um certificado
Para obter um certificado, voc normalmente visitaria o site da autoridade de certificao na Web e completaria o processo de obteno da empresa. As ferramentas usadas para produzir o arquivo de armazenamento de chave necessrio pelas ferramentas do AIR dependem do tipo de certificado adquirido, de como o certificado armazenado no computador recebedor e, em alguns casos, o navegador usado para obter o certificado. Por exemplo, para obter e exportar um certificado do Adobe Developer do Thawte, voc deve usar o Mozilla Firefox. O certificado pode ento ser exportado como um arquivo .12 diretamente da interface do usurio do Firefox. Nota: Verses do Java 1.5 e acima no aceitam caracteres ASCII superiores nas senhas usadas para proteger arquivos de certificado PKCS12. O Java usado pelas ferramentas de desenvolvimento do AIR para criar os pacotes assinados do AIR. Quando voc exportar o certificado como um arquivo .p12 ou .pfx, use somente caracteres ASCII normais na senha. Voc pode gerar um certificado autoassinado usando a ferramenta para desenvolvedores do AIR (ADT) usada para empacotar arquivos de instalao do AIR. Algumas ferramentas de terceiros tambm podem ser usadas. Para obter instrues como gerar um certificado autoassinado, bem como instrues sobre como assinar um arquivo do AIR, consulte AIR Developer Tool (ADT) na pgina 149. Voc tambm pode exportar e assinar arquivos do AIR usando o Flash Builder, Dreamweaver e a atualizao do AIR para o Flash. O exemplo a seguir descreve como obter um Certificado de desenvolvedor do AIR da autoridade de certificao Thawte e prepar-lo para o uso com o ADT.

Exemplo: Obteno de um certificado do desenvolvedor do AIR da Thawte


Nota: Este exemplo ilustra apenas uma das vrias maneiras de se obter e preparar um certificado de assinatura do cdigo para o uso. Cada autoridade de certificao tem suas prprias polticas e procedimentos.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

176

Para adquirir um certificado do desenvolvedor do AIR, o site da Thawte na Web requer que voc use o navegador Mozilla Firefox. A chave privada para o certificado armazenada no armazenamento de chave do navegador. Verifique se o armazenamento de chave do Firefox protegido por uma senha mestre e se o computador em si fisicamente seguro. (Voc pode exportar e remover o certificado e a chave privada do armazenamento de chave do navegador quando o processo de obteno estiver concludo.) Como parte do processo de inscrio do certificado, gerado um par de chave privada/pblica. A chave privada armazenada automaticamente no armazenamento de chave do Firefox. Voc deve usar o mesmo computador e navegador para solicitar e recuperar o certificado do site da Thawte na Web.
1 Visite o site da Thawte na Web e navegue at Pgina de produtos para certificados de assinatura de cdigo. 2 Da lista de certificados de assinatura de cdigo, selecione o certificado do desenvolvedor do Adobe AIR. 3 Complete o processo de inscrio de trs etapas. Voc precisa fornecer informaes organizacionais e de contato.

A Thawte executa ento seu processo de verificao de identidade e pode solicitar informaes adicionais. Aps a concluso da verificao, a Thawte enviar um e-mail com instrues sobre como recuperar o certificado. Nota: informaes adicionais sobre o tipo de documentao necessria podem ser encontradas aqui: https://www.thawte.com/ssl-digital-certificates/free-guides-whitepapers/pdf/enroll_codesign_eng.pdf.
4 Recupere o certificado emitido do site da Thawte. O certificado salvo automaticamente no armazenamento de

chave do Firefox.
5 Exporte um arquivo de armazenamento de chave contendo a chave privada e o certificado do armazenamento de

chave do Firefox usando as seguintes etapas: Nota: Ao exportar a chave privada/certificado do Firefox, ele exportado em um formato de .p12 (pfx) que o ADT, Flex, Flash e o Dreamweaver podem usar.
a Abra a caixa de dilogo do gerenciador de certificados do Firefox: b No Windows: abra Tools (Ferramentas) -> Options (Opes) -> Advanced (Avanadas) -> Encryption

(Criptografia) -> View Certificates (Exibir certificados)


c No Mac OS: abra Firefox (Firefox) -> Preferences (Preferncias) -> Advanced (Avanadas) -> Encryption

(Criptografia) -> View Certificates (Exibir certificados)


d No Linux: abra Edit (Editar) -> Preferences (Preferncias) -> Advanced (Avanadas) -> Encryption

(Criptografia) -> View Certificates (Exibir certificados)


e Selecione o certificado de assinatura do cdigo do Adobe AIR da lista de certificados e clique no boto Backup. f

Digite um nome de arquivo e a localizao para a qual exportar o arquivo de armazenamento de chave e clique em Save (Salvar). segurana do software para exportar o arquivo. (Essa senha usada apenas pelo Firefox.)

g Se estiver usando a senha mestre do Firefox, ser solicitado que voc digite sua senha para o dispositivo de h Na caixa de dilogo Choose a Certificate Backup Password (Escolha uma senha de backup de certificado), crie

uma senha para o arquivo de armazenamento de chave. Importante: Essa senha protege o arquivo de armazenamento de chave e necessria quando o arquivo usado para assinar aplicativos do AIR. Uma senha segura deve ser escolhida.
i

Clique em OK. Voc deve receber uma mensagem de senha de backup bem-sucedida. O arquivo de armazenamento de chave contendo a chave privada e o certificado salvo com uma extenso de arquivo .p12 (no formato PKCS12)

6 Use o arquivo de armazenamento de chave exportado com o ADT, Flash Builder, Flash Professional ou

Dreamweaver. A senha criada para o arquivo necessria sempre que um aplicativo do AIR assinado.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

177

Importante: A chave privada e o certificado ainda so armazenados no armazenamento de chave do Firefox. Enquanto isso permite que voc exporte uma cpia adicional do arquivo de certificado, tambm fornece outro ponto de acesso que deve ser protegido para manter a segurana do seu certificado e da chave privada.

Alterao de certificados
Em alguns casos, voc deve alterar o certificado utilizado para assinar atualizaes para seu aplicativo do AIR. Tais circunstncias incluem:

Renovando o certificado de assinatura original. Atualizao de um certificado autoassinado para um certificado emitido por uma autoridade de certificao Alterao de um certificado autoassinado prestes a expirar para outro Alterar de um certificado comercial para outro, por exemplo, quando sua identidade corporativa for alterada
Para que o AIR reconhea um arquivo AIR como uma atualizao, voc deve assinar o arquivo AIR original e a atualizao como mesmo certificado ou aplicar uma assinatura de migrao de certificado atualizao. Uma assinatura de migrao a segunda assinatura aplicada ao pacote AIR de atualizao, utilizando o certificado original. A assinatura de migrao usa o certificado original para estabelecer que o signatrio o editor original do aplicativo. Aps o arquivo AIR com a assinatura de migrao ser instalado, o novo certificado tornar-se o certificado primrio. Atualizaes subsequentes no requerem uma assinatura de migrao. No entanto, voc deve aplicar assinaturas de migrao pelo mximo de tempo possvel, para acomodar usurios que ignoram atualizaes. Importante: Voc deve alterar o certificado e aplicar uma assinatura de migrao para a atualizao com o certificado original, antes que este expire. Caso contrrio, os usurios devem desinstalar a verso existente do aplicativo antes de instalar uma nova verso. Para AIR 1.5.3 ou posterior, voc pode aplicar uma assinatura de migrao utilizando um certificado expirado dentro de um perodo de prorrogao de 180 dias do seu fim. Contudo, no possvel utilizar um certificado expirado para aplicar a assinatura de aplicativo principal. Para alterar os certificados:
1 Crie uma atualizao para o seu aplicativo 2 Empacote e assine o arquivo de atualizao do AIR com o novo certificado 3 Assine o arquivo AIR novamente com o certificado original (usando o comando -migrate do ADT)

Um arquivo AIR com uma assinatura de migrao , em outros aspectos, um arquivo AIR normal. Se o aplicativo instalado em um sistema sem a verso original, o AIR instala a nova verso da maneira normal. Nota: Antes ddo AIR 1.5.3, a assinatura de um aplicativo do AIR com um certificado renovado nem sempre requeria uma assinatura de migrao. A partir do AIR 1.5.3, uma assinatura de migrao obrigatria para certificados renovados. O procedimento para aplicao de uma assinatura de migrao descrito em Comando migrate do ADT na pgina 156. Alteraes de identiade de aplicativo Antes do AIR 1.5.3, a identidade de um aplicativo do AIR era alterada quando uma atualizao assinada com uma assinatura de migrao era instalada. A alterao da identidade de um aplicativo possui diversas implicaes, incluindo:

A nova verso do aplicativo no pode acessar dados no armazenamento local criptografado existente. O local do diretrio de armazenamento do aplicativo alterado. Os dados no local antigo no so copiados para o
novo diretrio. (Mas o novo aplicativo pode localizar o diretrio original com base no ID do editor antigo).

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

178

O aplicativo no pode mais abrir conexes locais usando o ID do editor antigo. A sequncia de caracteres de identidade utilizada para acessar o aplicativo a partir de uma pgina da web era
alterada.

O OSID do aplicativo era alterado. (O OSID utilizado durante o desnvolvimento de programas personalizados de
instalao/desinstalao). A identidade do aplicativo no pode ser alterada durante a publicao de uma atualizao do AIR 1.5.3. Os ID de editor e o aplicativo original devem ser especificados no descritor do aplicativo o arquivo AIR de atualizao. De outra forma, o novo pacote no reconhecido como uma atualizao. Nota: Ao publicar um novo aplicativo do AIR com o AIR 1.5.3 ou superior, voc no deve especificar um ID do editor.

Terminologia
Esta seo fornece um glossrio de um pouco da terminologia principal que voc deve entender ao tomar decises sobre como assinar seu aplicativo para distribuio pblica.
Termo Autoridade de certificao (CA) Descrio Uma entidade em uma rede de infraestrutura de chave pblica que serve como um terceiro confivel e, por ltimo, certifica a identidade do proprietrio de uma chave pblica. Uma CA normalmente emite certificados digitais, assinados por sua prpria chave privada, para atestar que ela verificou a identidade do proprietrio do certificado. Apresenta as prticas e polticas da autoridade de certificao em emitir e verificar certificados. A CPS parte do contrato entre a CA e seus assinantes e terceiros. Ela tambm resume as polticas para verificao de identidade e o nvel de garantias oferecidas pelos certificados que elas fornecem.

Declarao de Prtica de Certificao (CPS)

Lista de revogao de certificado (CRL) Uma lista de certificados emitidos que foram revogados e nos quais no se deve mais confiar. O AIR verifica o CRL no momento em que um aplicativo do AIR assinado e, se nenhum carimbo de data/hora estiver presente, novamente quando o aplicativo for instalado. Cadeia de certificados Uma cadeia de certificados uma sequncia de certificados na qual cada certificado da cadeia foi assinado pelo certificado seguinte. Um documento digital que contm informaes sobre a identidade do proprietrio, a chave pblica do proprietrio e a identidade do certificado em si. Um certificado emitido por uma autoridade de certificao em si assinado por um certificado que pertence CA emissora. Uma mensagem criptografada ou uma compilao que pode apenas ser descriptografada com metade da chave pblica de um par de chave pblica-privada. Em uma PKI, uma assinatura digital contm um ou mais certificados digitais rastreveis, por ltimo, para a autoridade de certificao. Uma assinatura digital pode ser usada para validar que uma mensagem (ou arquivo do computador) no foi alterada desde que ela foi assinada (nos limites da garantia fornecida pelo algoritmo criptogrfico usado) e, supondo que algum confia na autoridade de certificao emissora, a identidade do signatrio. Um banco de dados contendo certificados digitais e, em alguns casos, as chaves privadas relacionadas. Uma arquitetura extensvel para gerenciar e acessar armazenamentos de chaves. Consulte o Guia de referncia da arquitetura de criptografia Java para obter mais informaes. O padro de interface de token criptogrfico da RSA Laboratories. Um armazenamento de chave baseado em token de hardware. O padro de sintaxe do Exchange de informaes pessoais da RSA Laboratories. Um armazenamento de chave baseado em arquivo que normalmente contm uma chave privada e seu certificado digital associado.

Certificado digital

Assinatura digital

Armazenamento de chave

JCA (arquitetura de criptografia Java)

PKCS n 11

PKCS n 12

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

179

Termo Chave privada

Descrio A metade privada de um sistema criptogrfico assimtrico de chave pblica-privada de duas partes. A chave privada deve ser mantida em segredo e nunca deve ser transmitida pela rede. Mensagens assinadas digitalmente so criptografadas com a chave privada pelo signatrio. A metade pblica de um sistema criptogrfico assimtrico de chave pblica-privada de duas partes. A chave pblica est abertamente disponvel e usada para descriptografar mensagens criptografadas com a chave privada. Um sistema de confiana no qual as autoridades de certificao atestam para a identidade dos proprietrios de chaves pblicas. Clientes da rede confiam nos certificados digitais emitidos por uma CA confivel para verificar a identidade do signatrio de uma mensagem digital (ou arquivo). Um dado assinado digitalmente contendo a data e hora em que um evento ocorreu. O ADT pode incluir um carimbo de data/hora de um servidor compatvel com hora RFC 3161 em um pacote do AIR. Quando presente, o AIR usa o carimbo de data/hora para estabelecer a validade de um certificado no momento da assinatura. Isso permite que um aplicativo do AIR seja instalado aps seu certificado de assinatura ter expirado. Uma autoridade que emite carimbos de data/hora. Para ser reconhecido pelo AIR, o carimbo de data/hora deve estar em conformidade com RFC 3161 e a assinatura de carimbo de data/hora deve ser vinculada a um certificado raiz confivel na mquina de instalao.

Chave pblica

Infraestrutura de chave pblica (PKI)

Carimbo de data/hora

Autoridade de carimbo de data/hora

Certificados do iOS
Os certificados de assinatura de cdigo emitidos pela Apple so usados para aplicaes de assinatura do iOS, incluindo aqueles desenvolvidos com o Adobe AIR. necessria a aplicao de uma assinatura com um certificado de desenvolvimento da Apple para instalar uma aplicao em dispositivos de teste. necessria a aplicao de uma assinatura com um certificado de distribuio para distribuir o aplicativo concludo. Para assinar um aplicativo, o ADT requer acesso ao certificado de assinatura do cdigo e chave privada associada. O arquivo de certificado, por si s, no inclui a chave privada Voc deve criar um armazenamento de chave sob a forma de arquivo .P12 ou .pfx (Personal Information Exchange) que contm o certificado e a chave privada. Consulte Converter um certificado de desenvolvedor em um arquivo de armazenamento de chave P12 na pgina 180.

Gerar uma solicitao de assinatura de certificado


Para obter um certificado de desenvolvedor gere um arquivo de solicitao de assinatura de certificado, que ser enviado para o Portal de aprovisionamento Apple iOS. O processo de solicitao de assinatura de certificado gera um par de chaves pblica-privada. A chave privada permanece no seu computador. Voc envia a solicitao de assinatura que contm a chave pblica e seus dados de identificao para a Apple, que atua no papel de autoridade de certificao. A Apple assina o certificado com seu prprio certificado WWDR (World Wide Developer Relations). Gerar a solicitao de assinatura de certificado no Mac OS No Mac OS, possvel utilizar o aplicativo Acesso Porta-chaves para gerar uma solicitao de assinatura de cdigo. O aplicativo Acesso ao Porta-chaves est no subdiretrio "Utilitrios" do diretrio "Aplicaes". As instrues para gerar a solicitao de assinatura de certificado esto disponveis no Portal de aprovisionamento Apple iOS.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

180

Gerar a solicitao de assinatura de certificado no Windows Para desenvolvedores do Windows, talvez seja mais fcil obter o certificado de desenvolvedor de iPhone em um computador Mac. No entanto, possvel obter o certificado em um computador Windows. Primeiro, crie o arquivo CSR (Certificate Signing Request) usando o OpenSSL:
1 Instale o OpenSSL em seu computador Windows. (V para http://www.openssl.org/related/binaries.html).

Voc deve instalar os arquivos do Visual C++ 2008 Redistributable, indicados na pgina de download do Open SSL. (A instalao do Visual C++ no computador no necessria).
2 Abra a sesso de comandos do Windows e CD para o diretrio OpenSSL bin (por exemplo, c:\OpenSSL\bin\). 3 Crie a chave particular digitando as informaes abaixo na linha de comando:
openssl genrsa -out mykey.key 2048

Salve o arquivo de chave particular. O arquivo ser utilizado posteriormente. No ignore as mensagens de erro ao utilizar o OpenSSL. Mesmo que o OpenSSL gere uma mensagem de erro, ele ainda pode gerar os arquivos. No entanto, estes arquivos podem no ser utilizveis. Se ocorrerem erros, verifique a sintaxe e execute o comando novamente.
4 Crie o arquivo CSR digitando as informaes abaixo na linha de comando:
openssl req -new -key mykey.key -out CertificateSigningRequest.certSigningRequest "/emailAddress=yourAddress@example.com, CN=John Doe, C=US" -subj

Substitua os valores de endereo de e-mail, CN (nome de certificado) e C (pas) pelos seus valores.
5 Faa o upload do arquivo CSR para a Apple no site de desenvolvedor iPhone. (Consulte Registrar-se para obter

um certificado de desenvolvedor iPhone e criar um arquivo de aprovisionamento.)

Converter um certificado de desenvolvedor em um arquivo de armazenamento de chave P12


Para criar um armazenamento de chave P12, voc deve combinar o seu certificado de desenvolvedor da Apple e a chave privada associada em um nico arquivo. O processo para criar o arquivo de armazenamento de chave depende do mtodo usado para gerar a solicitao de assinatura do certificado original e onde a chave privada armazenada. Convertendo o certificado de desenvolvedor de iPhone em um arquivo P12 no Mac OS Aps baixar o certificado da Apple iPhone, exporte-o para o formato de armazenamento de chave P12. Para executar isso no Mac OS:
1 Abra o aplicativo Acesso ao Porta-chaves (na pasta "Aplicaes/Utilitrios"). 2 Se ainda no adicionou o certificado s Chaves, selecione Ficheiro > Importar elementos... Navegue at o diretrio

do arquivo de certificado (arquivo .cer) obtido da Apple.


3 Selecione a categoria "Chaves" no Acesso ao Porta-chaves. 4 Selecione a chave particular associada ao seu certificado de desenvolvimento de iPhone.

O desenvolvedor de iPhone identifica a chave particular: Certificado pblico <nome> <sobrenome> com o qual coincide.
5 Clique com a tecla Command no certificado de desenvolvedor do iPhone e selecione Exportar "iPhone Developer:

Name...".
6 Salve o armazenamento de chave no formato de arquivo .p12 (Personal Information Exchange).

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

181

7 Ser solicitado que voc crie uma senha usada ao utilizar o armazenamento de chave para assinar aplicativos ou

para transferir a chave e o certificado neste armazenamento de chave para outro. Converter um certificado de desenvolvedor da Apple em um arquivo P12 no Windows Para desenvolver aplicativos AIR para iOS, voc deve usar um arquivo de certificado P12. Crie esse certificado com base no arquivo de certificado de desenvolvedor de iPhone da Apple que voc recebe da Apple.
1 Converta o arquivo de certificado de desenvolvedor que recebe da Apple em um arquivo de certificado PEM. Digite

o seguinte comando na linha de comando do diretrio "bin" do OpenSSL:


openssl x509 -in developer_identity.cer -inform DER -out developer_identity.pem -outform PEM

2 Se estiver usando a chave particular de um keychain em um computador Mac, converta-a em uma chave PEM.
openssl pkcs12 -nocerts -in mykey.p12 -out mykey.pem

3 possvel criar um arquivo P12 vlido, com base na chave e na verso PEM do certificado de desenvolvedor de

iPhone:
openssl pkcs12 -export -inkey mykey.key -in developer_identity.pem -out iphone_dev.p12

Se estiver usando a chave do Mac OS Keychain, use a verso PEM que criou na etapa anterior. Do contrrio, use a chave do OpenSSL que criou anteriormente (no Windows).

Criao de um arquivo intermedirio do AIR no assinado com o ADT


Use o comando -prepare para criar um arquivo intermedirio do AIR no assinado. Um arquivo intermedirio do AIR deve ser assinado com o comando do ADT -sign para produzir um arquivo de instalao do AIR vlido. O comando -prepare emprega os mesmos sinalizadores e parmetros do comando -package (exceto para as opes de assinatura). A nica diferena que o arquivo de sada no assinado. O arquivo intermedirio gerado com a extenso de nome de arquivo: airi. Para assinar um arquivo intermedirio do AIR, use o comando do ADT -sign. (Consulte Comando prepare do ADT na pgina 155. Exemplo do commando -prepare do ADT
adt -prepare unsignedMyApp.airi myApp.xml myApp.swf components.swc

Assinatura de um arquivo intermedirio do AIR com o ADT


Para assinar um arquivo intermedirio do AIR com o ADT, use o comando -sign. O comando sign funciona apenas com arquivos intermedirios do AIR (extenso airi). Um arquivo AIR no pode ser assinado uma segunda vez. Para criar um arquivo intermedirio do AIR, use o comando do ADT -prepare. (Consulte Comando prepare do ADT na pgina 155. Assinatura de um arquivo AIRI Use o comando do ADT -sign com a seguinte sintaxe:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

182

adt -sign SIGNING_OPTIONS airi_file air_file

SIGNING_OPTIONS As opes de assinatura identificam a chave privada e o certificado com o qual o arquivo AIR ser assinado. Essas opes so descritas em Opes de assinatura de cdigo ADT na pgina 161. airi_file O caminho para o arquivo intermedirio no assinado do AIR a ser assinado. air_file O nome do arquivo AIR a ser criado. Exemplo do commando -sign do ADT
adt -sign -storetype pkcs12 -keystore cert.p12 unsignedMyApp.airi myApp.air

Para obter mais informaes, consulte Comando sign do ADT na pgina 155.

Assinatura de uma verso atualizada de um aplicativo do AIR


Voc pode usar um certificado novo ou renovado para assinar uma verso atualizada de um aplicativo do AIR existente. Aplique uma assinatura de migrao de certificado para a atualizao usando o comando -migrate do ADT, como descrito a seguir. Aplique uma assinatura de migrao usando o certificado original para o aplicativo do AIR. A assinatura de migrao confirma que o proprietrio do certificado original publicou a atualizao. Antes de aplicar uma assinatura de migrao, considere os seguintes pontos:

Para aplicar uma assinatura de migrao, o certificado original deve ser vlido ou estar expirado por no mximo
180 dias. Esse perodo denominado como o "perodo de prorrogao" e a durao pode mudar no futuro.

Voc no pode aplicar uma assinatura de migrao aps o certificado expirar e transcorrerem os 180 dias do
perodo de prorrogao. Voc deve desinstalar a verso existente antes de instalar a atualizada.

O perodo de prorrogao de 180 dias somente se aplica a aplicativos que especificam o AIR verso 1.5.3 ou superior
no namespace do descritor do aplicativo. Importante: As atualizaes de assinatura com assinaturas de migrao de certificados expirados uma soluo temporria. Para uma soluo global, crie um fluxo de trabalho de assinatura padronizada para gerenciar a implementao de atualizaes de aplicativos. Carregue cada atualizao com o certificado mais recente de uma URL separada de onde os usurios podem implementar o aplicativo. Assine cada nova atualizao nessa URL de implementao com certificado mais recente, e aplique uma migrao utilizando o certificado usado para assinar a atualizao anterior. Para obter mais informaes, consulte Marcando o fluxo de trabalho para atualizaes do aplicativo na pgina 237. A tabela a seguir resume o fluxo de trabalho para assinaturas de migrao:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

183

Cenrio

Estado do ID do editor/certificado Estado do certificado Vlido

Ao do desenvolvedor

Ao do usurio

Aplicativo com base em tempo de execuo do Adobe AIR verso 1.5.3 ou superior Certificado C1

Publicar a verso mais recente do aplicativo do AIR

Nenhuma ao necessria Aplicativo atualizado automaticamente

Expirado e fora do Voc no pode aplicar a assinatura de migrao Desinstale a verso atual do perodo de prorrogao para a atualizao do aplicativo do AIR. aplicativo do AIR e instale a verso mais recente Em vez disso, voc deve publicar uma outra verso do aplicativo do AIR usando um novo certificado. Os usurios podem instalar a nova verso depois de desinstalar a existente do aplicativo do AIR. Expirado mas dentro do Qualquer uma das aes detalhadas nas perodo de prorrogao colunas acima de 180 dias Nenhuma ao necessria Aplicativo atualizado automaticamente

Aplicativo com base em tempo de execuo do Adobe AIR verso 1.5.2 ou inferior Certificado C1

ID de editor original no descritor do aplicativo Disponvel. Os detalhes a seguir relacionados ao certificado C1 so aplicados: Vlido Publicar a verso mais recente do aplicativo do AIR Nenhuma ao necessria Aplicativo atualizado automaticamente

Expirado e fora do Voc no pode aplicar a assinatura de migrao Desinstale a verso atual do perodo de prorrogao para a atualizao do aplicativo do AIR. aplicativo do AIR e instale a verso mais recente Em vez disso, voc deve publicar uma outra verso do aplicativo do AIR usando um novo certificado. Os usurios podem instalar a nova verso depois de desinstalar a existente do aplicativo do AIR. Indisponvel Publicar a verso mais recente do aplicativo do AIR Desinstale a verso atual do aplicativo do AIR e instale a verso mais recente

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

184

1.0 C1
Verso do AIR anterior 1.5.3 AIR verso 1.5.3 ou posterior

A ID PUB original coincide?

Instalao limpa
No

O certificado expirou?

No

1.0 C1

Sim

Remover
2.0

Sim

O certificado expirou?

Sim

C2

Instalar
Os usurios precisam desinstalar a verso antiga para instalar a verso atualizada

No

Perodo de validade < 180 dias?

No

Sim

Publicar atualizao
Criar uma verso atualizada de seu aplicativo. Assinar o aplicativo com o novo certificado C2. Aplicar assinatura de migrao ao aplicativo com o certificado C1 original usando o comando adt -migrate.
Legendas:

1.0 C1 2.0 C2

Aplicativo antigo Certificado antigo Novo aplicativo Novo certificado

Marcando o fluxo de trabalho para atualizaes

Para migrar o aplicativo:


1 Crie uma atualizao para o seu aplicativo 2 Empacote e assine o arquivo de atualizao do AIR com o novo certificado 3 Assine o arquivo AIR novamente com o certificado original usando o comando -migrate

Um arquivo AIR marcado com o comando -migrate pode ser usado para instalar uma nova verso do aplicativo. O arquivo tambm pode ser usado para atualizar qualquer verso anterior assinada com o certificado antigo. Nota: Ao atualizar um aplicativo publicado para uma verso do AIR anterior a 1.5.3, especifique o ID de editor original no descritor do aplicativo. De outra forma, os usurios de seu aplicativo devem desinstalar a verso anterior, antes de instalar a atualizao. Migrao de um aplicativo do AIR para usar um novo certificado Use o comando do ADT -migrate com a seguinte sintaxe:
adt -migrate SIGNING_OPTIONS air_file_in air_file_out

SIGNING_OPTIONS As opes de assinatura identificam a chave privada e o certificado com o qual o arquivo AIR ser assinado. Essas opes devem identificar o certificado de assinatura original e so descritas em Opes de assinatura de cdigo ADT na pgina 161. air_file_in O arquivo AIR para a atualizao, assinado com o certificado novo. air_file_out O arquivo AIR a ser criado. Nota: Os nomes de arquivos usados para os arquivos do AIR de entrada e de sada devem ser diferentes.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

185

Exemplo do ADT
adt -migrate -storetype pkcs12 -keystore cert.p12 myAppIn.air myApp.air

Para obter mais informaes, consulte Comando sign do ADT na pgina 155. Nota: O comando -migrate foi adicionado ao ADT na verso AIR 1.1.

Criao de um certificado autoassinado com o ADT


Voc pode autoassinar certificados para produzir um arquivo de instalao do AIR vlido. Entretanto, certificados autoassinados somente oferecem garantias de segurana limitadas aos usurios. A autenticidade dos certificados autoassinados no pode ser verificada. Quando um arquivo AIR autoassinado instalado, as informaes do editor so exibidas para o usurio como Desconhecidas. Um certificado gerado pelo ADT vlido por cinco anos. Se voc criar uma atualizao para um aplicativo do AIR assinada com um certificado autogerado, dever usar o mesmo certificado para assinar os originais e atualizar os arquivos do AIR. Os certificados que o ADT produz so sempre nicos, mesmo se os mesmos parmetros so usados. Portanto, se voc desejar autoassinar atualizaes com um certificado gerado pelo ADT, preserve o certificado original em um local seguro. Alm disso, voc no poder produzir um arquivo AIR atualizado depois que o certificado original gerado pelo ADT expirar. (Voc pode publicar novos aplicativos com um certificado diferente, mas no novas verses do mesmo aplicativo.) Importante: Devido s limitaes de certificados autoassinados, a Adobe recomenda altamente o uso de um certificado comercial emitido por uma autoridade de certificao de reputao, para assinar publicamente aplicativos do AIR lanados. O certificado e a chave privada associada gerados pelo ADT so armazenados em um arquivo de armazenamento de chaves do tipo PKCS12. A senha especificada definida na chave em si, e no no armazenamento de chaves. Exemplos de gerao de certificado
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

Para usar esses certificados para assinar arquivos do AIR, voc usa as seguintes opes de assinatura com os comandos -package ou -prepare do ADT:
-storetype pkcs12 -keystore newcert.p12 -keypass 39#wnetx3tl -storetype pkcs12 -keystore SigningCert.p12 -keypass 39#wnetx3tl

Nota: Verses do Java 1.5 e acima no aceitam caracteres ASCII superiores nas senhas usadas para proteger arquivos de certificado PKCS12. Use somente caracteres ASCII normais nas senhas.

ltima atualizao em 13/10/2011

186

Captulo 14: Arquivos descritores do aplicativo do AIR


Cada aplicativo do AIR requer um arquivo descritor do aplicativo. O arquivo descritor do aplicativo um arquivo XML que define as propriedades bsicas do aplicativo. Muitos ambientes de desenvolvimento que suportam o AIR geram automaticamente um descritor de aplicativo quando voc cria um projeto. Do contrrio, voc deve criar seu prprio arquivo descritor. Um arquivo descrito de amostra, descriptor-sample.xml, pode ser encontrado no diretrio samples dos SDKs do AIR e do Flex. Qualquer nome de arquivo pode ser usado pelo arquivo do descritor do aplicativo. Quando voc empacota o aplicativo, o arquivo do descritor do aplicativo renomeado para application.xml e colocado em um diretrio especial dentro do pacote do AIR. Descritor de aplicativo do exemplo O documento descritor do aplicativo a seguir define as propriedades bsicas utilizadas pela maioria dos aplicativos AIR:
<?xml version="1.0" encoding="utf-8" ?> <application xmlns="http://ns.adobe.com/air/application/3.0"> <id>example.HelloWorld</id> <versionNumber>1.0.1</versionNumber> <filename>Hello World</filename> <name>Example Co. AIR Hello World</name> <description> <text xml:lang="en">This is an example.</text> <text xml:lang="fr">C'est un exemple.</text> <text xml:lang="es">Esto es un ejemplo.</text> </description> <copyright>Copyright (c) 2010 Example Co.</copyright> <initialWindow> <title>Hello World</title> <content> HelloWorld.swf </content> </initialWindow> <icon> <image16x16>icons/smallIcon.png</image16x16> <image32x32>icons/mediumIcon.png</image32x32> <image48x48>icons/bigIcon.png</image48x48> <image128x128>icons/biggerIcon.png</image128x128> </icon> </application>

Se o aplicativo usa um arquivo HTML como seu contedo raiz em vez de um arquivo SWF, apenas o elemento <content> diferente:
<content> HelloWorld.html </content>

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

187

Mudanas no descritor do aplicativo


O descritor do aplicativo do AIR mudou nas verses seguintes do AIR.

Mudanas no descritor do AIR 1.1


Os elementos name e description do aplicativo so localizados no elemento text.

Mudanas no descritor do AIR 1.5


contentType tornou-se um filho necessrio de fileType.

Mudanas no descritor AIR 1.5.3


Includo o elemento publisherID para permitir que aplicativos especifiquem um valor de ID de editor.

Mudanas no descritor AIR 2.0


Adicionado:

aspectRatio autoOrients fullScreen image29x29 image57x57 image72x72 image512x512 iPhone renderMode supportedProfiles

Mudanas no descritor AIR 2.5


Removida: verso Adicionado:

android extensionID extensions image36x36 manifestAdditions versionLabel versionNumber

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

188

Mudanas no descritor do AIR 2.6


Adicionado:

image114x114 requestedDisplayResolution softKeyboardBehavior

Mudanas no descritor do AIR 3.0


Adicionado:

colorDepth

direct como valor direto de renderMode

A estrutura do arquivo do descritor do aplicativo


O arquivo descritor do aplicativo um documento XML com a seguinte estrutura:
<aplicativo xmlns="http://ns.adobe.com/air/application/3.0"> <allowBrowserInvocation>...<allowBrowserInvocation> <android> <colorDepth>...</colorDepth> <manifestAdditions <manifesto>...</manifesto> ]]> </manifestAdditions </android> <copyright>...</copyright> customUpdateUI>...</ <descrio> <texto xml:lang="...">...</texto> </descrio> <extenses> <extensionID>...</extensionID> </extenses> <nome de arquivo>...</nome de arquivo> <fileTypes> <fileType> <contentType>...</contentType> <descrio>...</descrio> <extension>...</extension> <cone> <imageNxN>...</imageNxN> </cone> <nome>...</nome> </fileType> </fileTypes> <cone> <imageNxN>...</imageNxN> </cone> <id>...</id> <initialWindow>

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

189

<aspectRatio>...</aspectRatio> <autoOrients>...</autoOrients> <contedo>...</contedo> <fullScreen>...</fullScreen> <height>...</height> <maximizable>...</maximizable> <maxSize>...</maxSize> <minimizable>...</minimizable> <minSize>...</minSize> <renderMode>...</renderMode> <resizable>...</resizable> <systemChrome>...</systemChrome> <title>...</title> <transparent>...</transparent> <visible>...</visible> <width>...</width> <x>...</x> <y>...</y> </initialWindow> <installFolder>...</installFolder> <iPhone> <InfoAdditions>...</InfoAdditions> <requestedDisplayResolution>...</requestedDisplayResolution> </iPhone> <nome> <texto xml:lang="...">...</texto> </nome> <programMenuFolder>...</programMenuFolder> <publisherID>...</publisherID> <softKeyboardBehavior>...</softKeyboardBehavior> <supportedProfiles>...</supportedProfiles> <versionNumber>...</versionNumber> <versionLabel>...</versionLabel> </aplicativo>

Elementos descritores do aplicativo do AIR


O dicionrio de elementos a seguir descreve cada um dos elementos vlidos de um arquivo descritor de aplicativo do AIR.

allowBrowserInvocation
Adobe AIR 1.0 e posterior - Opcional Permite que a API no navegador AIR detecte e ative o aplicativo. Se voc definiu esse valor como true, certifique-se de considerar implicaes de segurana. Elas so descritas em Invocao de um aplicativo do AIR do navegador (para desenvolvedores em ActionScript) ou em Invoking an AIR application from the browser (para desenvolvedores em HTML). Para obter mais informaes, consulte Inicializao de um aplicativo do AIR instalado do navegador na pgina 233. Elemento pai:aplicativo na pgina 190 Elementos filho: nenhum

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

190

Contedo true ou false (padro) Exemplo


<allowBrowserInvocation>true </allowBrowserInvocation>

android
Adobe AIR 2.5 e posterior - opcional Permite adicionar elementos ao arquivo de manifesto do Android. O AIR cria o arquivo AndroidManifest.xml para cada pacote APK. Voc pode usar o elemento android no descritor do aplicativo do AIR para adicionar outros itens adicionais a este. Ignorado em todas as plataformas, exceto no Android. Elemento pai:aplicativo na pgina 190 Elementos filho:

colorDepth na pgina 194 manifestAdditions na pgina 208


Contedo Elementos que definem as propriedades especficas do Android para adicionar o manifesto do aplicativo do Android. Exemplo
<android> <manifestAdditions> ... </manifestAdditions> </android>

Mais tpicos da Ajuda


Configuraes do Android na pgina 75 O arquivo AndroidManifest.xml

aplicativo
Adobe AIR 1.0 e posterior - Necessrio O elemento raiz de um documento de descrio do aplicativo do AIR. Elementos pai: nenhum Elementos filho:

allowBrowserInvocation na pgina 189 android na pgina 190 copyright na pgina 196 customUpdateUI na pgina 196 descrio na pgina 197

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

191

extenses na pgina 198 nome de arquivo na pgina 199 fileTypes na pgina 200 cone na pgina 202 id na pgina 202 initialWindow na pgina 204 installFolder na pgina 206 iPhone na pgina 207 nome na pgina 210 programMenuFolder na pgina 212 publisherID na pgina 212 softKeyboardBehavior na pgina 214 supportedProfiles na pgina 214 verso na pgina 217 versionLabel na pgina 217 versionNumber na pgina 218
Atributos minimumPatchLevel O nvel mnimo de caminho do tempo de execuo AIR exigido por esta aplicao. xmlns o atributo de namespace XML determina a verso do tempo de execuo AIR necessria ao aplicativo. O namespace alterado com cada verso principal do AIR (mas no com patches secundrios). O ltimo segmento do espao para nomes, como "2.7", indica a verso em tempo de execuo exigida pelo aplicativo. Os valores xmlns para as principais verses AIR so:
xmlns="http://ns.adobe.com/air/application/1.0" xmlns="http://ns.adobe.com/air/application/1.1" xmlns="http://ns.adobe.com/air/application/1.5" xmlns="http://ns.adobe.com/air/application/1.5.2" xmlns="http://ns.adobe.com/air/application/1.5.3" xmlns="http://ns.adobe.com/air/application/2.0" xmlns="http://ns.adobe.com/air/application/2.5" xmlns="http://ns.adobe.com/air/application/2.6" xmlns="http://ns.adobe.com/air/application/2.7"

Nos aplicativos baseados em SWF, a verso do tempo de execuo do AIR especificada na descrio do aplicativo determina a verso mxima do SWF que pode ser carregada como o contedo inicial do aplicativo. Aplicativos que especificam AIR 1.0 ou AIR 1.1 s podem usar arquivos SWF9 (Flash Player 9) como contedo inicial, mesmo quando executados usando o tempo de execuo do AIR 2. Os aplicativos que especificam AIR 1.5 (ou posteriores) podem usar arquivos SWF9 ou SWF10 (Flash Player 10) como contedo inicial. A verso do SWF determina que verso do AIR e APIs do Flash Player esto disponveis. Se um arquivo SWF9 for usado como contedo inicial de um aplicativo do AIR 1.5, esse aplicativo s ter acesso ao AIR 1.1 e s APIs do Flash Player 9. Alm disso, alteraes de comportamento feitas em APIs existentes no AIR 2.0 ou no Flash Player 10.1 no sero eficazes. (Alteraes importantes relacionadas segurana, feitas em APIs, so uma exceo a esse princpio e podem ser aplicadas de forma retroativa em patches atuais ou futuros do tempo de execuo).

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

192

Em aplicativos baseados em HTML, a verso do tempo de execuo especificada na descrio do aplicativo determina qual verso do AIR e de APIs do Flash Player esto disponveis para o aplicativo. Os comportamentos de HTML, CSS e JavaScript so sempre determinados pela verso do Webkit usada no tempo de execuo do AIR instalado, no pela descrio do aplicativo. Quando um aplicativo do AIR carrega contedo SWF, a verso do AIR e das APIs do Flash Player disponveis para esse contedo depende de como o contedo carregado. s vezes, a verso efetiva determinada pelo espao de nome do descritor do aplicativo, s vezes determinada pela verso do contedo de carregamento e s vezes determinada pela verso do contedo carregado. A tabela a seguir mostra como a verso da API determinada com base no mtodo de carregamento:
Como o contedo carregado Contedo inicial, aplicativo baseado em SWF Contedo inicial, aplicativo baseado em HTML SWF carregado pelo contedo SWF Biblioteca SWF carregada pelo contedo HTML usando a tag <script> SWF carregado pelo contedo HTML usando o AIR ou as APIs do Flash Player (como flash.display.Loader) SWF carregado pelo contedo HTML usando as tags <object> ou <embed> (ou as APIs de JavaScript equivalentes) Como a verso da API determinada Verso SWF do arquivo carregado Espao para nomes da descrio do aplicativo Verso do contedo carregado Espao para nomes da descrio do aplicativo

Espao para nomes da descrio do aplicativo

Verso SWF do arquivo carregado

Ao carregar um arquivo SWF de uma verso diferente do contedo carregado, voc pode se deparar com dois problemas:

Carregamento de uma verso mais recente de SWF por uma verso mais antiga de SWF As referncias a APIs
adicionadas nas novas verses do AIR e do Flash Player no contedo carregado ficaro sem ser resolvidas.

Carregamento de uma verso mais antiga de SWF por uma verso mais recente de SWF As APIs alteradas nas
novas mais recentes do AIR e do Flash Player podero se comportar de forma inesperada pelo contedo carregado. Contedo O elemento do aplicativo contm elementos filho que definem as propriedades de um aplicativo do AIR.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

193

Exemplo
<?xml version="1.0" encoding="utf-8" ?> <application xmlns="http://ns.adobe.com/air/application/2.7"> <id>HelloWorld</id> <version>2.0</version> <filename>Hello World</filename> <name>Example Co. AIR Hello World</name> <description> <text xml:lang="en">This is an example.</text> <text xml:lang="fr">C'est un exemple.</text> <text xml:lang="es">Esto es un ejemplo.</text> </description> <copyright>Copyright (c) 2010 Example Co.</copyright> <initialWindow> <title>Hello World</title> <content> HelloWorld.swf </content> <systemChrome>none</systemChrome> <transparent>true</transparent> <visible>true</visible> <minSize>320 240</minSize> </initialWindow> <installFolder>Example Co/Hello World</installFolder> <programMenuFolder>Example Co</programMenuFolder> <icon> <image16x16>icons/smallIcon.png</image16x16> <image32x32>icons/mediumIcon.png</image32x32> <image48x48>icons/bigIcon.png</image48x48> <image128x128>icons/biggestIcon.png</image128x128> </icon> <customUpdateUI>true</customUpdateUI> <allowBrowserInvocation>false</allowBrowserInvocation> <fileTypes> <fileType> <name>adobe.VideoFile</name> <extension>avf</extension> <description>Adobe Video File</description> <contentType>application/vnd.adobe.video-file</contentType> <icon> <image16x16>icons/avfIcon_16.png</image16x16> <image32x32>icons/avfIcon_32.png</image32x32> <image48x48>icons/avfIcon_48.png</image48x48> <image128x128>icons/avfIcon_128.png</image128x128> </icon> </fileType> </fileTypes> </application>

aspectRatio
Adobe AIR 2.0 e posterior, iPhone e Android opcional Especifica a proporo do aspecto inicial do aplicativo.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

194

Se no for especificado, o aplicativo abrir com a proporo natural e com a orientao do dispositivo. A orientao natural varia de dispositivo para dispositivo. Geralmente, a proporo retrato em dispositivos de tela pequena tais como telefones. Em alguns dispositivos, tais como o tablete iPad, o aplicativo se abre na orientao atual. Elemento pai:initialWindow na pgina 204 Elementos filho: nenhum Contedo
retrato ou paisagem

Exemplo
<aspectRatio> landscape</aspectRatio>

autoOrients
Adobe AIR 2.0 e posterior, iPhone e Android opcional Especifica se a orientao do contedo no aplicativo reorienta automaticamente quando o prprio dispositivo altera a orientao fsica. Para obter mais informaes, consulte Orientao do palco. Ao usar auto-orientao, considere a configurao das propriedades align e scaleMode do Palco para o seguinte:
stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE;

Essas configuraes permitem que o aplicativo gire em torno dos cantos superior e esquerdo e impedem que o contedo do seu aplicativo seja escalado automaticamente. Embora os outros modos de escala faam ajustes no contedo para adaptarem-se s dimenses do palco submetido rotao, eles tambm recortam , distorcem ou comprimem excessivamente esse contedo. Melhores resultados quase sempre podem ser obtidos quando voc mesmo redesenha ou retransmite o contedo. Elemento pai:initialWindow na pgina 204 Elementos filho: nenhum Contedo true ou false (padro) Exemplo
<autoOrients>true </autoOrients>

colorDepth
Adobe AIR 3 e posterior - Opcional Especifica a utilizao da cor de 16 bits ou de 32 bits. A utilizao da cor de 16 bits pode aumentar o desempenho de renderizao, mas em detrimento da fidelidade de cor. Antes do AIR 3, a cor de 16 bits foi sempre usada no Android. No AIR 3, a cor de 32 bits usada por padro. Nota: Se o seu aplicativo usar a classe StageVideo, voc dever usar cor de 32 bits. Elemento pai:android na pgina 190

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

195

Elementos filho: nenhum Contedo Um dos seguintes valores:

16 bits 32 bits
Exemplo
<android> <colorDepth>16bit</colorDepth> <manifestAdditions>...</manifestAdditions> </android>

contedo
Adobe AIR 1.0 e posterior - Necessrio O valor especificado para o elemento content a URL para o arquivo principal de contedo do aplicativo. Isso pode ser um arquivo SWF ou HTML. A URL especificada em relao raiz da pasta de instalao do aplicativo. (Ao executar um aplicativo do AIR com o ADL, a URL relativa pasta que contm o arquivo do descritor do aplicativo. Voc pode usar o parmetro root-dir do ADL para especificar um diretrio de raiz diferente.) Elemento pai:initialWindow na pgina 204 Elementos filho: nenhum Contedo Uma URL relativa ao diretrio do aplicativo. Como o valor do elemento content tratado como uma URL, os caracteres no nome do arquivo de contedo devem ser codificados por URL de acordo com as regras definidas em RFC 1738. Caracteres de espao, por exemplo, devem ser codificados como %20. Exemplo
<content>TravelPlanner.swf </content>

contentType
Adobe AIR 1.0 a 1.1 opcional; AIR 1.5 e posterior obrigatrio O contentType exigido no AIR 1.5 (ele era opcional no AIR 1.0 e 1.1). A propriedade ajuda alguns sistemas operacionais a localizarem o melhor aplicativo para abrir um arquivo. O valor deve ser o tipo MIME do contedo do arquivo. Observe que o valor ser ignorado no Linux se o tipo de arquivo j estiver registrado e tiver um tipo MIME atribudo. Elemento pai:fileType na pgina 199 Elementos filho: nenhum Contedo O tipo e subtipo de MIME. Consulte RFC2045 para obter mais informaes sobre tipos de MIME.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

196

Exemplo
<contentType> text/plain</contentType>

copyright
Adobe AIR 1.0 e posterior - Opcional As informaes de copyright para o aplicativo do AIR. No Mac OS, o texto de copyright exibido caixa de dilogo Sobre para o aplicativo instalado. No Mac OS, as informaes de copyright tambm so usadas no campo NSHumanReadableCopyright no arquivo Info.plist para o aplicativo. Elemento pai:aplicativo na pgina 190 Elementos filho: nenhum Contedo Uma sequncia de caracteres que contm as informaes de copyright do aplicativo. Exemplo
<copyright> 2010, Examples, Inc.All rights reserved. </copyright>

customUpdateUI
Adobe AIR 1.0 e posterior - Opcional Indica se um aplicativo fornecer seus prprios dilogos de atualizao. Se false, o AIR apresenta os dilogos de atualizao padro para o usurio. Somente os aplicativos distribudos como arquivos AIR podem usar o sistema incorporado de atualizao do AIR. Quando a verso instalada do aplicativo tiver o elemento customUpdateUI configurado para true e, em seguida, o usurio clicar duas vezes no arquivo AIR para obter uma nova verso ou instalar uma atualizao do aplicativo usando o recurso de instalao contnua, o tempo de execuo abre a verso instalada do aplicativo. O tempo de execuo no abre o instalador do aplicativo padro do AIR. A lgica do seu aplicativo pode ento determinar como proceder com a operao de atualizao. (O ID do aplicativo e o ID do editor no arquivo AIR devem corresponder aos valores no aplicativo instalado para que uma atualizao prossiga.) Nota: O mecanismo customUpdateUI apenas comea a funcionar quando o aplicativo j est instalado e o usurio clica duas vezes no arquivo de instalao do AIR que contm uma atualizao ou instala uma atualizao do aplicativo usando o recurso de instalao direta. Voc pode baixar e iniciar uma atualizao pela lgica do seu aplicativo, exibindo sua interface de usurio personalizada conforme necessrio, seja customUpdateUItrue ou no. Para obter mais informaes, consulte Atualizao de aplicativos AIR na pgina 235. Elemento pai:aplicativo na pgina 190 Elementos filho: nenhum Contedo true ou false (padro) Exemplo
<customUpdateUI> true</customUpdateUI>

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

197

descrio
Adobe AIR 1.0 e posterior - Opcional A descrio do aplicativo, exibida no instalador do aplicativo do AIR. Se voc especificar um nico n de texto (e no vrios elementos text), o instalador do aplicativo do AIR usar essa descrio, independentemente do idioma do sistema. Caso contrrio, o instalador do aplicativo do AIR usa a descrio que mais se aproxima do idioma da interface do usurio do sistema operacional do usurio. Por exemplo, considere uma instalao na qual o elemento description do arquivo do descritor do aplicativo inclui um valor para o local en (ingls). O instalador do aplicativo do AIR usar a descrio en se o sistema do usurio identificar en (ingls) como o idioma da interface do usurio. Ele tambm usa a descrio en se o idioma da interface do usurio do sistema for enUS (ingls norte-americano). No entanto, se o idioma da interface do usurio do sistema en-US e o arquivo do descritor do aplicativo define os nomes en-US e en-GB, o instalador do aplicativo do AIR usa o valor en-US. Se o aplicativo no define nenhuma descrio que corresponda ao idioma da interface do usurio do sistema, o instalador do aplicativo do AIR usa o primeiro valor description definido no arquivo do descritor do aplicativo. Para obter mais informaes sobre o desenvolvimento de aplicativos com vrios idiomas, consulte Localizao de aplicativos AIR na pgina 270. Elemento pai:aplicativo na pgina 190 Elementos filho:texto na pgina 215 Contedo O esquema do descritor do aplicativo do AIR 1.0 permite apenas um simples n de texto a ser definido para o nome (e no vrios elementos text). No AIR 1.1 (ou acima), voc pode especificar vrios idiomas no elemento description. O atributo xml:lang para cada elemento de texto especifica um cdigo de idioma, como definido em RFC4646 (http://www.ietf.org/rfc/rfc4646.txt). Exemplo Descrio com n de texto simples:
<description>This is a sample AIR application.</description>

Descrio com elementos do texto traduzido para ingls, francs e espanhol (vlido no AIR 1.1 e posterior):
<description> <text xml:lang="en">This is an example.</text> <text xml:lang="fr">C'est un exemple.</text> <text xml:lang="es">Esto es un ejemplo.</text> </description>

descrio
Adobe AIR 1.0 e posterior - Necessrio A descrio do tipo de arquivo exibida para o usurio pelo sistema operacional. A descrio do tipo de arquivo no traduzida. Consulte tambm: descrio na pgina 197 como filho do elemento do aplicativo Elemento pai:fileType na pgina 199

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

198

Elementos filho: nenhum Contedo Uma sequncia de caracteres que descreve o contedo do arquivo. Exemplo
<description> PNG image</description>

extension
Adobe AIR 1.0 e posterior - Necessrio A sequncia de caracteres de extenso de um tipo de arquivo. Elemento pai:fileType na pgina 199 Elementos filho: nenhum Contedo Uma sequncia que identifica os caracteres de extenso do arquivo (sem o ponto, "."). Exemplo
<extension> png</extension>

extensionID
Adobe AIR 2.5 e posterior, somente perfis tv e extendedTV obrigatrios Especifica o ID de uma extenso ActionScript usada pelo aplicativo. O ID definida no documento descritor da extenso. Elemento pai:extenses na pgina 198 Elementos filho: nenhum Contedo Uma sequncia de caracteres que identifica o ID da extenso ActionScript. Exemplo
<extensionID> com.example.extendedFeature</extensionID>

extenses
Adobe AIR 2.5 e posterior, somente perfis tv e extendedTV opcional Identifica as extenses ActionScript usadas por um aplicativo. Elemento pai:aplicativo na pgina 190 Elementos filho:extensionID na pgina 198

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

199

Contedo Elementos filho extensionID que contm os IDs de extenso ActionScript do arquivo descritor de extenso. Exemplo
<extensions> <extensionID>extension.first</extensionID> <extensionID>extension.next</extensionID> <extensionID>extension.last</extensionID> </extensions>

nome de arquivo
Adobe AIR 1.0 e posterior - Necessrio A sequncia de caracteres a usar como um filename do aplicativo (sem extenso) quando o aplicativo instalado. O arquivo do aplicativo inicia o aplicativo do AIR no tempo de execuo. Se nenhum valor name for fornecido, filename tambm ser usado como o nome da pasta de instalao. Elemento pai:aplicativo na pgina 190 Elementos filho: nenhum Contedo A propriedade filename pode conter qualquer caractere Unicode (UTF-8), exceto o seguinte, que tem o uso proibido como filenames em vrios sistemas de arquivos:
Caractere vrios * " : > < ? \ | Cdigo hexadecimal 0x00 x1F x2A x22 x3A x3C x3E x3F x5C x7C

O valor filename no pode terminar em um ponto. Exemplo


<filename> MyApplication</filename>

fileType
Adobe AIR 1.0 e posterior - Opcional Descreve um tipo nico de arquivo que o aplicativo pode se cadastrar.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

200

Elemento pai:fileTypes na pgina 200 Elementos filho:

contentType na pgina 195 descrio na pgina 197 extension na pgina 198 cone na pgina 202 nome na pgina 211
Contedo Elementos que descrevem um tipo de arquivo. Exemplo
<fileType> <name>foo.example</name> <extension>foo</extension> <description>Example file type</description> <contentType>text/plain</contentType> <icon> <image16x16>icons/fooIcon16.png</image16x16> <image48x48>icons/fooIcon48.png</imge48x48> <icon> </fileType>

fileTypes
Adobe AIR 1.0 e posterior - Opcional O elemento fileTypes permite que voc declare os tipos de arquivos com os quais um aplicativo do AIR pode ser associado. Quando um aplicativo do AIR for instalado, qualquer tipo de arquivo declarado registrado com o sistema operacional. Se esses tipos de arquivo ainda no estiverem associados a um outro aplicativo, eles so associados ao aplicativo do AIR. Para substituir uma associao existente entre um tipo de arquivo e outro aplicativo, use o mtodo NativeApplication.setAsDefaultApplication() em tempo de execuo (preferencialmente com a permisso do usurio). Nota: Os mtodos runtime podem apenas gerenciar associaes para os tipos de arquivos declarados no descritor do aplicativo. O elemento fileTypes opcional. Elemento pai:aplicativo na pgina 190 Elementos filho:fileType na pgina 199 Contedo O elemento fileTypes pode conter qualquer nmero de elementos fileType.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

201

Exemplo
<fileTypes> <fileType> <name>adobe.VideoFile</name> <extension>avf</extension> <description>Adobe Video File</description> <contentType>application/vnd.adobe.video-file</contentType> <icon> <image16x16>icons/AIRApp_16.png</image16x16> <image32x32>icons/AIRApp_32.png</image32x32> <image48x48>icons/AIRApp_48.png</image48x48> <image128x128>icons/AIRApp_128.png</image128x128> </icon> </fileType> </fileTypes>

fullScreen
Adobe AIR 2.0 e posterior, iPhone e Android opcional Especifica se o aplicativo iniciado no modo de tela cheia. Elemento pai:initialWindow na pgina 204 Elementos filho: nenhum Contedo true ou false (padro) Exemplo
<fullscreen>true </fullscreen>

height
Adobe AIR 1.0 e posterior - Opcional A altura inicial da janela principal do aplicativo. Se voc no definir uma altura, esta determinada pelas configuraes no arquivo SWF raiz ou, no caso de um aplicativo do AIR baseado em HTML, pelo sistema operacional. A altura mxima de uma janela muda de 2048 para 4096 pixels no AIR 2. Elemento pai:initialWindow na pgina 204 Elementos filho: nenhum Contedo Um nmero inteiro positivo com um valor mximo de 4095. Exemplo
<height>4095 </height>

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

202

cone
Adobe AIR 1.0 e posterior - Opcional A propriedade icon especifica um ou mais arquivos de cone a serem usados pelo aplicativo. Incluir um cone opcional. Se voc no especificar uma propriedade icon, o sistema operacional exibir um cone padro. O caminho especificado relativo ao diretrio raiz do aplicativo. Os arquivos de cone devem estar no formato PNG. Voc pode especificar todos os tamanhos de cones a seguir: Se um elemento para um determinado tamanho estiver presente, a imagem no arquivo dever ser exatamente do tamanho especificado. Se todos os tamanhos no forem fornecidos, o tamanho mais prximo ser dimensionado para se ajustar para um determinado uso do cone pelo sistema operacional. Nota: Os cones especificados no so automaticamente adicionados ao pacote do AIR. Os arquivos de cone devem ser includos em seus locais corretos relativos quando o aplicativo for empacotado. Para melhores resultados, fornea uma imagem para cada um dos tamanhos disponveis. Alm disso, verifique se os cones esto apresentveis nos modos de cores de 16 e 32 bits. Elemento pai:aplicativo na pgina 190 Elementos filho:imageNxN na pgina 203 Contedo Um elemento imageNxN para cada tamanho de cone desejado. Exemplo
<icon> <image16x16>icons/smallIcon.png</image16x16> <image32x32>icons/mediumIcon.png</image32x32> <image48x48>icons/bigIcon.png</image48x48> <image128x128>icons/biggestIcon.png</image128x128> </icon>

id
Adobe AIR 1.0 e posterior - Necessrio Uma sequncia de caracteres de identificador para o aplicativo, conhecida como O ID do aplicativo. Um identificador do estilo DNS reverso usado frequentemente, mas este estilo no necessrio. Elemento pai:aplicativo na pgina 190 Elementos filho: nenhum Contedo O valor do ID restrito aos seguintes caracteres:

09 az AZ . (ponto) - (hfen) ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

203

O valor deve conter de 1 a 212 caracteres. Esse elemento necessrio. Exemplo


<id>org.example.application</id>

imageNxN
Adobe AIR 1.0 e posterior - Opcional Define o caminho para um cone relativo ao diretrio do aplicativo. As imagens de cone a seguir podem ser usadas, cada um especificando um tamanho diferente de cone:

image16x16 image29x29 (acima de AIR 2) image32x32 image36x36 (acima de AIR 2.5) image48x48 image57x57 (acima de AIR 2) image72x72 (acima de AIR 2) image114x114 (acima de AIR 2.6) image128x128 image512x512 (acima de AIR 2)
O cone deve ser um grfico PNG exatamente do tamanho indicado pelo elemento de imagem. Os arquivos de cone devem ser includos no pacote de aplicativos; cones referenciados no documento de descrio do aplicativo no so includos automaticamente. Elemento pai:aplicativo na pgina 190 Elementos filho: nenhum Contedo O caminho do arquivo pode conter qualquer caractere Unicode (UTF-8), exceto o seguinte, que tem o uso proibido como filenames em vrios sistemas de arquivos:
Caractere vrios * " : > < Cdigo hexadecimal 0x00 x1F x2A x22 x3A x3C x3E

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

204

Caractere ? \ |

Cdigo hexadecimal x3F x5C x7C

Exemplo
<image32x32>icons/icon32.png</image32x32>

InfoAdditions
Adobe AIR 1.0 e posterior - Opcional Permite especificar propriedades adicionais de um aplicativo para o iPhone. Elemento pai:iPhone na pgina 207 Elementos filho: elementos Info.plist para o iPhone Contedo Contm elementos filho que especificam os pares com valor-chave para usar como configuraes de Info.plist para o aplicativo. Contedo do elemento InfoAdditions deve ser includo em um bloco CDATA. Consulte Referncia-chave da lista de propriedade de informaes na Biblioteca de referncia do iPhone Apple para obter informaes sobre pares dos principais valores e sobre como express-los em XML. Exemplo
<InfoAdditions> <![CDATA[ <key>UIStatusBarStyle</key> <string>UIStatusBarStyleBlackOpaque</string> <key>UIRequiresPersistentWiFi</key> <string>NO</string> ]]> </InfoAdditions>

Mais tpicos da Ajuda


Configuraes do iOS na pgina 81

initialWindow
Adobe AIR 1.0 e posterior - Necessrio Define o principal contedo do arquivo e aparncia inicial do aplicativo. Elemento pai:aplicativo na pgina 190 Elementos filho: Todos os elementos a seguir podem aparecer como filhos do elemento initialWindow. Contudo, alguns elementos so ignorados, dependendo se o AIR est disponvel com janelas em uma plataforma:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

205

Elemento aspectRatio na pgina 193 autoOrients na pgina 194 contedo na pgina 195 fullScreen na pgina 201 height na pgina 201 maximizable na pgina 209 maxSize na pgina 209 minimizable na pgina 210 minSize na pgina 210 renderMode na pgina 212 resizable na pgina 213

rea de trabalho ignorada

Mvel usada

TV ignorada

ignorada

usada

ignorada

usada

usada

usada

ignorada

usada

usada

usada

ignorada

ignorada

usada

ignorada

ignorada

usada

ignorada

ignorada

usada

ignorada

ignorada

usada

ignorada

ignorada

ignorada

usada

ignorada

usada

ignorada

ignorada

softKeyboardB ignorada ehavior na pgina 214 systemChrom e na pgina 215 title na pgina 216 transparent na pgina 216 visible na pgina 218 width na pgina 219 x na pgina 219 y na pgina 219 usada

usada

ignorada

ignorada

ignorada

usada

ignorada

ignorada

usada

ignorada

ignorada

usada

ignorada

ignorada

usada

ignorada

ignorada

usada

ignorada

ignorada

usada

ignorada

ignorada

Contedo Elementos filho que definem o comportamento e a aparncia do aplicativo.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

206

Exemplo
<initialWindow> <title>Hello World</title> <content> HelloWorld.swf </content> <systemChrome>none</systemChrome> <transparent>true</transparent> <visible>true</visible> <maxSize>1024 800</maxSize> <minSize>320 240</minSize> <maximizable>false</maximizable> <minimizable>false</minimizable> <resizable>true</resizable> <x>20</x> <y>20</y> <height>600</height> <width>800</width> <aspectRatio>landscape</aspectRatio> <autoOrients>true</autoOrients> <fullScreen>false</fullScreen> <renderMode>auto</renderMode> </initialWindow>

installFolder
Adobe AIR 1.0 e posterior - Opcional Identifica o subdiretrio do diretrio de instalao padro. No Windows, o subdiretrio de instalao padro Arquivos de Programas. No Mac OS, o diretrio /Applications. No Linux, /opt/. Por exemplo, se a propriedade installFolder definida como "Acme" e um aplicativo chamado de "ExampleApp", o aplicativo instalado em C:\Arquivos de Programas\Acme\ExampleApp no Windows, em /Applications/Acme/Example.app no Mac OS e em /opt/Acme/ExampleApp no Linux. A propriedade installFolder opcional. Se voc no especificar nenhuma propriedade installFolder, o aplicativo ser instalado em um subdiretrio do diretrio de instalao padro, com base na propriedade name. Elemento pai:aplicativo na pgina 190 Elementos filho: nenhum Contedo A propriedade installFolder pode conter qualquer caractere Unicode (UTF-8), exceto aqueles cujo uso proibido como nomes de pastas em vrios sistemas de arquivos (consulte a propriedade filename para obter a lista de excees). Use o caractere de barra (/) como o caractere separador de diretrio se desejar especificar um subdiretrio aninhado. Exemplo
<installFolder>utilities/toolA</installFolder>

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

207

iPhone
Adobe AIR 2.0, somente iPhone opcional Define as propriedades de aplicativo especfico para iPhone. Elemento pai:aplicativo na pgina 190 Elementos filho:

InfoAdditions na pgina 204 requestedDisplayResolution na pgina 213

Mais tpicos da Ajuda


Configuraes do iOS na pgina 81

manifesto
Adobe AIR 2.5 e posterior, somente Android opcional Especifica informaes para adicionar ao arquivo de manifesto do Android para o aplicativo. Elemento pai:manifestAdditions na pgina 208 Elementos filho: Definido pelo Android SDK. Contedo O elemento do manifesto no , tecnicamente falando, uma parte do esquema descritor do aplicativo do AIR. a raiz do documento XML do manifesto do Android. Qualquer contedo que voc coloca dentro do elemento do manifesto deve estar em conformidade com o esquema do AndroidManifest.xml. Ao gerar um arquivo APK com as ferramentas do AIR, as informaes do elemento do manifesto copiado para a parte correspondente do AndroidManifest.xml gerado pelo aplicativo. O prprio elemento do manifesto deve ser includo em um bloco CDATA dentro do descritor do aplicativo do AIR. Exemplo
<![CDATA[ <manifest android:sharedUserID="1001"> <uses-permission android:name="android.permission.CAMERA"/> <uses-feature android:required="false" android:name="android.hardware.camera"/> <application android:allowClearUserData="true" android:enabled="true" android:persistent="true"/> </manifest> ]]>

Mais tpicos da Ajuda


Configuraes do Android na pgina 75 O arquivo AndroidManifest.xml

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

208

manifestAdditions
Adobe AIR 2.5 e posterior, somente Android Especifica informaes para adicionar ao arquivo do manifesto do Android. Cada aplicativo do Android inclui um arquivo de manifesto que define as propriedades bsicas do aplicativo. O manifesto do Android semelhante em conceito ao descritor do aplicativo do AIR. Um aplicativo do AIR para Android tem tanto um descritor de aplicativo quanto um arquivo de manifesto do Android gerado automaticamente. Quando um aplicativo do AIR para Android compactado, as informaes contidas neste elemento manifestAdditions so adicionadas s partes correspondentes do documento de manifesto do Android. Elemento pai:android na pgina 190 Elementos filho:manifesto na pgina 207 Contedo As informaes no elemento manifestAdditions so adicionadas ao documento XML do AndroidManifest. O AIR define vrias entradas de manifesto no documento de manifesto Android gerado para garantir que os recursos de aplicao e tempo de execuo funcionem corretamente. No possvel substituir as configuraes a seguir: No possvel definir os seguintes atributos do elemento de manifesto:

package android:versionCode android:versionName


No possvel definir os seguintes atributos do elemento de atividade principal:

android:label android:icon
No possvel definir os seguintes atributos do elemento de aplicativo:

android:theme android:name android:label android:windowSoftInputMode android:configChanges android:screenOrientation android:launchMode

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

209

Exemplo
<manifestAdditions> <![CDATA[ <manifest android:installLocation="preferExternal"> <uses-permission android:name="android.permission.INTERNET"/> <application android:allowClearUserData="true" android:enabled="true" android:persistent="true"/> </manifest> ]]> </manifestAdditions>

Mais tpicos da Ajuda


Configuraes do Android na pgina 75 O arquivo AndroidManifest.xml

maximizable
Adobe AIR 1.0 e posterior - Opcional Especifica se a janela pode ser maximizada. Nota: Em sistemas operacionais como o Mac OS X, em que maximizar janelas uma operao de redimensionamento, tanto maximizable quanto resizable devem ser definidos como false para impedir que a janela seja ampliada ou redimensionada. Elemento pai:initialWindow na pgina 204 Elementos filho: nenhum Contedo true (padro) ou false Exemplo
<maximizable>false </maximizable>

maxSize
Adobe AIR 1.0 e posterior - Opcional O tamanho mximo da janela. Se voc no definir um tamanho mximo, este determinado pelo sistema operacional. Elemento pai:initialWindow na pgina 204 Elementos filho: nenhum Contedo Dois inteiros que representam a largura e a altura mximas, separadas por espao em branco. Nota: O tamanho mximo da janela disponvel pelo AIR aumentou de 2048x2048 para 4096x4096 pixels no AIR 2. (Como as coordenadas da tela so baseadas em zero, o valor mximo que voc pode usar para largura ou altura 4095.)

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

210

Exemplo
<maxSize>1024 360</maxSize>

minimizable
Adobe AIR 1.0 e posterior - Opcional Especifica se a janela pode ser minimizada. Elemento pai:initialWindow na pgina 204 Elementos filho: nenhum Contedo true (padro) ou false Exemplo
<minimizable>false</minimizable>

minSize
Adobe AIR 1.0 e posterior - Opcional Especifica o tamanho mnimo permitido para a janela. Elemento pai:initialWindow na pgina 204 Elementos filho: nenhum Contedo Dois inteiros que representam a largura e a altura mnimas, separadas por espao em branco. Observe que o tamanho mnimo imposto pelo sistema operacional tem precedncia sobre o valor definido no descritor do aplicativo. Exemplo
<minSize>120 60</minSize>

nome
Adobe AIR 1.0 e posterior - Opcional O ttulo do aplicativo apresentado pelo instalador do aplicativo do AIR. Se nenhum elemento name for especificado, o instalador do aplicativo do AIR exibir filename como o nome do aplicativo. Elemento pai:aplicativo na pgina 190 Elementos filho:texto na pgina 215 Contedo Se voc especificar um nico n de texto (em vez de vrios elementos <text>), o instalador do aplicativo do AIR usa esse nome, independentemente do idioma do sistema.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

211

O esquema do descritor do aplicativo do AIR 1.0 permite apenas um simples n de texto a ser definido para o nome (e no vrios elementos text). No AIR 1.1 (ou acima), voc pode especificar vrios idiomas no elemento name. O atributo xml:lang para cada elemento de texto especifica um cdigo de idioma, como definido em RFC4646 (http://www.ietf.org/rfc/rfc4646.txt). O instalador do aplicativo do AIR usa o nome que mais se aproxima do idioma da interface do usurio do sistema operacional do usurio. Por exemplo, considere uma instalao na qual o elemento name do arquivo do descritor do aplicativo inclui um valor para o local en (ingls). O instalador do aplicativo do AIR usa o nome en se o sistema operacional identifica en (ingls) como o idioma da interface do usurio. Ele tambm usa o nome en se o idioma da interface do usurio do sistema for en-US (ingls norte-americano). No entanto, se o idioma da interface do usurio en-US e o arquivo do descritor do aplicativo define os nomes en-US e en-GB, o instalador do aplicativo do AIR usa o valor en-US. Se o aplicativo no define nenhum nome que corresponda aos idiomas da interface do usurio do sistema, o instalador do aplicativo do AIR usa o primeiro valor name definido no arquivo do descritor do aplicativo. O elemento name define apenas o ttulo do aplicativo usado no instalador do aplicativo do AIR. O instalador do aplicativo do AIR suporta vrios idiomas: chins tradicional, chins simplificado, tcheco, holands, ingls, francs, alemo, italiano, japons, coreano, portugus do Brasil, russo, espanhol, sueco e turco. O instalador do aplicativo do AIR seleciona seu idioma exibido (para texto que no seja o ttulo do aplicativo e a descrio) com base no idioma da interface do usurio do sistema. Essa seleo de idioma independente das configuraes no arquivo do descritor do aplicativo. O elemento nameno define as localidades disponveis para o aplicativo instalado em execuo. Para obter detalhes sobre o desenvolvimento de aplicativos com vrios idiomas, consulte Localizao de aplicativos AIR na pgina 270. Exemplo O exemplo a seguir define um nome com um n de texto simples:
<name>Test Application</name>

O exemplo a seguir, vlido no AIR 1.1 e posterior, especifica o nome em trs idiomas (ingls, francs e espanhol), utilizando ns do elemento <text>:
<name> <text xml:lang="en">Hello AIR</text> <text xml:lang="fr">Bonjour AIR</text> <text xml:lang="es">Hola AIR</text> </name>

nome
Adobe AIR 1.0 e posterior - Necessrio Identifica o nome de um tipo de arquivo. Elemento pai:fileType na pgina 199 Elementos filho: nenhum Contedo Uma sequncia de caracteres que representa o nome do tipo de arquivo. Exemplo
<name>adobe.VideoFile</name>

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

212

programMenuFolder
Adobe AIR 1.0 e posterior - Opcional Identifica o local no qual colocar atalhos para o aplicativo no menu Todos os Programas do sistema operacional Windows ou no menu Aplicativos do Linux. (Essa configurao atualmente ignorada em outros sistemas operacionais.) Elemento pai:aplicativo na pgina 190 Elementos filho: nenhum Contedo A sequncia de caracteres para o valor programMenuFolder pode conter qualquer caractere Unicode (UTF-8), exceto aqueles cujo uso proibido como nomes de pastas em vrios sistemas de arquivos (consulte o elemento filename para obter a lista de excees). No use um caractere de barra (/) como o ltimo caractere desse valor. Exemplo
<programMenuFolder>Example Company/Sample Application</programMenuFolder>

publisherID
Adobe AIR 1.5.3 e posterior - opcional Identifica o ID do editor para atualizar um aplicativo do AIR criada originalmente com AIR verso 1.5.2 ou anterior. Somente especifique um ID do editor ao criar uma atualizao do aplicativo. O valor do elemento publisherID deve corresponder ID do editor gerada pelo AIR para a verso anterior do aplicativo. Para um aplicativo instalado, o ID do editor pode ser encontrada na pasta em que um aplicativo instalado, no arquivo META-INF/AIR/publisherid. Novos aplicativos criados com o AIR 1.5.3 ou posterior no devem especificar um ID do editor. Para obter mais informaes, consulte Sobre identificadores de editor do AIR na pgina 173. Elemento pai:aplicativo na pgina 190 Elementos filho: nenhum Contedo Uma sequncia de caracteres do ID do editor. Exemplo
<publisherID>B146A943FBD637B68C334022D304CEA226D129B4.1</publisherID>

renderMode
Adobe AIR 2.0 e posterior - opcional Especifica se deve usar acelerao de unidade de processamento grfico (GPU), se disponvel no dispositivo de computao atual. Elemento pai:initialWindow na pgina 204 Elementos filho: nenhum

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

213

Contedo Um dos seguintes valores:

auto (padro) volta no momento para o modo de CPU. cpu a acelerao por hardware no usada. direct a composio de renderizao ocorre na CPU; o blitting usa a GPU. Disponvel no AIR 3+. gpu a acelerao por hardware usada, se disponvel.

Importante: No utilize o modo de renderizao de GPU para aplicativos Flex. Exemplo


<renderMode>direct</renderMode>

requestedDisplayResolution
Adobe AIR 2.6 e posterior, somente iOS opcional Especifica se o aplicativo deseja usar a resoluo padro ou alta em um dispositivo iOS com tela de alta resoluo. Quando definida para padro, a tela aparecer para o aplicativo como uma tela de resoluo padro. Em outras palavras, as dimenses do palco em tela cheia so 320x480, mesmo em uma tela de alta resoluo de 640x960. Quando definida para alta, o aplicativo pode tratar cada pixel de alta resoluo. Em outras palavras, as dimenses do palco em tela cheia so 640x960. Em dispositivos com telas de resoluo padro, as dimenses do palco combinam com de tela, sem importar qual definio usada. Elemento pai:iPhone na pgina 207 Elementos filho: nenhum Contedo Seja padro ou alta. Exemplo
<requestedDisplayResolution>high</requestedDisplayResolution>

resizable
Adobe AIR 1.0 e posterior - Opcional Especifica se a janela pode ser redimensionada. Nota: Em sistemas operacionais como o Mac OS X, em que maximizar janelas uma operao de redimensionamento, tanto maximizable quanto resizable devem ser definidos como false para impedir que a janela seja ampliada ou redimensionada. Elemento pai:initialWindow na pgina 204 Elementos filho: Contedo
true (padro) ou false

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

214

Exemplo
<resizable>false</resizable>

softKeyboardBehavior
Adobe AIR 2.6 e posterior (perfil mvel) - opcional Especifica o comportamento padro do aplicativo quando um teclado virtual exibido. O comportamento padro deslocar o aplicativo para cima. O tempo de execuo mantm o objeto interativo ou o campo de texto focalizado na tela. Use a opo pan se o aplicativo no fornecer sua prpria lgica de manipulao do teclado. Voc tambm pode desativar o comportamento automtico, definindo o elemento softKeyboardBehavior para nenhum. Neste caso, os campos de texto e objetos interativos enviam um SoftKeyboardEvent quando o teclado virtual gerado, mas o tempo de execuo no desloca ou redimensiona o aplicativo. responsabilidade do seu aplicativo manter a rea de entrada de texto em exibio. Elemento pai:aplicativo na pgina 190 Elementos filho: nenhum Contedo Seja none ou pan. O valor padro pan. Exemplo
<softKeyboardBehavior>none</softKeyboardBehavior>

Mais tpicos da Ajuda


SoftKeyboardEvent

supportedProfiles
Adobe AIR 2.0 e posterior - opcional Identifica os perfis que so compatveis com o aplicativo. Elemento pai:aplicativo na pgina 190 Elementos filho: nenhum Contedo Voc pode incluir qualquer um desses valores no elemento supportedProfiles:

desktop O perfil desktop para aplicativos do AIR que so instalados em um computador de mesa que usa um

arquivo do AIR. Esses aplicativos no precisam ter acesso classe NativeProcess (que fornece comunicao com os aplicativos nativos).

extendedDesktop O perfil desktop estendido define os aplicativos do AIR que esto instalados em um

computador de mesa usando um instalador do aplicativo nativo. Esses aplicativos precisam ter acesso classe NativeProcess (que fornece comunicao com os aplicativos nativos).

mobileDevice O perfil de dispositivo mvel para aplicativos mveis. extendedMobileDevice O perfil dispositivo mvel estendido no est em uso atualmente. tv O perfil tv para aplicativos instalados em aparelho de televiso com um arquivo do AIR.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

215

extendedTV O perfil tv estendida para aplicativos instalados em um aparelho de tv com um arquivo AIRN.

Estes aplicativos tm acesso a extenses ActionScript nativas. A propriedade supportedProfiles opcional. Quando voc no incluir este elemento no arquivo descritor do aplicativo, o aplicativo pode ser compilado e implantado para qualquer perfil. Para especificar vrios perfis, separe cada um com um caractere de espao. Por exemplo, a configurao a seguir especifica que o aplicativo somente est disponvel na rea de trabalho e nos perfis estendidos.
<supportedProfiles>desktop extendedDesktop</supportedProfiles>

Nota: Ao executar um aplicativo com ADL e no especificar um valor para a opo -profile do ADL, o primeiro perfil no descritor do aplicativo utilizado. (Se nenhum perfil estiver especificado no descritor do aplicativo, o perfil de desktop usado.) Exemplo
<supportedProfiles>desktop mobileDevice</supportedProfiles>

Mais tpicos da Ajuda


Perfis de dispositivo na pgina 221 Perfis disponveis na pgina 74

systemChrome
Adobe AIR 1.0 e posterior - Opcional Especifica se a janela inicial do aplicativo criada com controles, bordas e barra de ttulo padro fornecidos pelo sistema operacional. A configurao do cromo do sistema da janela no pode ser alterada em tempo de execuo. Elemento pai:initialWindow na pgina 204 Elementos filho: nenhum Contedo Um dos seguintes valores:

none Nenhum cromo do sistema fornecido. O aplicativo (ou um framework do aplicativo, como Flex) responsvel por exibir o cromo da janela. standard (padro) O cromo do sistema fornecido pelo sistema operacional.

Exemplo
<systemChrome>standard</systemChrome>

texto
Adobe AIR 1.1 e posterior - opcional Especifica uma sequncia de caracteres traduzida. O atributo xml:lang de um elemento de texto especifica um cdigo de idioma, como definido em RFC4646 (http://www.ietf.org/rfc/rfc4646.txt).

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

216

O instalador do aplicativo do AIR usa o elemento text com o valor de atributo xml:lang que mais se aproxima do idioma da interface do sistema operacional do usurio. Por exemplo, considere uma instalao na qual um elemento text inclui um valor para o local en (ingls). O instalador do aplicativo do AIR usa o nome en se o sistema operacional identifica en (ingls) como o idioma da interface do usurio. Ele tambm usa o nome en se o idioma da interface do usurio do sistema for en-US (ingls norte-americano). No entanto, se o idioma da interface do usurio en-US e o arquivo do descritor do aplicativo define os nomes en-US e en-GB, o instalador do aplicativo do AIR usa o valor en-US. Se o aplicativo no define nenhum elemento text que corresponda aos idiomas da interface do usurio do sistema, o instalador do aplicativo do AIR usa o primeiro valor name definido no arquivo do descritor do aplicativo. Elementos pai:

nome na pgina 210 descrio na pgina 197


Elementos filho: nenhum Contedo Um atributo xml:lang que especifica um local e uma sequncia de caracteres do texto traduzido. Exemplo
<text xml:lang="fr">Bonjour AIR</text>

title
Adobe AIR 1.0 e posterior - Opcional Especifica o ttulo exibido na barra de ttulo da janela inicial do aplicativo. Um ttulo exibido apenas se o elemento systemChrome estiver definido para standard. Elemento pai:initialWindow na pgina 204 Elementos filho: nenhum Contedo Uma sequncia de caracteres que contm o ttulo da janela. Exemplo
<title>Example Window Title</title>

transparent
Adobe AIR 1.0 e posterior - Opcional Especifica se a janela inicial do aplicativo alfa mesclada com o desktop. Uma janela com transparncia ativada pode ser desenhada mais lentamente e exigir mais memria. A configurao de transparente no pode ser alterada em tempo de execuo. Importante: Voc pode definir apenas transparent como true quando systemChrome for none. Elemento pai:initialWindow na pgina 204

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

217

Elementos filho: nenhum Contedo true ou false (padro) Exemplo


<transparent>true</transparent>

verso
Adobe AIR 1.0 a 2.0 obrigatrio; no permitido em AIR 2.5 e posterior Especifica as informaes de verso para o aplicativo. A sequncia de caracteres da verso um designador definido pelo aplicativo. O AIR no interpreta de maneira nenhuma a string de verso. Portanto, no se supe que a verso 3.0 mais atual que a verso 2.0. Exemplos: "1.0", ".4", "0.5", "4.9", "1.3.4a". Em AIR 2.5 e posterior, o elemento version substitudo pelos elementos versionNumber e versionLabel. Elemento pai:aplicativo na pgina 190 Elementos filho: nenhum Contedo Uma sequncia de caracteres que contm uma verso do aplicativo. Exemplo
<version>0.1 Alpha</version>

versionLabel
Adobe AIR 2.5 e posterior - opcional Especifica uma sequncia de caracteres da verso legvel por pessoas. O valor do rtulo da verso exibido em dilogos de instalao em vez de o valor do elemento versionNumber. Se versionLabel no for usado, o versionNumber usado para ambos. Elemento pai:aplicativo na pgina 190 Elementos filho: nenhum Contedo Uma sequncia de caracteres que contm o texto da verso exibida publicamente. Exemplo
<versionLabel>0.9 Beta</versionlabel>

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

218

versionNumber
Adobe AIR 2.5 e posterior - obrigatrio O nmero da verso do aplicativo. Elemento pai:aplicativo na pgina 190 Elementos filho: nenhum Contedo O nmero da verso pode conter uma sequncia de at trs nmeros inteiros separados por pontos. Cada inteiro deve ser um nmero entre 0 e 999 (inclusive). Exemplos
<versionNumber>1.0.657</versionNumber> <versionNumber>10</versionNumber> <versionNumber>0.01</versionNumber>

visible
Adobe AIR 1.0 e posterior - Opcional Especifica se a janela inicial do aplicativo fica visvel assim que criada. Janelas do AIR, incluindo a janela inicial, so criadas em estado invisvel por padro. Voc pode exibir a janela chamando o mtodo activate() do objeto NativeWindow ou definindo a propriedade visible como true. Voc pode querer deixar a janela principal oculta inicialmente, para que alteraes na posio da janela, no tamanho da janela e o layout de seu contedo no sejam exibidos. O componente mx:WindowedApplication do Flex exibe e ativa de maneira automtica a janela imediatamente antes que o evento applicationComplete seja despachado, a menos que o atributo visible seja definido como false na definio MXML. Nos dispositivos em perfis mveis e de tv que no so compatveis com janelas, a configurao visvel ignorada. Elemento pai:initialWindow na pgina 204 Elementos filho: nenhum Contedo
true ou false (padro)

Exemplo
<visible>true</visible>

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

219

width
Adobe AIR 1.0 e posterior - Opcional A largura inicial da janela principal do aplicativo. Se voc no definir uma largura, esta determinada pelas configuraes no arquivo SWF raiz ou, no caso de um aplicativo do AIR baseado em HTML, pelo sistema operacional. A largura mxima de uma janela muda de 2048 para 4096 pixels no AIR 2. Elemento pai:initialWindow na pgina 204 Elementos filho: nenhum Contedo Um nmero inteiro positivo com um valor mximo de 4095. Exemplo
<width>1024</width>

x
Adobe AIR 1.0 e posterior - Opcional A posio horizontal da janela inicial do aplicativo. Na maioria dos casos, melhor deixar o sistema operacional determinar a posio inicial da janela em vez de atribuir um valor fixo. A origem do sistema de coordenadas da tela (0,0) o canto superior esquerdo da tela principal do desktop (conforme determinado pelo sistema operacional). Elemento pai:initialWindow na pgina 204 Elementos filho: nenhum Contedo Um valor inteiro. Exemplo
<x>120</x>

y
Adobe AIR 1.0 e posterior - Opcional A posio vertical da janela inicial do aplicativo. Na maioria dos casos, melhor deixar o sistema operacional determinar a posio inicial da janela em vez de atribuir um valor fixo.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

220

A origem do sistema de coordenadas da tela (0,0) o canto superior esquerdo da tela principal do desktop (conforme determinado pelo sistema operacional). Elemento pai:initialWindow na pgina 204 Elementos filho: nenhum Contedo Um valor inteiro. Exemplo
<y>250</y>

ltima atualizao em 13/10/2011

221

Captulo 15: Perfis de dispositivo


Adobe AIR 2 e posterior Os perfis so um mecanismo para definir as classes de dispositivos de computao onde funciona seu aplicativo. Um perfil define um conjunto de APIs e de recursos normalmente disponveis em uma classe particular do dispositivo. Os perfis disponveis incluem:

desktop extendedDesktop mobileDevice extendedMobileDevice tv extendedTV


Voc pode definir os perfis para seu aplicativo no descritor do aplicativo. Usurios de computadores e dispositivos em perfis includos podem instalar o aplicativo; usurios de outros computadores e dispositivos no podem. Por exemplo, se voc incluir somente o perfil desktop no descritor do aplicativo, os usurios podem instalar e executar o aplicativo apenas em computadores desktop. Se voc incluir um perfil que seu aplicativo no seja realmente compatvel, a experincia do usurio em tais ambientes podem ser pobres. Se voc no especificar nenhum perfil no descritor do aplicativo, o AIR no limitar o aplicativo. Voc pode compactar o aplicativo em qualquer um dos formatos compatveis, e os usurios com dispositivos de qualquer perfil podem instal-lo - porm, pode no funcionar corretamente em tempo de execuo. Sempre que possvel, so impostas restries de perfil ao compactar o aplicativo. Por exemplo, se voc incluir somente o perfil extendedDesktop, no poder compactar o aplicativo como um arquivo AIR - apenas como um instalador nativo. Da mesma forma, se voc no incluir o perfil MobileDevice, no poder compactar o aplicativo como um APK do Android. Um nico dispositivo de computao pode ser compatvel com mais de um perfil. Por exemplo, o AIR em computadores desktop so compatveis com aplicativos de perfis desktop e extendedDesktop. No entanto, um aplicativo de perfil desktop estendido pode se comunicar com processos nativos e DEVE ser compactado como um instalador nativo (exe, dmg, deb ou rpm). Um aplicativo com perfil desktop, por outro lado, no pode se comunicar com um processo nativo. Um aplicativo com perfil desktop pode ser compactado como um arquivo AIR ou um instalador nativo. A incluso de um recurso em um perfil indica que o suporte para esse recurso comum na classe de dispositivos para a qual esse perfil est definido. No entanto, isso no significa que cada dispositivo em um perfil seja compatvel com todos os recursos. Por exemplo, a maioria (mas no todos) dos telefones mveis contm um acelermetro. Classes e recursos que no tm suporte universal geralmente tm uma propriedade booliana que voc pode verificar antes de usar o recurso. No caso do acelermetro, por exemplo, voc pode testar a propriedade esttica Accelerometer.isSupported para determinar se o dispositivo atual tem um acelermetro compatvel. Os perfis a seguir podem ser atribudos ao aplicativo do AIR usando o elemento supportedProfiles no descritor do aplicativo:
rea de trabalho O perfil desktop define um conjunto de capacidades para os aplicativos AIR, que so instaladas como arquivos AIR em um computador pessoal. Estes aplicativos so instalados e executados nas plataformas de computador pessoal suportadas (sistemas operacionais Mac, Windows e Linux). Os aplicativos AIR desenvolvidos em

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Perfis de dispositivo

222

verses do AIR anteriores a AIR 2 podem ser considerados inseridos no perfil desktop. Algumas APIs no funcionam neste perfil. Por exemplo, os aplicativos de computao pessoal no podem se comunicar com processos nativos.
Desktop estendido O perfil desktop estendido define um conjunto de capacidades para os aplicativos AIR que compem o pacote e so instaladas com um programa de instalao nativo. Estes programas de instalao nativos so arquivos EXE no Windows, arquivos DMG no Mac OS, e arquivos DEB ou RPM no Linux. Os aplicativos com o perfil desktop estendido tm capacidades adicionais que no esto disponveis nos aplicativos com o perfil desktop. Para obter mais informaes, consulte Compactao de um instalador desktop nativo na pgina 56. Dispositivo mvel O perfil dispositivo mvel define um conjunto de capacidades para aplicativos que so instalados

em dispositivos mveis, tais como telefones celulares e tablets. Esses aplicativos so instalados e executados em plataformas mveis suportadas, incluindo Android, Blackberry Tablet OS e iOS.
Dispositivo mvel estendido O perfil dispositivo mvel define um extenso conjunto de capacidades para aplicativos que so instalados em dispositivos mveis. Atualmente, no existem dispositivos que suportam este perfil. TV O perfil televiso define um conjunto de capacidades para televisores. O perfil inclui tambm dispositivos que usam televisores como monitor principal, como leitores de discos Blu-ray, gravadores de vdeo digital e caixas modelo "set-top". Os aplicativos que seguem esse perfil no podem usar extenses nativas para Adobe AIR. TV estendida O perfil televiso expandida abrange os mesmos tipos de dispositivos como o perfil televiso, mas inclui recursos adicionais, como extenses nativas para Adobe AIR.

Como restringir perfis de destino no arquivo de descrio do aplicativo


Adobe AIR 2 e posterior Como no AIR 2, o arquivo de descrio do aplicativo inclui um elemento supportedProfiles, que permite restringir perfis de destino. Por exemplo, a seguinte configurao especifica que o aplicativo somente est disponvel no perfil desktop.
<supportedProfiles>desktop</supportedProfiles>

Quando este elemento definido, o aplicativo pode ser empacotado nos perfis que voc listar. Use os seguintes valores:

desktop O perfil desktop extendedDesktop O perfil desktop estendido mobileDevice O perfil dispositivo mvel tvO perfil televiso extendedTVO perfil televiso estendida

O elemento supportedProfiles opcional. Quando voc no incluir este elemento no arquivo e descrio do aplicativo, o aplicativo poder ser compilado e implementado para qualquer perfil. Para especificar vrios perfis no elemento supportedProfiles, separe cada um com um caractere de espao como no exemplo a seguir:
<supportedProfiles>desktop extendedDesktop</supportedProfiles>

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Perfis de dispositivo

223

Capacidades de perfis diferentes


Adobe AIR 2 e posterior A tabela a seguir lista as classes e os recursos que no so compatveis com todos os perfis.
Classe ou recurso desktop extendedDeskt op No Sim Sim mobileDevice tv extendedTV

Acelermetro (Accelerometer.isSupported)

No

Verificar No No

No No No

No No No

Acessibilidade (Capabilities.hasAccessibility) Sim Eliminao de eco acstico (microfonia) (Microphone.getEnhancedMicrophone()) ActionScript 2 Matriz CacheAsBitmap Cmera (Camera.isSupported) CameraRoll CameraUI (CameraUI.isSupported) Conjuntos de tempo de execuo cativo ContextMenu (ContextMenu.isSupported) DatagramSocket (DatagramSocket.isSupported) DockIcon (NativeApplication.supportsDockIcon) Drag-and-drop (NativeDragManager.isSupported) EncyptedLocalStore (EncyptedLocalStore.isSupported) Acesso Flash (DRMManager.isSupported) GameInput (GameInput.isSupported) Geolocalizao (Geolocation.isSupported) HTMLLoader (HTMLLoader.isSupported) IME (IME.isSupported) LocalConnection (LocalConnection.isSupported) Microfone (Microphone.isSupported) udio multicanal (Capabilities.hasMultiChannelAudio()) Extenses Nativas NativeMenu (NativeMenu.isSupported) NativeProcess (NativeProcess.isSupported) Sim

Sim No Sim No No Sim Sim Sim

Sim No Sim No No Sim Sim Sim

No Sim Sim Sim Sim Sim No No

Sim Sim No No No No No No

Sim Sim No No No No No No

Verificar

Verificar

No

No

No

Sim

Sim

Verificar

No

No

Sim

Sim

Sim

No

No

Sim No No Sim Sim Sim

Sim No No Sim Sim Sim

No No Verificar No Verificar No

Sim Sim No No No Sim

Sim Sim No No No Sim

Sim No

Sim No

Verificar No

No Verificar

No Verificar

No Sim No

Sim Sim Sim

Sim No No

No No No

Sim No No

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Perfis de dispositivo

224

Classe ou recurso

desktop

extendedDeskt op Sim Sim Sim Sim Sim Sim Sim Sim No

mobileDevice

tv

extendedTV

NativeWindow (NativeWindow.isSupported) Sim NetworkInfo (NetworkInfo.isSupported) Abra os arquivos com o aplicativo padro PrintJob (PrintJob.isSupported SecureSocket (SecureSocket.isSupported) ServerSocket (ServerSocket.isSupported) Shader Stage3D (Stage.stage3Ds.length) Orientao do Palco (Stage.supportsOrientationChange) StageVideo StageWebView (StageWebView.isSupported) Iniciar aplicativo no login (NativeApplication.supportsStartAtLogin) StorageVolumeInfo (StorageVolumeInfo.isSupported) Modo ocioso do sistema Sim Limitado Sim Sim Sim Sim Sim No

No Verificar No No No No Limitado No Sim

No Sim No No Verificar No No No No

No Sim No No Verificar No No No No

No Sim

No Sim

Verificar Sim

Sim No

Sim No

Sim

Sim

No

No

No

Sim

Sim

No

Verificar

Verificar

No

No Verificar

Sim No

No No

No No

SystemTrayIcon Verificar (NativeApplication.supportsSystemTrayIcon ) Entrada da Text Layout Framework Updater (Updater.isSupported) XMLSignatureValidator (XMLSignatureValidator.isSupported) Sim Sim Sim

Sim No Sim

No No No

No No Sim

No No Sim

As entradas na tabela tm o seguinte significado:

Verificar O recurso compatvel com alguns, mas no com todos os dispositivos no perfil. Voc deve verificar
no tempo de execuo se o recurso compatvel antes de us-lo.

Limitado O recurso compatvel, mas tem limitaes significativas. Consulte a documentao pertinente para
mais informaes.

No O recurso no compatvel com o perfil. Sim O recurso compatvel com o perfil. Observe que faz falta do hardware necessrio para um recurso nos
dispositivos de computao individual. Por exemplo, nem todos os celulares tm cmeras.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Perfis de dispositivo

225

Como especificar problemas ao depurar com ADL


Adobe AIR 2 e posterior O ADL verifica se voc especificou perfis suportados no elemento supportedProfiles do arquivo de descrio de aplicativos. Se voc fizer isso, ao efetuar a depurao, o ADL, por padro, como perfil o primeiro perfil suportado da lista. Voc pode especificar um perfil para a sesso de depurao de ADL usando o argumento de linha de comando profile. AIR Debug Launcher (ADL) na pgina 144 Voc poder usar este argumento independentemente de especificar ou no um perfil no elemento supportedProfiles do arquivo de descrio do aplicativo. Contudo, se voc especificar um elemento supportedProfiles, ele dever incluir o perfil que voc especificar na linha de comando. Do contrrio, o ADL gera um erro.

ltima atualizao em 13/10/2011

226

Captulo 16: API no navegador AIR.SWF


Personalizao da instalao contnua badge.swf
Alm de usar o arquivo badge.swf fornecido com o SDK, voc pode criar seu prprio arquivo SWF para usar em uma pgina do navegador. Seu arquivo SWF personalizado pode interagir com o tempo de execuo das seguintes maneiras:

Ele pode instalar um aplicativo do AIR. Consulte Instalao de um aplicativo do AIR do navegador na pgina 232. Ele pode verificar se um aplicativo do AIR especfico est instalado. Consulte Verificar por uma pgina da Web se
um aplicativo do AIR est instalado na pgina 231.

Ele pode verificar se o tempo de execuo est instalado. Consulte Verificar se o tempo de execuo est instalado
na pgina 230.

Ele pode iniciar um aplicativo do AIR instalado no sistema do usurio. Consulte Inicializao de um aplicativo do
AIR instalado do navegador na pgina 233. Esses recursos so todos fornecidos ao chamar as APIs em um arquivo SWF hospedado em adobe.com: air.swf. Voc pode personalizar o arquivo badge.swf e chamar as APIs air.swf a partir do seu prprio arquivo SWF. Alm disso, um arquivo SWF em execuo no navegador pode se comunicar com um aplicativo do AIR em execuo usando a classe LocalConnection. Para mais informaes, consulte Comunicao com outras instncias do Flash Player e AIR (para desenvolvedores em ActionScript) ou Communicating with other Flash Player and AIR instances (para desenvolvedores em HTML). Importante: Os recursos descritos nesta seo (e as APIs no arquivo air.swf) exigem que o usurio final tenha a atualizao 3 do Adobe Flash Player 9 (ou superior) instalada no navegador da Web no Windows ou Mac OS. No Linux, o recurso de instalao contnua requer o Flash Player 10 (verso 10,0,12,36 ou posterior). Voc pode escrever cdigos para verificar a verso instalada do Flash Player e fornecer uma interface alternativa ao usurio se a verso exigida do Flash Player no for instalada. Por exemplo, se uma verso mais antiga do Flash Player estiver instalada, voc poderia fornecer um link para a verso de download do arquivo AIR (em vez de usar o arquivo badge.swf ou a API do air.swf para instalar um aplicativo).

Usando o arquivo badge.swf para instalar um aplicativo do AIR


Includo no SDK do AIR e no SDK do Flex est um arquivo badge.swf, que permite usar facilmente o recurso de instalao direta. O badge.swf pode instalar o tempo de execuo e um aplicativo do AIR de um link em uma pgina da Web. O arquivo badge.swf e seu cdigo-fonte so fornecidos a voc para distribuio no seu site da Web. Incorpore o arquivo badge.swf em uma pgina da Web 1 Localize os seguintes arquivos, fornecidos no diretrio samples/badge do SDK do AIR ou do SDK do Flex, e adicione-os no seu servidor Web.

badge.swf default_badge.html

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


API no navegador AIR.SWF

227

AC_RunActiveContent.js
2 Abra a pgina default_badge.html em um editor de texto. 3 Na pgina default_badge.html, na funo JavaScript AC_FL_RunContent(), ajuste as definies do parmetro
FlashVars para as seguintes:
Parmetro
appname appurl

Descrio O nome do aplicativo, exibido pelo arquivo SWF quando o tempo de execuo no est instalado. (Obrigatrio). A URL do arquivo AIR a ser obtido por download. Voc deve usar uma URL absoluta, e no relativa. (Obrigatrio). Para a verso 1.0 do tempo de execuo, defina isso para 1.0. A URL da imagem (opcional) para exibir no crach. A cor do boto de download (especificada como um valor hexadecimal, como FFCC00). A cor da mensagem de texto exibida abaixo do boto quando o tempo de execuo no est instalado (especificada como um valor hexadecimal, como FFCC00).

airversion imageurl buttoncolor messagecolor

4 O tamanho mnimo do arquivo badge.swf de 217 pixels de largura por 180 pixels de altura. Ajuste os valores dos

parmetros width e height da funo AC_FL_RunContent() para se adequar s suas necessidades.


5 Renomeie o arquivo default_badge.html e ajuste seu cdigo (ou inclua-o em outra pgina HTML) para se adequar

s suas necessidades. Nota: Para a tag embed de HTML que carrega o arquivo badge.swf, no defina o atributo wmode; deixe-o definido como a configurao padro ("window"). Outras configuraes wmode vo impedir a instalao em alguns sistemas. Alm disso, usar outras configuraes wmode produzem um erro: Erro #2044: ErrorEvent no tratado:. text=Error #2074: O palco est muito pequeno para baixar a iu. Voc tambm pode editar e recompilar o arquivo badge.swf. Para obter detalhes, consulte Modifique o arquivo badge.swf na pgina 228.

Instale o aplicativo do AIR a partir de um link de instalao direta em uma pgina da Web
Depois de ter adicionado o link de instalao direta a uma pgina, o usurio pode instalar o aplicativo do AIR clicando no link no arquivo SWF.
1 Navegue at a pgina HTML em um navegador da Web que tenha Flash Player (verso 9 atualizao 3 ou posterior

no Windows e Mac OS ou verso 10 no Linux) instalada.


2 Na pgina da Web, clique no link no arquivo badge.swf.

Se tiver instalado o tempo de execuo, passe para a prxima etapa. Se no tiver instalado o tempo de execuo, uma caixa de dilogo ser exibida perguntando se voc gostaria de
instal-lo. Instale o tempo de execuo (consulte Instalao do Adobe AIR na pgina 3) e continue com a etapa seguinte.
3 Na janela de instalao, deixe as configuraes padro selecionadas e clique em Continuar.

Em um computador Windows, o AIR faz automaticamente o seguinte:

Instala o aplicativo em c:\Arquivos de Programas\ Cria um atalho na rea de trabalho para o aplicativo

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


API no navegador AIR.SWF

228

Cria um atalho no menu Iniciar Adiciona uma entrada para o aplicativo no Painel de Controle Adicionar ou Remover Programas
No Mac OS, o instalador adiciona o aplicativo ao diretrio Aplicativos (por exemplo, no diretrio /Aplicativos no Mac OS). Em um computador Linux, o AIR faz automaticamente o seguinte:

Instala o aplicativo na /sada. Cria um atalho na rea de trabalho para o aplicativo Cria um atalho no menu Iniciar Adicione uma entrada para o aplicativo no gerenciador de pacotes do sistema
4 Selecione as opes desejadas e clique no boto Instalar. 5 Quando a instalao estiver concluda, clique em Concluir.

Modifique o arquivo badge.swf


O SDK do AIR e o SDK do Flex oferecem os arquivos de origem para o arquivo badge.swf. Esses arquivos esto includos na pasta samples/badge do SDK:
Arquivos de origem badge.fla Descrio O arquivo de origem do Flash usado para compilar o arquivo badge.swf. O arquivo badge.fla compilado em um arquivo do SWF 9 (que pode ser carregado no Flash Player). Uma classe do ActionScript 3.0 que define a classe base usada no arquivo basdge.fla.

AIRBadge.as

Voc pode utilizar o Flash Professional para projetar novamente a interface visual do arquivo badge.fla. A funo de construtor AIRBadge(), definida na classe AIRBadge, carrega o arquivo air.swf hospedado em http://airdownload.adobe.com/air/browserapi/air.swf. O arquivo air.swf inclui cdigo para usar o recurso de instalao direta. O mtodo onInit() (na classe AIRBadge) invocado quando o arquivo air.swf carregado com sucesso:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


API no navegador AIR.SWF

229

private function onInit(e:Event):void { _air = e.target.content; switch (_air.getStatus()) { case "installed" : root.statusMessage.text = ""; break; case "available" : if (_appName && _appName.length > 0) { root.statusMessage.htmlText = "<p align='center'><font color='#" + _messageColor + "'>In order to run " + _appName + ", this installer will also set up Adobe AIR.</font></p>"; } else { root.statusMessage.htmlText = "<p align='center'><font color='#" + _messageColor + "'>In order to run this application, " + "this installer will also set up Adobe AIR.</font></p>"; } break; case "unavailable" : root.statusMessage.htmlText = "<p align='center'><font color='#" + _messageColor + "'>Adobe AIR is not available for your system.</font></p>"; root.buttonBg_mc.enabled = false; break; } }

O cdigo define a varivel global _air para a classe principal do arquivo air.swf carregado. Essa classe inclui os seguintes mtodos pblicos, que o arquivo badge.swf acessa para chamar a funcionalidade de instalao direta:
Mtodo
getStatus()

Descrio Determina se o tempo de execuo instalado (ou pode ser instalado) no computador. Para obter detalhes, consulte Verificar se o tempo de execuo est instalado na pgina 230.

runtimeVersion Uma string que indica a verso do tempo de execuo (como "1.0.M6") exigida pelo aplicativo a ser instalado.

installApplication() Instala o aplicativo especificado na mquina do usurio. Para obter detalhes, consulte Instalao de um

aplicativo do AIR do navegador na pgina 232.

url Uma sequncia de caracteres que define a URL. Voc deve usar um caminho de URL absoluta, e no

relativa.
runtimeVersion Uma string que indica a verso do tempo de execuo (como "2.5.") exigida pelo aplicativo a ser instalado. arguments Argumentos a serem transmitidos ao aplicativo se ele for iniciado na instalao. O aplicativo iniciado na instalao se o elemento allowBrowserInvocation definido como true no arquivo do

descritor do aplicativo. (Para obter mais informaes sobre o arquivo do descritor do aplicativo, consulte Arquivos descritores do aplicativo do AIR na pgina 186.) Se o aplicativo for iniciado como resultado de uma instalao direta do navegador (com o usurio optando por iniciar na instalao), o objeto NativeApplication do aplicativo despacha um objeto BrowserInvokeEvent apenas se argumentos forem transmitidos. Considere as implicaes de segurana de dados que voc transmite ao aplicativo. Para obter detalhes, consulte Inicializao de um aplicativo do AIR instalado do navegador na pgina 233.

As configuraes para url e runtimeVersion so transmitidas no arquivo SWF pelas configuraes do FlashVars na pgina HTML do continer.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


API no navegador AIR.SWF

230

Se o aplicativo for iniciado automaticamente na instalao, voc poder usar a comunicao LocalConnection para ter o aplicativo instalado. Entre em contato com o arquivo badge.swf na invocao. Para mais informaes, consulte Comunicao com outras instncias do Flash Player e AIR (para desenvolvedores em ActionScript) ou Communicating with other Flash Player and AIR instances (para desenvolvedores em HTML). Voc tambm pode chamar o mtodo getApplicationVersion() do arquivo air.swf para verificar se um aplicativo est instalado. Voc pode chamar esse mtodo antes do processo de instalao do aplicativo ou aps a instalao ser iniciada. Para obter detalhes, consulte Verificar por uma pgina da Web se um aplicativo do AIR est instalado na pgina 231.

Carregar o arquivo air.swf


Voc pode criar seu prprio arquivo do SWF que usa as APIs no arquivo air.swf para interagir com o tempo de execuo e aplicativos do AIR de uma pgina da Web em um navegador. O arquivo air.swf hospedado em http://airdownload.adobe.com/air/browserapi/air.swf. Para se referir s APIs do air.swf do seu arquivo SWF, carregue o arquivo air.swf no mesmo domnio de aplicativo do seu arquivo SWF. O cdigo a seguir mostra um exemplo de como carregar o arquivo air.swf no domnio do aplicativo do arquivo SWF que est sendo carregado:
var airSWF:Object; // This is the reference to the main class of air.swf var airSWFLoader:Loader = new Loader(); // Used to load the SWF var loaderContext:LoaderContext = new LoaderContext(); // Used to set the application domain loaderContext.applicationDomain = ApplicationDomain.currentDomain; airSWFLoader.contentLoaderInfo.addEventListener(Event.INIT, onInit); airSWFLoader.load(new URLRequest("http://airdownload.adobe.com/air/browserapi/air.swf"), loaderContext); function onInit(e:Event):void { airSWF = e.target.content; }

Depois que o arquivo air.swf estiver carregado (quando o objeto Loader do objeto contentLoaderInfo enviar o evento init), voc pode chamar APIs air.swf, descritas nas sees que seguem. Nota: O arquivo badge.swf, fornecido com o SDK do Flex e do AIR, carrega automaticamente o arquivo air.swf. Consulte Usando o arquivo badge.swf para instalar um aplicativo do AIR na pgina 226. As instrues desta seo se aplicam criao do seu prprio arquivo do SWF que carrega o arquivo air.swf.

Verificar se o tempo de execuo est instalado


Um arquivo SWF pode verificar se o tempo de execuo est instalado chamando o mtodo getStatus() no arquivo air.swf carregado de http://airdownload.adobe.com/air/browserapi/air.swf. Para obter detalhes, consulte Carregar o arquivo air.swf na pgina 230. Depois que o arquivo air.swf for carregado, o arquivo SWF poder chamar o mtodo getStatus() do arquivo air.swf como a seguir:
var status:String = airSWF.getStatus();

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


API no navegador AIR.SWF

231

O mtodo getStatus() retorna um dos seguintes valores de sequncias de caracteres, com base no status do tempo de execuo no computador:
Valor de string
"available" "unavailable" "installed"

Descrio O tempo de execuo pode ser instalado nesse computador, mas no est instalado no momento. O tempo de execuo no pode ser instalado neste computador. O tempo de execuo est instalado nesse computador.

O mtodo getStatus() lana um erro se a verso necessria do Flash Player (verso 9 atualizao 3 ou posterior no Windows e Mac OS ou verso 10 no Linux) no estiver instalada no navegador.

Verificar por uma pgina da Web se um aplicativo do AIR est instalado


Um arquivo SWF pode verificar se um aplicativo do AIR (com um ID de aplicativo e um ID de editor correspondentes) est instalado chamando o mtodo getApplicationVersion() no arquivo air.swf carregado de http://airdownload.adobe.com/air/browserapi/air.swf. Para obter detalhes, consulte Carregar o arquivo air.swf na pgina 230. Depois que o arquivo air.swf for carregado, o arquivo SWF poder chamar o mtodo getApplicationVersion() do arquivo air.swf como a seguir:
var appID:String = "com.example.air.myTestApplication"; var pubID:String = "02D88EEED35F84C264A183921344EEA353A629FD.1"; airSWF.getApplicationVersion(appID, pubID, versionDetectCallback); function versionDetectCallback(version:String):void { if (version == null) { trace("Not installed."); // Take appropriate actions. For instance, present the user with // an option to install the application. } else { trace("Version", version, "installed."); // Take appropriate actions. For instance, enable the // user interface to launch the application. } }

O mtodo getApplicationVersion() possui os seguintes parmetros:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


API no navegador AIR.SWF

232

Parmetros
appID pubID

Descrio O ID desse aplicativo. Para obter detalhes, consulte id na pgina 202. O ID do editor do aplicativo. Para obter detalhes, consulte publisherID na pgina 212. Se o aplicativo e em questo no possuir um ID do editor, defina o parmtero pubID para uma sequncia de caracteres vazia (""). Uma funo de retorno de chamada para servir como a funo do manipulador. O mtodo getApplicationVersion() opera de modo assncrono e ao detectar essa verso instalada (ou a falta de uma verso instalada), esse mtodo de retorno de chamada invocado. A definio do mtodo de retorno de chamada deve incluir um parmetro, uma sequncia de caracteres, definida para a sequncia de caracteres da verso do aplicativo instalado. Se o aplicativo no for instalado, um valor de nulo ser transmitido funo, como ilustrado no exemplo de cdigo anterior.

retorno de chamada

O mtodo getApplicationVersion() lana um erro se a verso necessria do Flash Player (verso 9 atualizao 3 ou posterior no Windows e Mac OS ou verso 10 no Linux) no estiver instalada no navegador. Nota: A partir do AIR 1.5.3, o ID do editor no mais utilizado. Os IDs de publicao no so mais atribudos a nenhum aplicativo automaticamente. Para manter a compatibilidade com verses anteriores, os aplicativos podem a continuar a especificar o ID do editor.

Instalao de um aplicativo do AIR do navegador


Um arquivo SWF pode instalar um aplicativo do AIR chamando o mtodo installApplication() no arquivo air.swf carregado de http://airdownload.adobe.com/air/browserapi/air.swf. Para obter detalhes, consulte Carregar o arquivo air.swf na pgina 230. Depois que o arquivo air.swf for carregado, o arquivo SWF poder chamar o mtodo installApplication() do arquivo air.swf como no cdigo a seguir:
var url:String = "http://www.example.com/myApplication.air"; var runtimeVersion:String = "1.0"; var arguments:Array = ["launchFromBrowser"]; // Optional airSWF.installApplication(url, runtimeVersion, arguments);

O mtodo installApplication() instala o aplicativo especificado na mquina do usurio. Esse mtodo possui os seguintes parmetros:
Parmetro
url

Descrio Uma sequncia de caracteres que define a URL do arquivo AIR a instalar. Voc deve usar um caminho de URL absoluta, e no relativa. Uma sequncia de caracteres que indica a verso do tempo de execuo (como "1.0") exigida pelo aplicativo a ser instalado. Uma matriz de argumentos a serem transmitidos ao aplicativo se ele for iniciado na instalao. Somente caracteres alfanumricos so reconhecidos nos argumentos. Se for necessrio passar outros valores, considere o uso de um esquema de codificao. O aplicativo iniciado na instalao se o elemento allowBrowserInvocation definido como true no arquivo do descritor do aplicativo. (Para obter mais informaes sobre o arquivo do descritor do aplicativo, consulte Arquivos descritores do aplicativo do AIR na pgina 186.) Se o aplicativo for iniciado como resultado de uma instalao direta do navegador (com o usurio optando por iniciar na instalao), o objeto NativeApplication do aplicativo despacha um objeto BrowserInvokeEvent apenas se argumentos tiverem sido transmitidos. Para obter detalhes, consulte Inicializao de um aplicativo do AIR instalado do navegador na pgina 233.

runtimeVersion

argumentos

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


API no navegador AIR.SWF

233

O mtodo installApplication() pode operar apenas quando chamado no manipulador de eventos para um evento do usurio, como um clique do mouse. O mtodo installApplication() lana um erro se a verso necessria do Flash Player (verso 9 atualizao 3 ou posterior no Windows e Mac OS ou verso 10 no Linux) no estiver instalada no navegador. No Mac OS, para instalar uma verso atualizada de um aplicativo, o usurio precisa ter privilgios adequados do sistema para instalar no diretrio do aplicativo (e privilgios administrativos se o aplicativo atualizar o tempo de execuo). No Windows, o usurio deve ter privilgios administrativos. Voc tambm pode chamar o mtodo getApplicationVersion() do arquivo air.swf para verificar se um aplicativo j est instalado. Voc pode chamar esse mtodo antes que o processo de instalao do aplicativo seja iniciado ou aps a instalao ser iniciada. Para obter detalhes, consulte Verificar por uma pgina da Web se um aplicativo do AIR est instalado na pgina 231. Depois que o aplicativo estiver em execuo, ele pode se comunicar com o contedo do SWF no navegador usando a classe LocalConnection. Para mais informaes, consulte Comunicao com outras instncias do Flash Player e AIR (para desenvolvedores em ActionScript) ou Communicating with other Flash Player and AIR instances (para desenvolvedores em HTML).

Inicializao de um aplicativo do AIR instalado do navegador


Para usar o recurso de invocao do navegador (permitindo que ele seja iniciado do navegador), o arquivo do descritor do aplicativo de destino deve incluir a seguinte configurao:
<allowBrowserInvocation>true</allowBrowserInvocation>

Para obter mais informaes sobre o arquivo do descritor do aplicativo, consulte Arquivos descritores do aplicativo do AIR na pgina 186. Um arquivo SWF no navegador pode iniciar um aplicativo do AIR chamando o mtodo launchApplication() no arquivo air.swf carregado de http://airdownload.adobe.com/air/browserapi/air.swf. Para obter detalhes, consulte Carregar o arquivo air.swf na pgina 230. Depois que o arquivo air.swf for carregado, o arquivo SWF poder chamar o mtodo launchApplication() do arquivo air.swf como no cdigo a seguir:
var appID:String = "com.example.air.myTestApplication"; var pubID:String = "02D88EEED35F84C264A183921344EEA353A629FD.1"; var arguments:Array = ["launchFromBrowser"]; // Optional airSWF.launchApplication(appID, pubID, arguments);

O mtodo launchApplication() definido no nvel superior do arquivo air.swf (carregado no domnio do aplicativo do arquivo SWF da interface do usurio). Chamar esse mtodo faz com que o AIR inicie o aplicativo especificado (se ele for instalado e a invocao do navegador for permitida, pela configurao allowBrowserInvocation no arquivo do descritor do aplicativo). O mtodo tem os seguintes parmetros:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


API no navegador AIR.SWF

234

Parmetro
appID pubID

Descrio O ID do aplicativo a ser iniciado. Para obter detalhes, consulte id na pgina 202. O ID do editor do aplicativo a ser iniciado. Para obter detalhes, consulte publisherID na pgina 212. Se o aplicativo e em questo no possuir um ID do editor, defina o parmtero pubID para uma sequncia de caracteres vazia (""). Uma matriz de argumentos para transmitir ao aplicativo. O objeto NativeApplication do aplicativo despacha um evento BrowserInvokeEvent que possui uma propriedade de argumentos definida para essa matriz. Somente caracteres alfanumricos so reconhecidos nos argumentos. Se for necessrio passar outros valores, considere o uso de um esquema de codificao.

argumentos

O mtodo launchApplication() pode operar apenas quando chamado no manipulador de eventos para um evento do usurio, como um clique do mouse. O mtodo launchApplication() lana um erro se a verso necessria do Flash Player (verso 9 atualizao 3 ou posterior no Windows e Mac OS ou verso 10 no Linux) no estiver instalada no navegador. Se o elemento allowBrowserInvocation for definido como false no arquivo do descritor do aplicativo, chamar o mtodo launchApplication() no ter efeito. Antes de apresentar a interface do usurio para iniciar o aplicativo, voc pode desejar chamar o mtodo
getApplicationVersion() no arquivo air.swf. Para obter detalhes, consulte Verificar por uma pgina da Web se

um aplicativo do AIR est instalado na pgina 231. Quando o aplicativo invocado pelo recurso de invocao do navegador, o objeto NativeApplication do aplicativo despacha um objeto BrowserInvokeEvent. Para obter detalhes, consulte Invocao de um aplicativo do AIR do navegador (para desenvolvedores em ActionScript) ou Invoking an AIR application from the browser (para desenvolvedores em HTML). Se voc usa o recurso de invocao do navegador, certifique-se de considerar implicaes de segurana. Estas implicaes so descrita em Invocao de um aplicativo do AIR do navegador (para desenvolvedores em ActionScript) e Invoking an AIR application from the browser (para desenvolvedores em HTML). Depois que o aplicativo estiver em execuo, ele pode se comunicar com o contedo do SWF no navegador usando a classe LocalConnection. Para mais informaes, consulte Comunicao com outras instncias do Flash Player e AIR (para desenvolvedores em ActionScript) ou Communicating with other Flash Player and AIR instances (para desenvolvedores em HTML). Nota: A partir do AIR 1.5.3, o ID do editor no mais utilizado. Os IDs de publicao no so mais atribudos a nenhum aplicativo automaticamente. Para manter a compatibilidade com verses anteriores, os aplicativos podem a continuar a especificar o ID do editor.

ltima atualizao em 13/10/2011

235

Captulo 17: Atualizao de aplicativos AIR


Os usurios podem instalar ou atualizar um aplicativo do AIR clicando duas vezes no arquivo AIR no computador ou a partir do navegador (usando o recurso de instalao direta). O aplicativo de instalao do Adobe AIR gerencia a instalao, alertando o usurio se ele estiver atualizando um aplicativo j existente. No entanto, tambm possvel que um aplicativo instalado se atualize automaticamente para uma nova verso usando a classe Updater. (Um aplicativo instalado pode detectar que uma nova verso est disponvel para download e instalao.) A classe Updater inclui um mtodo update() que permite apontar para um arquivo AIR no computador do usurio e atualizar para essa verso. Seu aplicativo deve ser compactado como um arquivo AIR, para usar a classe Updater. Aplicativos compactados como executvel nativo ou pacote devem utilizar os meios de atualizao fornecidos pela plataforma nativa. As IDs do aplicativo e do editor de um arquivo AIR de atualizao devem corresponder s do aplicativo a ser atualizado. I ID do publicador obtido do certificado de assinatura. Tanto a atualizao quanto o aplicativo a serem usados devem ser assinados com o mesmo certificado. Para o AIR 1.5.3 ou superior, a arquivo de descrio do aplicativo inclui um elemento <publisherID>. Voc dever usar este elemento se houver verses do seu aplicativo desenvolvidas com o uso do AIR 1.5.2 ou superior. Para obter mais informaes, consulte publisherID na pgina 212. A partir do AIR 1.1, possvel migrar um aplicativo para usar um novo certificado de autenticao de cdigo. A migrao de um aplicativo para usar uma nova assinatura envolve assinar o arquivo AIR de atualizao com os certificados novo e original. A migrao de certificado um processo unidirecional. Aps a migrao, somente os arquivos do AIR assinados com o novo certificado (ou com ambos) sero reconhecidos como atualizaes de uma instalao existente. Gerenciar a atualizao de aplicativos pode ser complicado. O AIR 1.5 inclui os novos aplicativos estrutura de atualizao para do Adobe AIR. Essa estrutura fornece APIs para auxiliar os desenvolvedores a fornecer bons recursos de atualizao em aplicativos do AIR. Voc pode usar a migrao de certificado para mudar de um certificado autoassinado para um certificado comercial de autenticao de cdigo ou de um certificado autoassinado ou comercial para outro. Caso voc no migre o certificado, os usurios existentes devero remover a verso atual do seu aplicativo antes de instalar a nova. Para obter mais informaes, consulte Alterao de certificados na pgina 177. uma boa prtica incluir um mecanismo de atualizao no seu aplicativo. Se voc criar uma nova verso do aplicativo, o mecanismo de atualizao pode solicitar que o usurio instale uma nova verso. O programa de instalao do aplicativo do AIR cria arquivos de registro quando um aplicativo do AIR instalado, atualizado ou removido. Voc pode consultar estes arquivos de registro para ajudar a determinar a causa de problemas de instalao. Consulte Registros de instalao. Nota: As novas verses do tempo de execuo do Adobe AIR podem incluir verses atualizadas do WebKit. Uma verso atualizada do WebKit pode resultar em alteraes inesperadas no contedo em HTML em um aplicativo do AIR implementado. Estas alteraes podem exigir que voc atualize o seu aplicativo. Um mecanismo de atualizao pode informar ao usurio sobre a nova verso do aplicativo. Para mais informaes, consulte Sobre o ambiente HTML (para desenvolvedores em ActionScript) ou About the HTML environment (para desenvolvedores em HTML).

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos AIR

236

Sobre atualizao de aplicativos


A classe Updater (no pacote flash.desktop) inclui um mtodo, update(), que voc pode usar para atualizar o aplicativo em execuo no momento com uma verso diferente. Por exemplo, se o usurio tem uma verso do arquivo AIR ("Sample_App_v2.air") localizada na rea de trabalho, o seguinte cdigo atualiza o aplicativo. Exemplo do ActionScript:
var updater:Updater = new Updater(); var airFile:File = File.desktopDirectory.resolvePath("Sample_App_v2.air"); var version:String = "2.01"; updater.update(airFile, version);

Exemplo do JavaScript:
var updater = new air.Updater(); var airFile = air.File.desktopDirectory.resolvePath("Sample_App_v2.air"); var version = "2.01"; updater.update(airFile, version);

Antes de um aplicativo usar a classe Updater, o usurio ou o aplicativo deve baixar a verso atualizada do arquivo AIR no computador. Para obter mais informaes, consulte Download de um arquivo AIR no computador do usurio na pgina 238.

Resultados de chamar o mtodo Updater.update()


Quando um aplicativo no tempo de execuo chama o mtodo update(), o tempo de execuo fecha o aplicativo e tenta instalar a nova verso do arquivo AIR. O tempo de execuo verifica se o ID do aplicativo e o ID do editor especificadas no arquivo AIR correspondem s IDs do aplicativo e do editor do aplicativo que est chamando o mtodo update(). (Para obter informaes sobre o ID do aplicativo e o ID do editor, consulte Arquivos descritores do aplicativo do AIR na pgina 186.) Ele tambm verifica se a string de verso corresponde string version passada para o mtodo update(). Se a instalao for concluda com xito, o tempo de execuo abrir a nova verso do aplicativo. Do contrrio (se a instalao no for concluda), ele reabrir a verso existente (pr-instalao) do aplicativo. No Mac OS, para instalar uma verso atualizada de um aplicativo, o usurio deve ter privilgios adequados do sistema para instalar no diretrio do aplicativo. No Windows e no Linux, um usurio precisa de privilgios administrativos. Se a verso atualizada do aplicativo exigir uma verso atualizada do tempo de execuo, a nova verso do tempo de execuo ser instalada. Para atualizar o tempo de execuo, o usurio deve ter privilgios administrativos no computador. Durante o teste de um aplicativo usando o ADL, se o mtodo update() for chamado, ser gerada uma exceo do tempo de execuo.

Sobre a string de verso


A sequncia de caracteres especificada como o parmetro version do mtodo update() deve corresponder string no elemento version ou versionNumber do arquivo de descrio do aplicativo para o arquivo AIR a ser instalado. necessrio especificar o parmetro version por motivo de segurana. Ao solicitar que o aplicativo verifique o nmero da verso do arquivo AIR, o aplicativo no instalar uma verso mais antiga de forma inadvertida. (Uma verso mais antiga do aplicativo pode conter uma vulnerabilidade de segurana que foi corrigida no aplicativo instalado no momento.) O aplicativo tambm deve verificar a string de verso no arquivo AIR com a string de verso no aplicativo instalado para impedir ataques de downgrade.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos AIR

237

Antes do AIR 2.5, a sequncia de caracteres da verso pode ser de qualquer formato. Por exemplo, pode ser "2.01" ou "verso 2". No AIR 2.5 ou posterior, a sequncia de caracteres da verso deve ser uma sequncia de at trs nmeros de trs dgitos separados por pontos. Por exemplo, .0, 1.0 e 67.89.999 so todos os nmeros de verso vlidos. Voc deve validar a sequncia da verso de atualizao antes de atualizar o aplicativo. Se um aplicativo do Adobe AIR baixa um arquivo AIR pela web, recomendvel ter um mecanismo atravs do qual o servio da web possa notificar o aplicativo sobre a verso que est sendo baixada. O aplicativo poder ento usar essa string como o parmetro version do mtodo update(). Se o arquivo AIR for obtido por algum outro meio, no qual a verso do arquivo desconhecida, o aplicativo do AIR poder examin-lo para determinar a informao de verso. (Um arquivo AIR consiste em um arquivo compactado no formato ZIP, e o arquivo de descrio do aplicativo o segundo registro no arquivo.) Para obter detalhes sobre o arquivo de descrio do aplicativo, consulte Arquivos descritores do aplicativo do AIR na pgina 186.

Marcando o fluxo de trabalho para atualizaes do aplicativo


A publicao de atualizaes na forma ad hoc complica as tarefas de gerenciamento de verses de vrios aplicativos e tambm faz monitoramento de dificuldade de datas de validade do certificado. Os certificados podem expirar antes que voc possa publicar uma atualizao O tempo de execuo do Adobe AIR trata uma atualizao de aplicativo publicada sem assinatura de migrao como um novo aplicativo. Os usurios devem desinstalar seu aplicativo do AIR atual antes que possam instalar a atualizao do aplicativo. Para resolver o problema, carregue cada aplicativo atualizado com o certificado mais recente para uma URL de implementao separada. Inclua um mecanismo que o lembre de aplicar assinaturas de migrao quando o certificado estiver dentro do perodo de prorrogao de 180 dias. Consulte Assinatura de uma verso atualizada de um aplicativo do AIR na pgina 182 para obter mais informaes. Consulte Comandos do ADT na pgina 149 para obter mais informaes sobre como aplicar assinaturas. Realize as seguintes tarefas para simplificar o processo de aplicao das assinaturas de migrao:

Carregue cada aplicativo atualizado para uma URL de implementao separada. Carregue o arquivo XML descritor e o certificado mais recente para a atualizao para a mesma URL. Marque o aplicativo atualizado com o certificado mais recente. Aplique uma assinatura de migrao para o aplicativo atualizado com o certificado usado para assinar a verso
anterior localizada em uma URL diferente.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos AIR

238

Apresentao de uma interface de usurio de atualizao do aplicativo personalizado


O AIR vem com uma interface de atualizao padro:

Essa interface sempre usada quando o usurio instala uma verso de um aplicativo em uma mquina pela primeira vez. No entanto, voc pode definir sua prpria interface para us-la em ocorrncias subsequentes. Se seu aplicativo definir uma interface de atualizao personalizada, especifique um elemento customUpdateUI no arquivo de descritor do aplicativo para o aplicativo instalado no momento:
<customUpdateUI>true</customUpdateUI>

Quando o aplicativo instalado e o usurio abre um arquivo AIR com um ID de aplicativo e um ID de editor que correspondem aos do aplicativo instalado, o tempo de execuo abre o aplicativo em vez no instalador de aplicativo padro do AIR. Para obter mais informaes, consulte customUpdateUI na pgina 196. O aplicativo pode decidir, quando executado (quando o objeto NativeApplication.nativeApplication despacha um evento load), se o aplicativo deve ser atualizado (usando a classe Updater). Se ele optar pela atualizao, poder apresentar ao usurio sua prpria interface de instalao (que diferente da interface padro que est sendo executada).

Download de um arquivo AIR no computador do usurio


Para utilizar a classe Updater, primeiro o usurio ou o aplicativo deve salvar um arquivo AIR localmente no computador do usurio. Nota: O AIR 1.5 inclui uma estrutura de atualizao, que auxilia desenvolvedores no fornecimento de bons recursos de atualizao em aplicativos do AIR. Usar essa estrutura pode ser bem mais fcil que usar o mtodo update() da classe Update diretamente. Para obter detalhes, consulte Uso da estrutura de atualizao na pgina 242. O cdigo abaixo l um arquivo AIR a partir de uma URL (http://example.com/air/updates/Sample_App_v2.air) e salva o arquivo no diretrio de armazenamento do aplicativo. Exemplo do ActionScript:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos AIR

239

var urlString:String = "http://example.com/air/updates/Sample_App_v2.air"; var urlReq:URLRequest = new URLRequest(urlString); var urlStream:URLStream = new URLStream(); var fileData:ByteArray = new ByteArray(); urlStream.addEventListener(Event.COMPLETE, loaded); urlStream.load(urlReq); function loaded(event:Event):void { urlStream.readBytes(fileData, 0, urlStream.bytesAvailable); writeAirFile(); } function writeAirFile():void { var file:File = File.applicationStorageDirectory.resolvePath("My App v2.air"); var fileStream:FileStream = new FileStream(); fileStream.open(file, FileMode.WRITE); fileStream.writeBytes(fileData, 0, fileData.length); fileStream.close(); trace("The AIR file is written."); }

Exemplo do JavaScript:
var urlString = "http://example.com/air/updates/Sample_App_v2.air"; var urlReq = new air.URLRequest(urlString); var urlStream = new air.URLStream(); var fileData = new air.ByteArray(); urlStream.addEventListener(air.Event.COMPLETE, loaded); urlStream.load(urlReq); function loaded(event) { urlStream.readBytes(fileData, 0, urlStream.bytesAvailable); writeAirFile(); } function writeAirFile() { var file = air.File.desktopDirectory.resolvePath("My App v2.air"); var fileStream = new air.FileStream(); fileStream.open(file, air.FileMode.WRITE); fileStream.writeBytes(fileData, 0, fileData.length); fileStream.close(); trace("The AIR file is written."); }

Para obter mais informaes, consulte:

Fluxo de trabalho de leitura e gravao de arquivos (para desenvolvedores em ActionScript) Workflow for reading and writing files (para desenvolvedores em HTML)

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos AIR

240

Verificar se um aplicativo est sendo executado pela primeira vez


Aps atualizar um aplicativo, voc pode exibir ao usurio uma mensagem de "introduo" ou de "boas-vindas". Aps a inicializao, o aplicativo verifica se est sendo executado pela primeira vez para determinar se deve exibir a mensagem. Nota: O AIR 1.5 inclui uma estrutura de atualizao, que auxilia desenvolvedores no fornecimento de bons recursos de atualizao em aplicativos do AIR. Essa estrutura fornece mtodos fceis para verificar se uma verso de um aplicativo est sendo executada pela primeira vez. Para obter detalhes, consulte Uso da estrutura de atualizao na pgina 242. Uma forma de fazer isso salvar um arquivo no diretrio de armazenamento do aplicativo depois de inicializ-lo. Sempre que o aplicativo inicializado, deve averiguar se esse arquivo existe. Se o arquivo no existir, isso indica que o aplicativo est sendo executado pela primeira vez para o usurio atual. Se o arquivo existir, o aplicativo j foi executado pelo menos uma vez. Se o arquivo existir e contiver um nmero de verso mais antigo que o atual, voc saber que o usurio est executando a nova verso pela primeira vez. O exemplo a seguir do Flex demonstra o conceito:
<?xml version="1.0" encoding="utf-8"?> <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" title="Sample Version Checker Application" applicationComplete="system extension()"> <mx:Script> <![CDATA[ import flash.filesystem.*; public var file:File; public var currentVersion:String = "1.2"; public function system extension():void { file = File.applicationStorageDirectory; file = file.resolvePath("Preferences/version.txt"); trace(file.nativePath); if(file.exists) { checkVersion(); } else { firstRun(); } } private function checkVersion():void { var stream:FileStream = new FileStream(); stream.open(file, FileMode.READ); var reversion:String = stream.readUTFBytes(stream.bytesAvailable); stream.close(); if (reversion != currentVersion) { log.text = "You have updated to version " + currentVersion + ".\n";

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos AIR

241

} else { saveFile(); } log.text += "Welcome to the application."; } private function firstRun():void { log.text = "Thank you for installing the application. \n" + "This is the first time you have run it."; saveFile(); } private function saveFile():void { var stream:FileStream = new FileStream(); stream.open(file, FileMode.WRITE); stream.writeUTFBytes(currentVersion); stream.close(); } ]]> </mx:Script> <mx:TextArea ID="log" width="100%" height="100%" /> </mx:WindowedApplication>

O exemplo a seguir demonstra o conceito no JavaScript:


<html> <head> <script src="AIRAliases.js" /> <script> var file; var currentVersion = "1.2"; function system extension() { file = air.File.appStorageDirectory.resolvePath("Preferences/version.txt"); air.trace(file.nativePath); if(file.exists) { checkVersion(); } else { firstRun(); } } function checkVersion() { var stream = new air.FileStream(); stream.open(file, air.FileMode.READ); var reversion = stream.readUTFBytes(stream.bytesAvailable); stream.close(); if (reversion != currentVersion) { window.document.getElementById("log").innerHTML = "You have updated to version " + currentVersion + ".\n"; } else { saveFile(); } window.document.getElementById("log").innerHTML += "Welcome to the application.";

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos AIR

242

} function firstRun() { window.document.getElementById("log").innerHTML = "Thank you for installing the application. \n" + "This is the first time you have run it."; saveFile(); } function saveFile() { var stream = new air.FileStream(); stream.open(file, air.FileMode.WRITE); stream.writeUTFBytes(currentVersion); stream.close(); } </script> </head> <body onLoad="system extension()"> <textarea ID="log" rows="100%" cols="100%" /> </body> </html>

Se o seu aplicativo salva dados localmente (como no diretrio de armazenamento do aplicativo), convm verificar se existem dados j salvos (de verses anteriores) aps a primeira execuo.

Uso da estrutura de atualizao


O gerenciamento de atualizaes para aplicativos pode ser entediante. A estrutura de atualizao para aplicativos AdobeAIRfornece APIs que permitem que os desenvolvedores forneam recursos de atualizao robustos em aplicativos do AIR. A estrutura de atualizao do AIR realiza as seguintes tarefas para os desenvolvedores:

Verifique periodicamente se h atualizaes em um determinado intervalo ou quando o usurio solicita Baixe arquivos do AIR (atualizaes) de uma fonte da Web Alerte o usurio na primeira execuo da verso recm-instalada Confirme que o usurio deseja procurar atualizaes Exiba as informaes sobre a nova verso de atualizao para o usurio Exiba o andamento do download e as informaes de erro para o usurio
A estrutura de atualizao do AIR fornece um exemplo de interface de usurio para seu aplicativo. Ela fornece ao usurio informaes bsicas e opes de configurao para atualizaes do aplicativo. Seu aplicativo tambm pode definir a interface de usurio personalizada para uso com a estrutura de atualizao. A estrutura de atualizao do AIR permite armazenar informaes sobre a verso de atualizao de um aplicativo do AIR em arquivos de configurao XML simples. Na maioria dos aplicativos, a definio desses arquivos de configurao para incluir cdigo bsico fornecem uma boa funcionalidade de atualizao para o usurio final. Mesmo sem usar a estrutura de atualizao, o Adobe AIR inclui uma classe Updater que os aplicativos do AIR podem usar para atualizar para novas verses. A classe Updater permite que um aplicativo seja atualizado para uma verso contida em um arquivo do AIR no computador do usurio. No entanto, o gerenciamento de atualizao pode envolver mais que simplesmente atualizar o aplicativo com base em um arquivo AIR armazenado localmente.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos AIR

243

Arquivos de estrutura de atualizao do AIR


A estrutura de atualizao do AIR est includa no diretrio frameworks/libs/air do AIR 2 SDK. Isto inclui os seguintes arquivos:

applicationupdater.swc Define a funcionalidade bsica da biblioteca de atualizao para ser usada no


ActionScript. Esta verso no contm nenhuma interface do usurio.

applicationupdater.swc Define a funcionalidade bsica da biblioteca de atualizao para ser usada no JavaScript.
Esta verso no contm nenhuma interface do usurio.

ApplicationUpdater_UI.swc Define a funcionalidade bsica da biblioteca de atualizao da verso 4 do Flex,


incluindo uma interface de usurio que o seu aplicativo pode usar para exibir opes de atualizao.

ApplicationUpdater_UI.swc Define a funcionalidade bsica da biblioteca de atualizao na verso JavaScript,


incluindo uma interface de usurio que o seu aplicativo pode usar para exibir opes de atualizao. Para mais informaes, consulte as seguintes sees:

Configurao do ambiente de desenvolvimento em Flex na pgina 243 Incluso de arquivos de estrutura em um aplicativo do AIR baseado em HTML na pgina 243 Exemplo bsico: Uso da verso ApplicationUpdaterUI na pgina 244

Configurao do ambiente de desenvolvimento em Flex


Os arquivos SWC contidos no diretrio frameworks/libs/air do AIR 2 SDK definem classes que voc pode usar no desenvolvimento em Flex e Flash. Para usar a estrutura de atualizao ao compilar com o Flex SDK, inclua o arquivo ApplicationUpdater.swc ou o ApplicationUpdater_UI.swc na chamada do compilador amxmlc. No exemplo a seguir, o compilador carrega o arquivo ApplicationUpdater.swc no subdiretrio lib do diretrio Flex SDK:
amxmlc -library-path+=lib/ApplicationUpdater.swc -- myApp.mxml

No exemplo a seguir, o compilador carrega o arquivo ApplicationUpdater_UI.swc no subdiretrio lib do diretrio Flex SDK:
amxmlc -library-path+=lib/ApplicationUpdater_UI.swc -- myApp.mxml

Ao desenvolver usando o construtor Flash Builder, adicione o arquivo SWC guia Caminho da biblioteca das configuraes do caminho de criao de Flex na caixa de dilogo Propriedades. Assegure-se de copiar os arquivos SWC no diretrio que voc usar como referncia no compilador amxmlc (usando o Flex SDK) ou Flash Builder.

Incluso de arquivos de estrutura em um aplicativo do AIR baseado em HTML


O diretrio frameworks/html da estrutura de atualizao inclui estes arquivos:

applicationupdater.swf Define a funcionalidade bsica da biblioteca de atualizao, sem qualquer interface do


usurio

applicationupdater_ui.swf Define a funcionalidade bsica da biblioteca de atualizao, incluindo uma interface


de usurio que seu aplicativo usa para exibir opes de atualizao O cdigo JavaScript nos aplicativos do AIT podem usar classes definidas nos arquivos SWF. Para usar a estrutura de atualizao, inclua o arquivo applicationupdater.swf ou o applicationupdater_ui.swf no diretrio do aplicativo (ou um subdiretrio). Em seguida, no arquivo HTML que usar a estrutura (em cdigo JavaScript), inclua uma tag script que carregue o arquivo:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos AIR

244

<script src="applicationUpdater.swf" type="application/x-shockwave-flash"/>

Ou use essa tag script para carregar o arquivo applicationupdater_ui.swf:


<script src="applicationupdater_ui.swf" type="application/x-shockwave-flash"/>

A API definida nesses dois arquivos descrita no restante deste documento.

Exemplo bsico: Uso da verso ApplicationUpdaterUI


A verso ApplicationUpdaterUI da estrutura de atualizao fornece uma interface bsica que pode ser facilmente usada no seu aplicativo. A seguir h um exemplo bsico: Primeiro, crie um aplicativo do AIR que chame a estrutura de atualizao:
1 Se seu aplicativo for um aplicativo do AIR baseado em HTML, carregue o arquivo applicationupdaterui.swf:
<script src="ApplicationUpdater_UI.swf" type="application/x-shockwave-flash"/>

2 Na lgica de programao do aplicativo do AIR, instancie um objeto do ApplicationUpdaterUI.

No ActionScript, use o seguinte cdigo:


var appUpdater:ApplicationUpdaterUI = new ApplicationUpdaterUI();

No JavaScript, use o seguinte cdigo:


var appUpdater = new runtime.air.update.ApplicationUpdaterUI();

Voc pode adicionar esse cdigo a uma funo de inicializao executada quando o aplicativo carregado.
3 Crie um arquivo de texto updateConfig.xml e adicione o seguinte a ele:
<?xml version="1.0" encoding="utf-8"?> <configuration xmlns="http://ns.adobe.com/air/framework/update/configuration/1.0"> <url>http://example.com/updates/update.xml</url> <delay>1</delay> </configuration>

Edite o elemento URL do arquivo updateConfig.xml para que corresponda localizao eventual do arquivo de descritor de atualizao do seu servidor da Web (veja o prximo procedimento). O delay o nmero de dias que o aplicativo aguarda entre as verificaes de atualizaes.
4 Adicione o arquivo updateConfig.xml ao diretrio do projeto do seu aplicativo do AIR. 5 Faa com que o objeto updater referencie o arquivo updateConfig.xml e chame o mtodo initialize() do objeto.

No ActionScript, use o seguinte cdigo:


appUpdater.configurationFile = new File("app:/updateConfig.xml"); appUpdater.initialize();

No JavaScript, use o seguinte cdigo:


appUpdater.configurationFile = new air.File("app:/updateConfig.xml"); appUpdater.initialize();

6 Crie uma segunda verso do aplicativo do AIR que tenha uma verso diferente do primeiro aplicativo. (A verso

especificada no arquivo de descritor do aplicativo, no elemento version.) Em seguida, adicione a verso de atualizao do aplicativo do AIR ao servidor da Web:
1 Coloque a verso de atualizao do arquivo AIR no servidor da Web. 2 Crie um arquivo de texto updateDescriptor.2.5.xml e adicione o seguinte contedo a ele:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos AIR

245

<?xml version="1.0" encoding="utf-8"?> <update xmlns="http://ns.adobe.com/air/framework/update/description/2.5"> <versionNumber>1.1</versionNumber> <url>http://example.com/updates/sample_1.1.air</url> <description>This is the latest version of the Sample application.</description> </update>

Edite versionNumber, URL e description do arquivo updateDescriptor.xml para que corresponda ao seu arquivo do AIR. Este formato de descritor de atualizao usado por aplicativos que utilizam a estrutura de atualizao includa com o AIR 2.5 SDK (e posterior).
3 Crie um arquivo de texto updateDescriptor.1.0.xml e adicione o seguinte contedo a ele:
<?xml version="1.0" encoding="utf-8"?> <update xmlns="http://ns.adobe.com/air/framework/update/description/1.0"> <version>1.1</version> <url>http://example.com/updates/sample_1.1.air</url> <description>This is the latest version of the Sample application.</description> </update>

Edite version, URL e description do arquivo updateDescriptor.xml para que corresponda ao seu arquivo AIR. Este formato de descritor de atualizao usado por aplicativos que utilizam a estrutura de atualizao includa com o AIR 2 SDK (e anterior). Nota: A criao deste segundo arquivo descritor de atualizao s necessria quando voc oferece suporte para a atualizao para aplicativos criados antes do AIR 2.5.
4 Inclua os arquivos updateDescriptor.2.5.xml e updateDescriptor.1.0.xml no mesmo diretrio do servidor Web que

contm o arquivo AIR de atualizao. Esse um exemplo bsico, mas fornece a funcionalidade de atualizao suficiente para vrios aplicativos. O restante deste documento descreve como usar a estrutura de atualizao para atender melhor suas necessidades. Para ver outro exemplo de uso da estrutura de atualizao, consulte os aplicativos de amostra a seguir no Adobe AIR developer center:

Estrutura de atualizao em um aplicativo com base em Flex


(http://www.adobe.com/go/learn_air_qs_update_framework_flex_br)

Estrutura de atualizao em um aplicativo com base no Flash


(http://www.adobe.com/go/learn_air_qs_update_framework_flash_br)

Estrutura de atualizao em um aplicativo com base em HTML


(http://www.adobe.com/go/learn_air_qs_update_framework_html_br)

Atualizao para o AIR 2.5


Conforme as regras para assinatura de nmeros de verso para aplicativos modificados no AIR 2.5, a estrutura de atualizao do AIR 2 no pode analisar as informaes de verso em um descritor de aplicativo do AIR 2.5. Esta incompatibilidade significa que voc deve atualizar seu aplicativo para usar a nova estrutura atualizao ANTES de atualizar seu aplicativo para usar o AIR 2.5 SDK. Assim, a atualizao do seu aplicativo para AIR 2.5 ou posterior a partir de qualquer verso do AIR antes do 2.5 requer DUAS atualizaes. A primeira atualizao deve usar o namespace AIR 2 e incluir a biblioteca de estrutura de atualizao AIR 2.5 (voc ainda pode criar o pacote de aplicativos usando o AIR 2.5 SDK). A segunda atualizao pode usar o namespace AIR 2.5 e incluir os novos recursos do seu aplicativo. Voc tambm pode ter a atualizao intermediria sem fazer nada exceto a atualizao para seu aplicativo do AIR 2.5 usando a classe Updater do AIR diretamente.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos AIR

246

O exemplo a seguir ilustra como atualizar um aplicativo da verso 1.0 para 2.0. A verso 1.0 utiliza o antigo namespace 2.0. A verso 2.0 utiliza o namespace 2.5 e tem novos recursos implementados usando as APIs do AIR 2.5.
1 Crie uma verso intermediria do aplicativo, verso 1.0.1, baseado na verso 1.0 do aplicativo. a Use a estrutura Application Updater do AIR 2.5 ao criar o aplicativo.

Nota: Use applicationupdater.swc ou applicationupdater_ui.swc para aplicativos AIR com base na tecnologia Flash, e applicationupdater.swf ou applicationupdater_ui.swf para aplicativos AIR com base HTML.
b Crie um arquivo descritor de atualizao para verso 1.0.1 usando o antigo namespace e a verso conforme

demonstrado abaixo:
<?xml version="1.0" encoding="utf-8"?> <update xmlns="http://ns.adobe.com/air/framework/update/description/2.0"> <version>1.0.1</version> <url>http://example.com/updates/sample_1.0.1.air</url> <description>This is the intermediate version.</description> </update>

2 Crie a verso 2.0 do aplicativo que usa o namespace 2.5 e as APIs do AIR 2.5. 3 Crie um descritor de atualizao para atualizar o aplicativo a partir da verso 1.0.1 para a 2.0.
<?xml version="1.0" encoding="utf-8"?> <update xmlns="http://ns.adobe.com/air/framework/update/description/2.5"> <version>2.0</version> <url>http://example.com/updates/sample_2.0.air</url> <description>This is the intermediate version.</description> </update>

Definio dos arquivos de descritor de atualizao a acrscimo do arquivo do AIR ao servidor da Web
Quando voc usa a estrutura de atualizao do AIR, define informaes bsicas sobre a atualizao disponvel em arquivos de descritor de atualizao, armazenados no servidor da Web. Um arquivo de descritor de atualizao um arquivo XML simples. A estrutura de atualizao includa no aplicativo verifica esse arquivo para ver se uma nova verso foi carregada. O formato do arquivo de descritor de atualizao mudou para AIR 2.5. O novo formato usa um namespace diferente. O namespace original http://ns.adobe.com/air/framework/update/description/1.0. O namespace do AIR 2.5 http://ns.adobe.com/air/framework/update/description/2.5. Os aplicativos do AIR criados antes do AIR 2.5 s podem ler a verso do descritor de atualizao 1.0. Os aplicativos do AIR criados que usam a estrutura do atualizador includa no AIR 2.5 ou posterior s podem ler o descritor de atualizao da verso 2.5. Devido a essa incompatibilidade de verso, muitas vezes voc precisa criar dois arquivos de descritor de atualizao. A lgica de atualizao na verses AIR 2.5 de seu aplicativo deve baixar um descritor de atualizao que use o novo formato. As verses anteriores do aplicativo do AIR devem continuar a usar o formato original. Ambos os arquivos devem ser modificados para cada atualizao que voc lanar (at parar de fornecer suporte para as verses criadas antes do AIR 2.5). O arquivo de descritor de atualizao contm os seguintes dados:

versionNumber A nova verso do aplicativo do AR. Use o elemento versionNumber nos descritores de atualizao usados para atualizar os aplicativos do AIR 2.5. O valor deve ser a mesma sequncia de caracteres usada no elemento versionNumber do novo arquivo de descritor do aplicativo do AIR. Se o nmero da verso no arquivo de descritor de atualizao no corresponder ao da verso no arquivo AIR de atualizao, a estrutura de atualizao lanar uma exceo.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos AIR

247

version A nova verso do aplicativo do AIR. Use o elemento version nos descritores de atualizao usados para atualizar aplicativos criados antes do AIR 2.5. O valor deve ser a mesma sequncia de caracteres usada no elemento version do novo arquivo de descritor de aplicativo do AIR. Se a verso do arquivo de descritor de atualizao no corresponder verso do arquivo AIR, a estrutura de atualizao lanar uma exceo. versionLabel A sequncia de caracteres da verso legvel destinada a ser exibida aos usurios. A versionLabel opcional, mas s pode ser especificada em arquivos de descritor de atualizao de verso 2.5. Use-a se utilizar uma versionLabel no descritor do aplicativo e configure-a para o mesmo valor. url O local do arquivo AIR de atualizao. Esse arquivo contm a verso de atualizao do aplicativo do AIR. description Detalhes relativos nova verso. Essas informaes podem ser exibidas para o usurio durante o processo de atualizao.

Os elementos version e url so obrigatrios. O elemento description opcional. Este um exemplo de arquivo de descritor de atualizao da verso 2.5:
<?xml version="1.0" encoding="utf-8"?> <update xmlns="http://ns.adobe.com/air/framework/update/description/2.5"> <versionNumber>1.1.1</versionNumber> <url>http://example.com/updates/sample_1.1.1.air</url> <description>This is the latest version of the Sample application.</description> </update>

Este um exemplo de arquivo de descritor de atualizao 1.0:


<?xml version="1.0" encoding="utf-8"?> <update xmlns="http://ns.adobe.com/air/framework/update/description/1.0"> <version>1.1.1</version> <url>http://example.com/updates/sample_1.1.1.air</url> <description>This is the latest version of the Sample application.</description> </update>

Se desejar definir a tag description usando vrios idiomas, use vrios elementos text que definam o atributo lang:
<?xml version="1.0" encoding="utf-8"?> <update xmlns="http://ns.adobe.com/air/framework/update/description/2.5"> <versionNumber>1.1.1</versionNumber> <url>http://example.com/updates/sample_1.1.1.air</url> <description> <text xml:lang="en">English description</text> <text xml:lang="fr">French description</text> <text xml:lang="ro">Romanian description</text> </description> </update>

Coloque o arquivo de descritor de atualizao no servidor da Web, juntamente com o arquivo de atualizao do AIR. O diretrio modelo includo com o descritor de atualizao inclui exemplos dos arquivos descritores de atualizao. Eles incluem verses com um idioma ou vrios idiomas.

Instanciao de um objeto atualizador


Aps carregar a estrutura de atualizao do AIR no seu cdigo (consulte Configurao do ambiente de desenvolvimento em Flex na pgina 243 e Incluso de arquivos de estrutura em um aplicativo do AIR baseado em HTML na pgina 243), voc precisa instanciar um objeto atualizador, conforme a seguir: Exemplo do ActionScript:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos AIR

248

var appUpdater:ApplicationUpdater = new ApplicationUpdater();

Exemplo do JavaScript:
var appUpdater = new runtime.air.update.ApplicationUpdater();

O cdigo anterior usa a classe ApplicationUpdater (que no fornece interface de usurio). Se voc deseja usar a classe ApplicationUpdaterUI (que fornece uma interface de usurio), use o seguinte. Exemplo do ActionScript:
var appUpdater:ApplicationUpdaterUI = new ApplicationUpdaterUI();

Exemplo do JavaScript:
var appUpdater = new runtime.air.update.ApplicationUpdaterUI();

Os exemplos de cdigo restantes neste documento supem que voc tenha instanciado um objeto atualizador appUpdater.

Definio das configuraes de atualizao


O ApplicationUpdater e o ApplicationUpdaterUI podem ser configurados por meio de um arquivo de configurao fornecido com o aplicativo ou por meio de ActionScript ou JavaScript no aplicativo.

Definio das configuraes de atualizao em um arquivo de configurao XML


O arquivo de configurao de atualizao um arquivo XML. Ele pode conter os seguintes elementos:

updateURL Uma sequncia de caracteres. Representa a localizao do descritor de atualizao no servidor

remoto. Qualquer localizao de URLRequest vlida permitida. Voc deve definir a propriedade updateURL pelo arquivo de configurao ou por script (consulte Definio dos arquivos de descritor de atualizao a acrscimo do arquivo do AIR ao servidor da Web na pgina 246). Defina essa propriedade antes de usar o atualizador (antes de chamar o mtodo initialize() do objeto atualizador, descrito em Inicializao da estrutura de atualizao na pgina 251).

delay Um nmero. Representa um intervalo de tempo fornecido em dias (valores como 0,25 so permitidos)

para verificao de atualizaes. Um valor de 0 (que o valor padro) especifica que o atualizador no realiza uma verificao automtica peridica. O arquivo de configurao do ApplicationUpdaterUI pode conter o seguinte elemento, alm dos elementos
updateURL e delay:

defaultUI: Uma lista de elementos dialog. Cada elemento dialog tem um atributo name que corresponde caixa

de dilogo na interface do usurio. Cada elemento dialog tem um atributo visible que define se a caixa de dilogo est visvel. O valor padro true. Valores possveis para o atributo name so:

"checkForUpdate" Corresponde s caixas de dilogo Verificar atualizaes, Nenhuma atualizao e Erro de

atualizao.
"downloadUpdate" Corresponde caixa de dilogo Fazendo download de atualizao. "downloadProgress" Corresponde s caixas de dilogo Download em andamento e Erro de download. "installUpdate" Corresponde caixa de dilogo Instalar atualizao. "fileUpdate" Corresponde s caixas de dilogo Atualizao de arquivo, No atualizao de arquivo e Erro

de arquivo
"unexpectedError" Corresponde caixa de dilogo Erro inesperado

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos AIR

249

Quando definida como false, a caixa de dilogo correspondente no aparece como parte do procedimento de atualizao. Este um exemplo do arquivo de configurao para a estrutura ApplicationUpdater:
<?xml version="1.0" encoding="utf-8"?> <configuration xmlns="http://ns.adobe.com/air/framework/update/configuration/1.0"> <url>http://example.com/updates/update.xml</url> <delay>1</delay> </configuration>

Este um exemplo do arquivo de configurao para a estrutura ApplicationUpdaterUI, que inclui uma definio para o elemento defaultUI:
<?xml version="1.0" encoding="utf-8"?> <configuration xmlns="http://ns.adobe.com/air/framework/update/configuration/1.0"> <url>http://example.com/updates/update.xml</url> <delay>1</delay> <defaultUI> <dialog name="checkForUpdate" visible="false" /> <dialog name="downloadUpdate" visible="false" /> <dialog name="downloadProgress" visible="false" /> </defaultUI> </configuration>

Aponte a propriedade configurationFile para o local desse arquivo: Exemplo do ActionScript:


appUpdater.configurationFile = new File("app:/cfg/updateConfig.xml");

Exemplo do JavaScript:
appUpdater.configurationFile = new air.File("app:/cfg/updateConfig.xml");

O diretrio modelo da estrutura de atualizao inclui um exemplo de arquivo de configurao, o config-template.xml.

Definio das configuraes de atualizao do cdigo ActionScript ou JavaScript


Esses parmetros de configurao tambm podem ser definidos usando cdigo no aplicativo, como a seguir:
appUpdater.updateURL = " http://example.com/updates/update.xml"; appUpdater.delay = 1;

As propriedades do objeto atualizador so updateURL e delay. Essas propriedades definem as mesmas configuraes dos elementos updateURL e delay no arquivo de configurao: o URL e o arquivo de descritor de atualizao e o intervalo de verificao de atualizaes. Se voc especificar as configuraes and de um arquivo de configurao no cdigo, todas as propriedades definidas usando o cdigo tero precedncia sobre as configuraes correspondentes no arquivo de configurao. Voc deve definir a propriedade updateURL por meio do arquivo de configurao ou por meio de script (consulte Definio dos arquivos de descritor de atualizao a acrscimo do arquivo do AIR ao servidor da Web na pgina 246) antes de usar o atualizador (antes de chamar o mtodo initialize() do objeto atualizador, descrito em Inicializao da estrutura de atualizao na pgina 251). A estrutura ApplicationUpdaterUI define essas propriedades adicionais do objeto atualizador:

isCheckForUpdateVisible Corresponde s caixas de dilogo Verificar atualizaes, Nenhuma atualizao e

Erro de atualizao.
isDownloadUpdateVisible Corresponde caixa de dilogo Fazendo download de atualizao.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos AIR

250

isDownloadProgressVisible Corresponde s caixas de dilogo Download em andamento e Erro de download. isInstallUpdateVisible Corresponde caixa de dilogo Instalar atualizao. isFileUpdateVisible Corresponde s caixas de dilogo Atualizao de arquivo, No atualizao de arquivo e

Erro de arquivo
isUnexpectedErrorVisible Corresponde caixa de dilogo Erro inesperado

Cada propriedade corresponde a uma ou mais caixa de dilogo da interface de usurio ApplicationUpdaterUI. Cada propriedade um valor booliano com um valor padro true. Quando definida como false, a caixa de dilogo correspondente no aparece como parte do procedimento de atualizao. Essas propriedades de caixa de dilogo substituem as configuraes no arquivo de configurao de atualizao.

O processo de atualizao
A estrutura de atualizao do AIR completa o processo de atualizao nas seguintes etapas:
1 A inicializao do atualizador verifica se foi realizada uma verificao de atualizao no intervalo de tempo definido

(consulte Definio das configuraes de atualizao na pgina 248). Se estiver faltando uma verificao de atualizao, o processo de atualizao continuar.
2 O atualizador baixa e interpreta o arquivo de descritor de atualizao. 3 O atualizador baixa o arquivo AIR de atualizao. 4 O atualizador instala a verso atualizada do aplicativo.

O objeto atualizador despacha eventos na concluso de cada uma das etapas. Na verso do ApplicationUpdater, voc pode cancelar os eventos que indicam a concluso bem-sucedida de uma etapa no processo. Se voc cancelar um desses eventos, a prxima etapa do processo ser cancelada. Na verso do ApplicationUpdaterUI, o atualizador apresenta uma caixa de dilogo permitindo que o usurio cancele ou continue para a prxima etapa do processo. Se voc cancelar o evento, poder chamar mtodos do objeto atualizador para retomar o processo. Conforme a verso do ApplicationUpdater do atualizador progride pelo processo de atualizao, ela registra seu estado atual em uma propriedade currentState. Essa propriedade definida como uma sequncia de caracteres com os seguintes valores possveis:

"UNINITIALIZED" O atualizador no foi inicializado. "INITIALIZING" O atualizador est sendo inicializado. "READY" O atualizador foi inicializado "BEFORE_CHECKING" O atualizador ainda no verificou se existe um arquivo de descritor de atualizao. "CHECKING" O atualizador est verificando se existe um arquivo de descritor de atualizao. "AVAILABLE" O arquivo de descritor de atualizao est disponvel. "DOWNLOADING" O atualizador est baixando o arquivo AIR. "DOWNLOADED" O atualizador baixou o arquivo AIR. "INSTALLING" O atualizador est instalando o arquivo AIR. "PENDING_INSTALLING" O atualizador foi inicializado e no h atualizaes pendentes.

Alguns mtodos do objeto atualizador s sero executados se o atualizador estiver em determinado estado.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos AIR

251

Inicializao da estrutura de atualizao


Depois de definir as propriedades de configurao (consulte Exemplo bsico: Uso da verso ApplicationUpdaterUI na pgina 244), chame o mtodo initialize() para inicializar a atualizao:
appUpdater.initialize();

Esse mtodo faz o seguinte:

Ele inicializa a estrutura de atualizao, instalando de forma silenciosa e sncrona todas as atualizaes pendentes.
necessrio para chamar esse mtodo durante a inicializao do aplicativo, pois ele pode reiniciar o aplicativo quando chamado.

Ele verifica se existe uma atualizao adiada e a instala. Se houver um erro durante o processo de atualizao, ele limpa o arquivo de atualizao e as informaes de verso
da rea de armazenamento do aplicativo.

Se o tempo limite tiver expirado, o processo de atualizao e iniciado. Caso contrrio, ele inicia o timer.
Chamar esse mtodo pode resultar no despacho dos seguintes eventos pelo objeto atualizador:

UpdateEvent.INITIALIZED Despachado quando a inicializao concluda. ErrorEvent.ERROR Despachado quando h um erro na inicializao.

No despacho do evento UpdateEvent.INITIALIZED, o processo de atualizao concludo. Quando voc chama o mtodo initialize(), o atualizador inicia o processo de atualizao e conclui todas as etapas com base na configurao de tempo do timer. No entanto, voc tambm pode iniciar o processo de atualizao a qualquer momento chamando o mtodo checkNow() do objeto atualizador:
appUpdater.checkNow();

Esse mtodo no faz nada se o processo de atualizao j estiver em execuo. Caso contrrio, ele comea o processo de atualizao. O objeto atualizador pode despachar o seguinte evento como resultado de chamar o mtodo checkNow():

Evento UpdateEvent.CHECK_FOR_UPDATE, antes de ele tentar baixar o arquivo de descritor de atualizao.


Se voc cancelar o evento checkForUpdate, poder chamar o mtodo checkForUpdate() do objeto atualizador. (Consulte a prxima seo.) Se voc no cancelar o evento, o processo de atualizao continuar para verificar se h arquivo de descritor de atualizao.

Gerenciamento do processo de atualizao na verso ApplicationUpdaterUI


Na verso ApplicationUpdaterUI, o usurio pode cancelar o processo pelos botes Cancelar das caixas de dilogo da interface de usurio. Alm disso, voc pode cancelar de forma programtica o processo de atualizao chamando o mtodo cancelUpdate() do objeto ApplicationUpdaterUI. Voc pode definir as propriedades do objeto ApplicationUpdaterUI ou definir elementos no arquivo de configurao de atualizao para especificar quais confirmaes de caixa de dilogo o atualizador exibe. Para obter detalhes, consulte Definio das configuraes de atualizao na pgina 248.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos AIR

252

Gerenciamento do processo de atualizao na verso ApplicationUpdater


Voc pode chamar o mtodo preventDefault() dos objetos de evento despachados pelo objeto ApplicationUpdater para cancelar etapas do processo de atualizao (consulte O processo de atualizao na pgina 250). Cancelar o comportamento padro fornece ao seu aplicativo uma chance de exibir uma mensagem ao usurio perguntando se ele deseja continuar. As sees a seguir descrevem como continuar o processo de atualizao quando uma etapa do processo cancelada.

Download e interpretao do arquivo de descritor de atualizao


O objeto ApplicationUpdater despacha o evento checkForUpdate antes do processo de atualizao ser iniciado, logo antes de o atualizador tentar baixar o arquivo de descritor de atualizao. Se voc cancelar o comportamento padro do evento checkForUpdate, o atualizador no baixar o arquivo de descritor de atualizao. Voc pode chamar o mtodo checkForUpdate() para retomar o processo de atualizao:
appUpdater.checkForUpdate();

Chamar o mtodo checkForUpdate() faz com que o atualizador baixe e interprete o arquivo do descritor do aplicativo de forma assncrona. Como resultado de chamar o mtodo checkForUpdate(), o objeto atualizador poder despachar os seguintes eventos:

StatusUpdateEvent.UPDATE_STATUS O atualizador baixou e interpretou o arquivo de descritor de atualizao com xito. Esse evento tem estas propriedades:

available Um valor booliano. Configure para true se existir uma verso disponvel diferente do aplicativo atual; caso contrrio false (a verso a mesma). version Uma sequncia de caracteres. A verso do arquivo de descritor de aplicativo do arquivo de

atualizao
details Uma matriz. Se no houver verses localizadas da descrio, essa matriz retornar uma sequncia

de caracteres vazia ("") como primeiro elemento e a descrio como segundo elemento. Se houver vrias verses da descrio (no arquivo de descritor de atualizao), a matriz conter vrias submatrizes. Cada matriz tem dois elementos: o primeiro um cdigo de idiomas (como "en") e o segundo a descrio correspondente (uma sequncia de caracteres) para o idioma. Consulte Definio dos arquivos de descritor de atualizao a acrscimo do arquivo do AIR ao servidor da Web na pgina 246.

StatusUpdateErrorEvent.UPDATE_ERROR Ocorreu e o atualizador no pde baixar ou interpretar o arquivo

de descritor de eventos.

Download do arquivo de atualizao do AIR


O objeto ApplicationUpdater despacha o evento updateStatus depois que o atualizador baixa e interpreta com xito o arquivo de descritor de atualizao. O comportamento padro comear a baixar o arquivo de atualizao, se ele estiver disponvel. Se voc cancelar o comportamento padro, poder chamar o mtodo downloadUpdate() para retomar o processo de atualizao.
appUpdater.downloadUpdate();

Chamar esse mtodo faz com que o atualizador baixe de forma assncrona a verso de atualizao do arquivo do AIR. O mtodo downloadUpdate() pode despachar os seguintes eventos:

UpdateEvent.DOWNLOAD_START Foi estabelecida a conexo com o servidor. Quando voc usa a biblioteca

ApplicationUpdaterUI, esse evento exibe uma caixa de dilogo com uma barra de progresso para controlar o andamento do download.

ProgressEvent.PROGRESS Despachado periodicamente conforme o download do arquivo progride.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos AIR

253

DownloadErrorEvent.DOWNLOAD_ERROR Despachado se houver um erro na conexo ou no download do arquivo de atualizao. Tambm despachado para status de HTTP invlidos (como " 404 - Arquivo no encontrado"). Esse evento tem uma propriedade errorID, um inteiro que define informaes de erro adicionais. Uma propriedade subErrorID adicional pode conter mais informaes de erro. UpdateEvent.DOWNLOAD_COMPLETE O atualizador baixou e interpretou o arquivo de descritor de atualizao

com xito. Se voc no cancelar esse evento, a verso do ApplicationUpdater continuar a instalar a verso de atualizao. Na verso do ApplicationUpdaterUI, o usurio visualiza uma caixa de dilogo que fornece a opo de continuar.

Atualizao do aplicativo
O objeto ApplicationUpdater despacha o evento downloadComplete quando o download do arquivo de atualizao concludo. Se voc cancelar o comportamento padro, poder chamar o mtodo installUpdate() para retomar o processo de atualizao.
appUpdater.installUpdate(file);

Chamar esse mtodo faz com que o atualizador instale uma verso de atualizao do arquivo AIR. O mtodo inclui um parmetro, file, que um objeto File que referencia o arquivo AIR a ser usado como atualizao. O objeto ApplicationUpdater pode despachar e evento beforeInstall como resultado de chamar o mtodo
installUpdate():

UpdateEvent.BEFORE_INSTALL Despachado antes de instalar a atualizao. s vezes, til impedir a instalao

da atualizao nesse momento, para que o usurio possa concluir o trabalho atual antes de a atualizao continuar. Chamar o mtodo preventDefault() do objeto Event adia a instalao at o prximo reincio, e nenhum processo de atualizao adicional pode ser iniciado. (Isso inclui atualizaes que resultariam de chamar o mtodo checkNow() ou de verificaes peridicas.)

Instalao de um arquivo AIR arbitrrio


Voc pode chamar o mtodo installFromAIRFile() para instalar a verso de atualizao para instalar de um arquivo AIR no computador do usurio.
appUpdater.installFromAIRFile();

Esse mtodo faz com que o atualizador instale uma verso de atualizao do aplicativo a partir do arquivo AIR. O mtodo installFromAIRFile() pode despachar os seguintes eventos:

StatusFileUpdateEvent.FILE_UPDATE_STATUS Despachado depois que ApplicationUpdater valida com

xito o arquivo envaido usando o mtodo installFromAIRFile(). Esse evento tem as seguintes propriedades:

available Definida como true se houver uma verso diferente da verso do aplicativo atual; false caso contrrio (as verses so as mesmas). version A string que representa a nova verso disponvel. path Representa o caminho nativo do arquivo de atualizao.

Voc pode cancelar esse evento se a propriedade disponvel do objeto StatusFileUpdateEvent estiver definida como
true. O cancelamento do evento impede a continuidade da atualizao. Chame o mtodo installUpdate() para

continuar a atualizao cancelada.

StatusFileUpdateErrorEvent.FILE_UPDATE_ERROR Ocorreu um erro e o atualizador no pde instalar o

aplicativo do AIR.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos AIR

254

Cancelamento do processo de atualizao


Voc pode chamar o mtodo cancelUpdate() para cancelar o processo de atualizao:
appUpdater.cancelUpdate();

Esse mtodo cancela os downloads pendentes, excluindo arquivos baixados incompletos, e reinicia o timer de verificao peridica. O mtodo no faz nada se o objeto atualizador estiver sendo inicializado.

Localizao da interface ApplicationUpdaterUI


A classe ApplicationUpdaterUI fornece uma interface de usurio padro para o processo de atualizao. Isso inclui caixas de dilogo que permitem que o usurio inicie o processo, cancele o processo e realize outras aes relacionadas. O elemento description do arquivo de descritor de atualizao permite definir a descrio do aplicativo em vrios idiomas. Use vrios elementos text que definem atributos lang, como a seguir:
<?xml version="1.0" encoding="utf-8"?> <update xmlns="http://ns.adobe.com/air/framework/update/description/1.0"> <version>1.1a1</version> <url>http://example.com/updates/sample_1.1a1.air</url> <description> <text xml:lang="en">English description</text> <text xml:lang="fr">French description</text> <text xml:lang="ro">Romanian description</text> </description> </update>

A estrutura de atualizao usa a descrio mais adequada para a cadeia de localizao do usurio. Para obter mais informaes, consulte Definio do arquivo de descritor de atualizao a acrscimo do arquivo AIR ao servidor da Web. Desenvolvedores de Flex podem adicionar diretamente um novo idioma ao grupo "ApplicationUpdaterDialogs". Desenvolvedores de JavaScript podem chamar o mtodo addResources() do objeto atualizador. Esse mtodo adiciona dinamicamente um novo conjunto de recursos para um idioma. O conjunto de recursos define sequncias de caracteres localizadas para um idioma. Essas sequncias de caracteres so usadas em vrios campos de texto de caixa de dilogo. Desenvolvedores de JavaScript podem usar a propriedade localeChain da classe ApplicationUpdaterUI para definir a cadeia de localizao usada pela interface do usurio. Geralmente, somente desenvolvedores de JavaScript (HTML) usam essa propriedade. Desenvolvedores de Flex usam o ResourceManager para gerenciar a cadeia de localizao. Por exemplo, o cdigo de JavaScript a seguir define grupos de recursos para romano e hngaro.
appUpdater.addResources("ro_RO", {titleCheck: "Titlu", msgCheck: "Mesaj", btnCheck: "Buton"}); appUpdater.addResources("hu", {titleCheck: "Cm", msgCheck: "zenet"}); var languages = ["ro", "hu"]; languages = languages.concat(air.Capabilities.languages); var sortedLanguages = air.Localizer.sortLanguagesByPreference(languages, air.Capabilities.language, "en-US"); sortedLanguages.push("en-US"); appUpdater.localeChain = sortedLanguages;

Para obter detalhes, consulte a descrio do mtodo addResources() da classe ApplicationUpdaterUI na referncia de idiomas.

ltima atualizao em 13/10/2011

255

Captulo 18: Visualizao do cdigo-fonte


Da mesma forma que o usurio pode visualizar o cdigo-fonte para uma pgina HTML em um navegador, os usurios podem visualizar o cdigo-fonte de um aplicativo do AIR baseado em HTML. O SDK do Adobe AIR inclui um arquivo AIRSourceViewer.js de JavaScript que voc pode usar em seu aplicativo para revelar facilmente o cdigo-fonte para os usurios finais.

Carregamento, configurao e abertura do Visualizador de Cdigo-Fonte


O cdigo do Visualizador de Cdigo-Fonte est includo em um arquivo JavaScript, AIRSourceViewer.js, que, por sua vez, est includo no diretrio de estruturas do SDK do AIR. Para usar o Visualizador do Cdigo-Fonte no seu aplicativo, copie o arquivo AIRSourceViewer.js para o diretrio do projeto do seu aplicativo e carregue o arquivo atravs da tag de script no arquivo HTML principal no seu aplicativo:
<script type="text/javascript" src="AIRSourceViewer.js"></script>

O arquivo AIRSourceViewer.js define uma classe, o SourceViewer, que voc pode acessar do cdigo do JavaScript chamando air.SourceViewer. A classe SourceViewer define trs mtodos: getDefault(), setup() e viewSource().
Mtodo
getDefault()

Descrio Um mtodo esttico. Retorna uma instncia do SourceViewer, que voc pode usar para chamar os outros mtodos. Aplica as configuraes ao Visualizador do Cdigo-Fonte. Para obter detalhes, consulte Configurao do Visualizador do Cdigo-Fonte na pgina 255. Abre uma nova janela na qual o usurio pode navegar e abrir os arquivos de origem do aplicativo de host.

setup()

viewSource()

Nota: O cdigo que usa o Visualizador do Cdigo-Fonte deve estar em uma caixa de proteo do aplicativo (em um arquivo no diretrio do aplicativo). Por exemplo, o cdigo JavaScript a seguir instancia um objeto do Visualizador do Cdigo-Fonte e abre a janela do Visualizador que lista todos os arquivos de origem:
var viewer = air.SourceViewer.getDefault(); viewer.viewSource();

Configurao do Visualizador do Cdigo-Fonte


O mtodo config() aplica determinadas configuraes ao Visualizador do Cdigo-Fonte. Esse mtodo adota um parmetro: configObject. O objeto configObject tem propriedades que definem as configuraes para o Visualizador do Cdigo-Fonte. As propriedades so default, exclude, initialPosition, modal, typesToRemove e typesToAdd. default Um string que especifica o caminho relativo ao arquivo inicial a ser exibido no Visualizador do Cdigo-Fonte.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Visualizao do cdigo-fonte

256

Por exemplo, o cdigo JavaScript a seguir abre a janela do Visualizador do Cdigo-Fonte com o arquivo index.html como arquivo inicial mostrado:
var viewer = air.SourceViewer.getDefault(); var configObj = {}; configObj.default = "index.html"; viewer.viewSource(configObj);

exclude Uma sequncia de strings que especifica os arquivos ou diretrios a serem excludos da listagem do Visualizador do Cdigo-Fonte. Os caminhos se referem ao diretrio do aplicativo. Os caracteres curinga no recebem suporte. Por exemplo, o cdigo JavaScript a seguir abre a janela do Visualizador do Cdigo-Fonte que lista todos os arquivos de origem, exceto para o arquivo AIRSourceViewer.js, e os arquivos nos subdiretrios Imagens e sons:
var viewer = air.SourceViewer.getDefault(); var configObj = {}; configObj.exclude = ["AIRSourceViewer.js", "Images" "Sounds"]; viewer.viewSource(configObj);

initialPosition Uma matriz que inclui dois nmeros, especificando as coordenadas x e y iniciais da janela do Visualizador do CdigoFonte. Por exemplo, o cdigo de JavaScript a seguir abre a janela do Visualizador do Cdigo-Fonte nas coordenadas da tela [40, 60] (X = 40, Y = 60):
var viewer = air.SourceViewer.getDefault(); var configObj = {}; configObj.initialPosition = [40, 60]; viewer.viewSource(configObj);

modal Um valor booliano que especifica se o Visualizador do Cdigo-Fonte deve ser uma janela modal (verdadeiro) ou no modal (falso). Por padro, a janela do Visualizador do Cdigo-Fonte modal. Por exemplo, o cdigo de JavaScript a seguir abre a janela do Visualizador do Cdigo-Fonte de tal forma que o usurio possa interagir com a janela do Visualizador do Cdigo-Fonte e as janelas de qualquer aplicativo:
var viewer = air.SourceViewer.getDefault(); var configObj = {}; configObj.modal = false; viewer.viewSource(configObj);

typesToAdd Uma matriz de strings que especifica os tipos de arquivo a serem includos na listagem do Visualizador do CdigoFonte, alm dos tipos padro inclusos. Por padro, o Visualizador do Cdigo-Fonte lista os seguintes tipos de arquivos:

Arquivos de texto TXT, XML, MXML, HTM, HTML, JS, AS, CSS, INI, BAT, PROPERTIES, CONFIG Arquivos de imagem JPG, JPEG, PNG, GIF
Se nenhum valor for especificado, todos os tipos padro so includos (exceto aqueles especificados na propriedade typesToExclude).

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Visualizao do cdigo-fonte

257

Por exemplo, o cdigo de JavaScript a seguir abre a janela do Visualizador do Cdigo-Fonte que inclui os arquivos VCF e VCARD:
var viewer = air.SourceViewer.getDefault(); var configObj = {}; configObj.typesToAdd = ["text.vcf", "text.vcard"]; viewer.viewSource(configObj);

Para cada tipo de arquivo que voc listar, especifique "text" (para os arquivos do tipo texto) ou "image" (para arquivos do tipo imagem). typesToExclude Uma matriz de strings que especifica os tipos de arquivo a serem excludos do Visualizador do Cdigo-Fonte. Por padro, o Visualizador do Cdigo-Fonte lista os seguintes tipos de arquivos:

Arquivos de texto TXT, XML, MXML, HTM, HTML, JS, AS, CSS, INI, BAT, PROPERTIES, CONFIG Arquivos de imagem JPG, JPEG, PNG, GIF
Por exemplo, o cdigo de JavaScript a seguir abre a janela do Visualizador do Cdigo-Fonte sem listar os arquivos GIF ou XML:
var viewer = air.SourceViewer.getDefault(); var configObj = {}; configObj.typesToExclude = ["image.gif", "text.xml"]; viewer.viewSource(configObj);

Para cada tipo de arquivo que voc listar, especifique "text" (para os arquivos do tipo texto) ou "image" (para arquivos do tipo imagem).

Abertura do Visualizador do Cdigo-Fonte


Voc deve incluir um elemento da interface do usurio, como um link, boto ou comando do menu, que chama o cdigo do Visualizador do Cdigo-Fonte quando o usurio o selecionar. Por exemplo, o aplicativo simples a seguir abre o Visualizador do Cdigo-Fonte quando o usurio clica em um link:
<html> <head> <title>Source Viewer Sample</title> <script type="text/javascript" src="AIRSourceViewer.js"></script> <script type="text/javascript"> function showSources(){ var viewer = air.SourceViewer.getDefault(); viewer.viewSource() } </script> </head> <body> <p>Click to view the source files.</p> <input type="button" onclick="showSources()" value="View Source" /> </body> </html>

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Visualizao do cdigo-fonte

258

Interface do usurio do Visualizador do Cdigo-Fonte


Quando o aplicativo chama o mtodo viewSource() de um objeto SourceViewer, o aplicativo do AIR abre uma janela do Visualizador do Cdigo-fonte. A janela inclui uma lista de arquivos e diretrios de origem ( esquerda) e uma rea de exibio que mostra o cdigo-fonte para o arquivo selecionado ( direita):

Os diretrios so listados entre parnteses. O usurio pode clicar em um parntese para expandir ou encolher a listagem de um diretrio. O Visualizador do Cdigo-Fonte pode exibir o cdigo-fonte para os arquivos de texto com extenses reconhecidas (como , HTML, JS, TXT, XML e outros) ou para arquivos de imagem com extenses reconhecidas (JPG, JPEG, PNG e GIF). Se o usurio selecionar um arquivo que no tem uma extenso de arquivo reconhecida, ser exibida uma mensagem de erro ("No possvel recuperar o contedo de texto deste tipo de arquivo"). Os arquivos de origem que so excludos atravs do mtodo setup() no so listados (consulte Carregamento, configurao e abertura do Visualizador de Cdigo-Fonte na pgina 255).

ltima atualizao em 13/10/2011

259

Captulo 19: Depurao com o AIR HTML Introspector


O SDK do Adobe AIR inclui um arquivo AIRIntrospector.js de JavaScript que voc pode incluir em seu aplicativo para ajudar a depurar os aplicativos baseados em HTML.

Sobre o AIR Introspector


O Adobe AIR HTML/JavaScript Application Introspector (chamado AIR HTML Introspector) fornece recursos teis para ajudar no desenvolvimento e na depurao do aplicativo baseados em HTML:

Inclui uma ferramenta de introspeco que lhe permite apontar para um elemento da interface do usurio no
aplicativo e v suas propriedades de marcao e DOM.

Alm disso, inclui um console para enviar referncias de objetos para introspeo, e voc pode ajustar valores de
propriedade e executar o cdigo de JavaScript. Voc tambm pode serializar objetos no console, que o limita na edio dos dados. Tambm possvel copiar e salvar texto a partir do console.

Inclui uma visualizao de rvore para as propriedades e funes DOM. Com isso, voc poder editar os atributos e ns de texto para os elementos DOM. Ele lista os links, estilos, imagens e arquivos JavaScript carregados no seu aplicativo. Assim, voc poder ver o cdigo-fonte inicial de HTML e o cdigo-fonte de marcao atual para a interface do
usurio.

Ele permite acessar os arquivos no diretrio do aplicativo. (Esse recurso s est disponvel para o console do AIR
HTML Introspector aberto para a caixa de proteo do aplicativo. No disponvel para os consoles abertos para o contedo que no est na caixa de proteo do aplicativo.)

Ele inclui um visualizar para os objetos XMLHttpRequest e suas propriedades, incluindo as propriedades
responseText e responseXML (quando disponvel).

Voc pode pesquisar o texto correspondente no cdigo e nos arquivos de origem.

Carregamento do cdigo do AIR Introspector


O cdigo do AIR Introspector est includo em um arquivo JavaScript, AIRIntrospector.js, que, por sua vez, est includo no diretrio de estruturas do SDK do AIR. Para usar o AIR Introspector no seu aplicativo, copie o arquivo AIRIntrospector.js para o diretrio do projeto do seu aplicativo e carregue o arquivo atravs da tag de script no arquivo HTML principal no seu aplicativo:
<script type="text/javascript" src="AIRIntrospector.js"></script>

Tambm inclua o arquivo em todos os arquivos HTML que correspondem a janelas nativas diferentes no seu aplicativo. Importante: Inclua o arquivo AIRIntrospector.js apenas ao desenvolver e depurar o aplicativo. Remova-o no aplicativo empacotador do AIR que voc distribua.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Depurao com o AIR HTML Introspector

260

O arquivo AIRIntrospector.js define uma classe, Console, que voc pode acessar do cdigo do JavaScript chamando air.Introspector.Console. Nota: O cdigo que usa o AIR Introspector deve estar em uma caixa de proteo do aplicativo (em um arquivo no diretrio do aplicativo).

Inspeo de um objeto na guia Console


A classe Console define cinco mtodos: log(), warn(), info(), error() e dump(). Os mtodos log(), warn(), info() e error() permitem que voc envie um objeto guia Console. O mtodo mais bsico de todos o mtodo log(). O cdigo a seguir envia um objeto simples, representado pela varivel test, para a guia Console:
var test = "hello"; air.Introspector.Console.log(test);

No entanto, mais til enviar um objeto complexo para a guia Console. Por exemplo, a pgina HTML a seguir inclui um boto (btn1) que chama uma funo que envia o prprio objeto do boto para a guia Console:
<html> <head> <title>Source Viewer Sample</title> <script type="text/javascript" src="scripts/AIRIntrospector.js"></script> <script type="text/javascript"> function logBtn() { var button1 = document.getElementById("btn1"); air.Introspector.Console.log(button1); } </script> </head> <body> <p>Click to view the button object in the Console.</p> <input type="button" id="btn1" onclick="logBtn()" value="Log" /> </body> </html>

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Depurao com o AIR HTML Introspector

261

Ao clicar no boto, a guia Console exibe o objeto btn1, e voc pode expandir a visualizao de rvore do objeto para inspecionar suas propriedades:

Voc pode editar uma propriedade do objeto clicando na lista direita do nome da propriedade e modificando a listagem do texto. Os mtodos info(), error() e warn() so parecidos com o mtodo log(). No entanto, ao chamar esses mtodos, o Console exibe um cone no comeo da linha:
Mtodo
info() error() warn()

cone

Os mtodos log(), warn(), info() e error() enviam uma referncia apenas para um objeto real, por isso as propriedades disponveis so as nicas no momento da visualizao. Se desejar serializar o objeto real, use o mtodo dump(). O mtodo tem dois parmetros:
Parmetro
dumpObject levels

Descrio O objeto a ser serializado. O nmero mximo de nveis a serem examinado na rvore do objeto (alm do nvel de raiz). O valor padro 1 (indicando que um mostrado um nvel alm do nvel de raiz da rvore). Esse parmetro opcional.

Chamar o mtodo dump() serializa um objeto antes de envi-lo para a guia Console, de forma que voc no possa editar as propriedades dos objetos. Por exemplo, considere o seguinte cdigo:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Depurao com o AIR HTML Introspector

262

var testObject = new Object(); testObject.foo = "foo"; testObject.bar = 234; air.Introspector.Console.dump(testObject);

Ao executar este cdigo, o Console exibe o objeto testObject e suas propriedades, mas voc no pode editar os valores da propriedade no Console.

Configurao do AIR Introspector


Voc pode configurar o console definindo as propriedades da varivel global AIRIntrospectorConfig. Por exemplo, o cdigo de JavaScript a seguir configura configura o AIR Introspector para empacotar colunas com 100 caracteres:
var AIRIntrospectorConfig = new Object(); AIRIntrospectorConfig.wrapColumns = 100;

Certifique-se de definir as propriedades da varivel AIRIntrospectorConfig antes de carregar o arquivo AIRIntrospector.js (atravs de uma tag script). H oito propriedades na varivel AIRIntrospectorConfig:
Propriedade
closeIntrospectorOnExit

Valor padro
true

Descrio Define que a janela Inspector feche quando todas as outras janelas do aplicativo esto fechadas. O cdigo da tecla para o atalho no teclado para mostrar e ocultar a janela do AIR Introspector. Define que o Introspector expanda os objetos do tempo de execuo alm dos objetos definidos no JavaScript. Define que as guias Console e XMLHttpRequest pisquem, indicando quando ocorre uma mudana nelas (por exemplo, quando o texto registrado nessas guias). O cdigo de tecla para o atalho no teclado para abrir o painel Inspect. Define que a guia Console exiba os carimbos de data/hora no comeo de cada linha. Define que a guia Console exiba as informaes no objeto que est enviando a mensagem no comeo de cada linha. O nmero de colunas nas quais os arquivos de origem so empacotados.

debuggerKey

123 (a tecla F12)

debugRuntimeObjects

true

flashTabLabels

true

introspectorKey showTimestamp

122 (a tecla F11)


true

showSender

true

wrapColumns

2000

Interface do AIR Introspector


Para abrir a janela do AIR Introspector ao depurar o aplicativo, pressione a tecla F12 ou chame um dos mtodos da classe Console (consulte Inspeo de um objeto na guia Console na pgina 260). Voc pode configurar a "hot key" como uma tecla que no seja a tecla F12; consulte Configurao do AIR Introspector na pgina 262.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Depurao com o AIR HTML Introspector

263

A janela do AIR Introspector tem seis guias Console, HTML, DOM, Ativos, Cdigo-Fonte e XHR como mostrado na ilustrao a seguir:

A guia Console A guia Console exibe os valores das propriedades passadas como parmetros para um dos mtodos da classe air.Introspector.Console. Para obter detalhes, consulte Inspeo de um objeto na guia Console na pgina 260.

Para limpar o console, clique com o boto direito do mouse no texto e selecionar Limpar console.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Depurao com o AIR HTML Introspector

264

Para salvar texto na guia Console em um arquivo, clique com o boto direito na guia Console e selecione Salvar
console em arquivo.

Para salvar texto na guia Console na rea de transferncia, clique com o boto direito na guia Console e selecione
Salvar console na rea de transferncia. Para copiar apenas o texto na rea de transferncia, clique com o boto direito no texto e selecione Copiar.

Para salvar texto na classe Console em um arquivo, clique com o boto direito na guia Console e selecione Salvar
console em arquivo.

Para pesquisar texto correspondente exibido na guia, clique em CTRL+F no Windows ou em Command+F no Mac
OS. (Os ns de rvore que so visveis no so pesquisados.) A guia HTML A guia HTML permite visualizar todo o DOM de HTML em uma estrutura de rvore. Clique em um elemento para exibir suas propriedades no lado direito da guia. Clique nos cones + e - para expandir e recolher um n na rvore.

Voc pode editar qualquer atributo ou elemento de texto na guia HTML e o valor editado se reflete no aplicativo. Clique no boto Inspecionar ( esquerda da lista de guias na janela do AIR Introspector). Voc pode clicar em qualquer elemento na pgina HTML da janela principal e o objeto DOM associado exibido na guia HTML. Quando a janela principal tem foco, voc tambm pode pressionar o atalho no teclado para ativar e desativar o boto Inspecionar. O atalho no teclado F11 por padro. Voc pode configurar o atalho no teclado como uma tecla que no seja a tecla F11; consulte Configurao do AIR Introspector na pgina 262. Clique no boto Atualizar janela ativa (na parte superior da janela do AIR Introspector) para atualizar os dados exibidos na guia HTML. Clique em CTRL+F no Windows ou em Command+F no Mac OS para pesquisar o texto correspondente exibido na guia. (Os ns de rvore que so visveis no so pesquisados.)

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Depurao com o AIR HTML Introspector

265

A guia DOM A guia DOM mostra o objeto da janela em uma estrutura de rvore. Voc pode editar qualquer propriedade numrica e de string, e o valor editado se reflete no aplicativo.

Clique no boto Atualizar janela ativa (na parte superior da janela do AIR Introspector) para atualizar os dados exibidos na guia DOM. Clique em CTRL+F no Windows ou em Command+F no Mac OS para pesquisar o texto correspondente exibido na guia. (Os ns de rvore que so visveis no so pesquisados.)

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Depurao com o AIR HTML Introspector

266

A guia Ativos A guia Ativos permite verificar os links, imagens, CSS e arquivos JavaScript carregados na janela nativa. A expanso de um desses ns mostra o contedo do arquivo ou exibe a imagem real usada.

Clique no boto Atualizar janela ativa (na parte superior da janela do AIR Introspector) para atualizar os dados exibidos na guia Ativos. Clique em CTRL+F no Windows ou em Command+F no Mac OS para pesquisar o texto correspondente exibido na guia. (Os ns de rvore que so visveis no so pesquisados.) A guia Fonte A guia Fonte inclui trs sees:

Fonte real Mostra a fonte de HTML da pgina carregada como contedo de raiz quando o aplicativo for iniciado. Fonte analisada Mostra a marcao real que compe a IU do aplicativo, que pode ser diferente da fonte real, uma
vez que o aplicativo gera o cdigo de marcao durante o processo usando tcnicas Ajax.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Depurao com o AIR HTML Introspector

267

Arquivos do aplicativo Lista os arquivos no diretrio do aplicativo. Essa listagem s est disponvel para o AIR
Introspector quando aberto a partir do contedo da caixa de segurana do aplicativo. Nessa seo, voc pode ver o contedo dos arquivos de texto ou visualizar imagens.

Clique no boto Atualizar janela ativa (na parte superior da janela do AIR Introspector) para atualizar os dados exibidos na guia Fonte. Clique em CTRL+F no Windows ou em Command+F no Mac OS para pesquisar o texto correspondente exibido na guia. (Os ns de rvore que so visveis no so pesquisados.)

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Depurao com o AIR HTML Introspector

268

A guia XHR A guia XHR intercepta toda a comunicao XMLHttpRequest no aplicativo e registra as informaes. Isso lhe permite ver as propriedades XMLHttpRequest, incluindo responseText e responseXML (quando disponveis) em uma visualizao de rvore.

Clique em CTRL+F no Windows ou em Command+F no Mac OS para pesquisar o texto correspondente exibido na guia. (Os ns de rvore que so visveis no so pesquisados.)

Uso do AIR Introspector com contedo em uma caixa de proteo no do aplicativo


Voc pode carregar o contedo do diretrio do aplicativo em um iframe ou quadro que mapeado em uma caixa de proteo externa ao aplicativo. (Consulte Segurana HTML no Adobe AIR para desenvolvedores em ActionScript ou Segurana HTML no Adobe AIR para desenvolvedores em HTML). Voc pode usar o AIR Introspector com esse contedo, mas observe as seguintes regras:

O arquivo AIRIntrospector.js deve ser includo no contedo da caixa de proteo do aplicativo e tambm no do
aplicativo (o iframe).

No sobrescreva a propriedade parentSandboxBridge; o cdigo do AIR Introspector usa essa propriedade.


Acrescente as propriedades conforme necessrio. Por isso, em vez de escrever o seguinte:
parentSandboxBridge = mytrace: function(str) {runtime.trace(str)}} ;

Use a sintaxe da seguinte forma:


parentSandboxBridge.mytrace = function(str) {runtime.trace(str)};

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Depurao com o AIR HTML Introspector

269

Do contedo da caixa de proteo no do aplicativo, voc no pode abrir o AIR Introspector pressionando a tecla
F12 ou chamando um dos mtodos na classe air.Introspector.Console. Voc pode abrir a janela do Introspector apenas clicando no boto Abrir Introspector. O boto acrescentado por padro no canto superior direito do iframe ou do quadro. (Devido a restries de segurana impostas ao contedo da caixa de proteo no do aplicativo, pode-se abrir uma nova janela apenas como resultado de um gesto do usurio, como clicar em um boto.)

Voc pode abrir janelas separadas do AIR Introspector para a caixa de proteo do aplicativo e no do aplicativo.
possvel diferenciar as duas usando o ttulo exibido nas janelas do AIR Introspector.

A guia Fonte no exibe os arquivos de aplicativo quando o AIR Introspector executado de uma caixa de proteo
no do aplicativo.

O AIR Introspector s pode analisar o cdigo na caixa de proteo da qual ele foi aberto.

ltima atualizao em 13/10/2011

270

Captulo 20: Localizao de aplicativos AIR


Adobe AIR 1.1 e posterior O Adobe AIR inclui suporte para vrios idiomas. Para ter uma viso geral da localizao de contedo no ActionScript 3.0 e na estrutura do Flex, consulte Localizao de aplicativos no Guia do Desenvolvedor do ActionScript 3.0. Idiomas suportados no AIR O suporte para localizao de aplicativos do AIR nos idiomas a seguir foi apresentado na verso AIR 1.1:

Chins simplificado Chins tradicional Francs Alemo Italiano Japons Coreano Portugus (Brasil) Russo Espanhol
Na verso AIR 1.5, foram acrescentados os seguintes idiomas:

Tcheco Holands Polons Sueco Turco

Mais tpicos da Ajuda


Construo de aplicativos multilngues do Flex no Adobe AIR Construo de um aplicativo multilngue baseado no HTML

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Localizao de aplicativos AIR

271

Localizao do nome e da descrio do aplicativo no instalador do aplicativo do AIR


Adobe AIR 1.1 e posterior Voc pode especificar vrios idiomas para os elementos name e description no arquivo do descritor do aplicativo. Por exemplo, o seguinte especifica o nome do aplicativo em trs idiomas (ingls, francs e alemo):
<name> <text xml:lang="en">Sample 1.0</text> <text xml:lang="fr">chantillon 1.0</text> <text xml:lang="de">Stichprobe 1.0</text> </name>

O atributo xml:lang de cada elemento de texto especifica um cdigo de idioma, como definido por RFC4646 (http://www.ietf.org/rfc/rfc4646.txt). O elemento name define o nome do aplicativo que o instalador de aplicativo do AIR exibe. O instalador de aplicativo do AIR usa o valor localizado que melhor corresponda aos idiomas da interface do usurio definidos pelas configuraes do sistema operacional. De modo semelhante, voc pode especificar vrias verses de idioma do elemento description no arquivo do descritor do aplicativo. Esse elemento define o texto de descrio que instalador de aplicativo do AIR exibe. Essas configuraes s se aplicam aos idiomas disponveis no instalador de aplicativo do AIR. Elas no definem os cdigos de idiomas disponveis para a execuo do aplicativo instalado. Os aplicativos do AIR podem oferecer interfaces do usurio que suportam vrios idiomas, incluindo idiomas disponveis ao instalador do aplicativo do AIR. Para mais informaes, consulte Elementos descritores do aplicativo do AIR na pgina 189.

Mais tpicos da Ajuda


Construo de aplicativos multilngues do Flex no Adobe AIR Construo de um aplicativo multilngue baseado no HTML

Localizao de contedo HTML com a estrutura de localizao de HTML do AIR


Adobe AIR 1.1 e posterior O AIR 1.1 SDK inclui uma estrutura de localizao HTML. O arquivo de JavaScript AIRLocalizer.js define a estrutura. O diretrio de estruturas do AIR SDK contm o arquivo AIRLocalizer.js. Esse arquivo inclui a classe Localizer, que oferece funcionalidade para auxiliar na criao de aplicativos que ofeream suporte a vrias verses localizadas.

Carregamento do cdigo de estrutura de localizao HTML do AIR


Para usar a estrutura de localizao, copie o arquivo AIRLocalizer.js em seu projeto. Em seguida, inclua-a no arquivo HTML principal do aplicativo, usando uma tag de script:
<script src="AIRLocalizer.js" type="text/javascript" charset="utf-8"></script>

Em seguida, o JavaScript pode chamar o objeto air.Localizer.localizer:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Localizao de aplicativos AIR

272

<script> var localizer = air.Localizer.localizer; </script>

O objeto air.Localizer.localizer um objeto singleton que define mtodos e propriedades para usar e gerenciar recursos de localizao. A classe Localizer inclui os seguintes mtodos:
Mtodo
getFile()

Descrio Obtm o texto de um grupo de recursos especificados para um cdigo de idiomas especificado. Consulte Obteno de recursos para um cdigo de idiomas especfico na pgina 278. Retorna os idiomas na cadeia de cdigo de idiomas. Consulte Definio da cadeia de cdigo de idiomas na pgina 277. Retorna as chaves do grupo e os valores correspondentes como um objeto. Consulte Obteno de recursos para um cdigo de idiomas especfico na pgina 278. Obtm a sequncia definida para um recurso. Consulte Obteno de recursos para um cdigo de idiomas especfico na pgina 278. Define o local do diretrio de compactados. Consulte Personalizao de configuraes HTML Localizer do AIR na pgina 276. Define o prefixo usado pelos atributos do localizer usados nos elementos HTML DOM. Consulte Personalizao de configuraes HTML Localizer do AIR na pgina 276 Define a ordem de idiomas na cadeia de cdigo de idiomas. Consulte Definio da cadeia de cdigo de idiomas na pgina 277. Classifica os cdigos de idiomas na cadeia de cdigo de idiomas com base na ordem de cdigos de idiomas nas configuraes do sistema operacional. Consulte Definio da cadeia de cdigo de idiomas na pgina 277. Atualiza o HTML DOM (ou um elemento DOM) com sequncias localizadas da cadeia de cdigo de idiomas atual. Para obter uma discusso sobre cadeias de cdigos de idiomas, consulte Gerenciamento de cadeias de cdigos de idiomas na pgina 273. Para obter mais informaes sobre o mtodo update(), consulte Atualizao de elementos DOM para uso de cdigo de idiomas atual na pgina 275.

getLocaleChain()

getResourceBundle()

getString()

setBundlesDirectory( ) setLocalAttributePre fix() setLocaleChain()

sortLanguagesByPrefe rence()

update()

A classe Localizer inclui as seguintes propriedades estticas:


Propriedade
localizer ultimateFallbackLocale

Descrio Retorna uma referncia para o objeto singleton Localizer do aplicativo. Cdigo de idiomas usado quando o aplicativo no oferece suporte a nenhuma preferncia de usurio. Consulte Definio da cadeia de cdigo de idiomas na pgina 277.

Definio de grupos de recursos


A estrutura de localizao HTML faz a leitura de verses localizadas de sequncias de arquivos de localizao. O arquivo de localizao um conjunto de valores baseados em chaves, serializados em um arquivo de texto. O arquivo de localizao algumas vezes tratado como um compactado. Crie um subdiretrio do diretrio de projeto do aplicativo, chamado cdigo de idiomas. (Voc tambm pode usar um nome diferente; consulte Personalizao de configuraes HTML Localizer do AIR na pgina 276.) Esse diretrio incluir os arquivos de localizao. Esse diretrio conhecido como o diretrio de compactaes.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Localizao de aplicativos AIR

273

Para cada cdigo de idiomas a que seu aplicativo oferece suporte, crie um subdiretrio do diretrio de compactaes. Nomeie cada subdiretrio para corresponder ao cdigo de idiomas. Por exemplo, nomeie o diretrio French como "fr" e o diretrio English como "en". Voc pode usar o caractere sublinhado (_) para definir o cdigo de idiomas que tenha um cdigo de pas e idioma. Por exemplo, nomeie o diretrio U.S. English como en_us. (Como alternativa, voc pode usar um hfen, em vez de um sublinhado, como em en-us. A estrutura de localizao HTML oferece suporte s duas opes). Voc pode adicionar qualquer nmero de arquivos de recursos a um subdiretrio cdigo de idiomas. Normalmente, voc cria um arquivo de localizao para cada idioma (e coloca o arquivo no diretrio desse idioma). A estrutura de localizao HTML inclui o mtodo getFile() que permite ler o contedo de um arquivo (consulte Obteno de recursos para um cdigo de idiomas especfico na pgina 278. Arquivos com a extenso de arquivo .properties so conhecidos como arquivos de propriedades de localizao. Voc pode us-los para definir pares de valores chave para um cdigo de idiomas. O arquivo de propriedade define um valor de sequncia em cada linha. Por exemplo, o seguinte define o valor de sequncia "Oi em ingls". para uma chave de nome greeting:
greeting=Hello in English.

O arquivo de propriedades contendo o texto a seguir define seis pares de valores chave:
title=Sample Application greeting=Hello in English. exitMessage=Thank you for using the application. color1=Red color2=Green color3=Blue

Este exemplo mostra uma verso em ingls do arquivo de propriedades que deve ser armazenado no diretrio en. A verso francesa desse arquivo de propriedades colocada no diretrio fr:
title=Application Example greeting=Bonjour en franais. exitMessage=Merci d'avoir utilis cette application. color1=Rouge color2=Vert color3=Bleu

Voc pode definir vrios arquivos de recursos para diferentes tipos de informaes. Por exemplo, o arquivo legal.properties pode conter texto de padro legal (como informaes de direitos autorais). Voc pode usar novamente esse recurso em diversos aplicativos. De modo semelhante, voc pode definir arquivos separados que definem contedo localizado para diferentes partes da interface do usurio. Use a codificao UTF-8 para esses arquivos, para oferecer suporte a vrios idiomas.

Gerenciamento de cadeias de cdigos de idiomas


Quando o aplicativo carrega o arquivo AIRLocalizer.js, ele examina os cdigos de idiomas definidos no aplicativo. Esses cdigos de idiomas correspondem aos subdiretrios do diretrio de compactaes (consulte Definio de grupos de recursos na pgina 272). Essa lista de cdigos de idiomas disponveis conhecida como a cadeia de cdigo de idiomas. O arquivo AIRLocalizer.js classifica automaticamente a cadeia de cdigo de idiomas com base na ordem de preferncia definida pelas configuraes do sistema operacional. (A propriedade Capabilities.languages lista os idiomas da interface do usurio do sistema operacional, por ordem de preferncia).

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Localizao de aplicativos AIR

274

Portanto, se um aplicativo define recursos para os cdigos de idiomas "en", "en_US" e "en_UK", a estrutura HTML Localizer do AIR classifica a cadeia de cdigo de idiomas de maneira apropriada. Quando o aplicativo iniciado em um sistema que informa "en" como cdigo de idiomas principal, a cadeia de cdigo de idiomas classificada como ["en", "en_US", "en_UK"]. Nesse caso o aplicativo procura primeiramente por recursos no grupo "en" e, em seguida, no grupo "en_US". No entanto, se o sistema informar "en-US" como cdigo de idiomas principal, a classificao usar ["en_US", "en",
en_UK"]. Nesse caso, o aplicativo procura primeiramente recursos no grupo "en_US" e, em seguida, no grupo "en".

Por padro, o aplicativo define o primeiro cdigo de idiomas na cadeia de cdigo de idiomas como o cdigo de idiomas padro para usar. Voc pode solicitar que o usurio selecione um cdigo de idiomas na primeira execuo do aplicativo. Em seguida, voc pode optar por armazenar a seleo em um arquivo de preferncias e usar esse cdigo de idiomas na inicializao subsequente do aplicativo. O aplicativo pode usar as sequncias de recursos em qualquer cdigo de idiomas da cadeia de cdigo de idiomas. Se um cdigo de idiomas especfico no definir uma sequncia de recursos, o aplicativo usar a prxima sequncia de recursos correspondente em outros cdigos de idiomas definidos na cadeia de cdigo de idiomas. Voc pode personalizar a cadeia de cdigo de idiomas chamando o mtodo setLocaleChain() do objeto Localizer. Consulte Definio da cadeia de cdigo de idiomas na pgina 277.

Atualizao de elementos DOM com contedo localizado


O elemento no aplicativo pode fazer referncia a um valor chave em um arquivo de propriedades de localizao. Por exemplo, o elemento title no exemplo a seguir especifica um atributo local_innerHTML. A estrutura de localizao usa esse atributo para pesquisar um valor localizado. Por padro, a estrutura pesquisa nomes de atributos que iniciam com "local_". A estrutura atualiza os atributos com nomes que correspondem ao texto em seguida a "local_". Nesse caso, a estrutura define o atributo innerHTML do elemento title. O atributo innerHTML usa o valor definido para a chave mainWindowTitle no arquivo de propriedades padro (default.properties):
<title local_innerHTML="default.mainWindowTitle"/>

Se o cdigo de idiomas atual no definir nenhum valor correspondente, a estrutura do localizador procura o restante da cadeia de cdigos de idiomas. Ele usa o prximo cdigo de idiomas na cadeia de cdigo de idiomas para o qual um valor est definido. No exemplo a seguir, o texto (atributo innerHTML) do elemento p usa o valor da chave greeting definido no arquivo de propriedades padro:
<p local_innerHTML="default.greeting" />

No exemplo a seguir, o atributo de valor (e texto exibido) do elemento input usa o valor da chave btnBlue definido no arquivo de propriedades padro:
<input type="button" local_value="default.btnBlue" />

Para atualizar o HTML DOM para usar as sequncias definidas na cadeia de cdigo de idiomas atual, chame o mtodo update() do objeto Localizer. Chamar o mtodo update() faz com que o objeto Localizer analise o DOM e aplique manipulaes onde encontrar atributos de localizao "local_..."):
air.Localizer.localizer.update();

Voc pode definir valores tanto para um atributo (como "innerHTML") quanto para o respectivo atributo de localizao correspondente (como "local_innerHTML"). Nesse caso, a estrutura de localizao s sobrescreve o valor de atributo se ela encontrar um valor correspondente na cadeia de localizao. Por exemplo, o elemento a seguir define os atributos value e local_value:
<input type="text" value="Blue" local_value="default.btnBlue"/>

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Localizao de aplicativos AIR

275

Voc tambm pode atualizar apenas um elemento DOM especfico Consulte a prxima seo, Atualizao de elementos DOM para uso de cdigo de idiomas atual na pgina 275. Por padro, o HTML Localizer do AIR usa "local_" como o prefixo de atributos que definem as configuraes de localizao do elemento. Por exemplo, por padro, o atributo local_innerHTML define o nome do grupo e recurso usados no valor innerHTML do elemento. Alm disso, por padro, o atributo local_value define o nome do grupo e recurso usados no atributo value do elemento. Voc pode configurar o Localizer para usar um prefixo de atributo alm de "local_". Consulte Personalizao de configuraes HTML Localizer do AIR na pgina 276.

Atualizao de elementos DOM para uso de cdigo de idiomas atual


Quando o objeto Localizer atualiza o HTML DOM, isso faz com que elementos marcados usem valores de atributos com base nas sequncias definidas na cadeia de cdigo de idiomas atual. Para fazer com que o localizador HTML atualize o HTML DOM, chame o mtodo update() do objeto Localizer:
air.Localizer.localizer.update();

Para atualizar apenas um elemento DOM especificado, passe-o como parmetro para o mtodo update(). O mtodo update() s tem um parmetro, parentNode, que opcional. Quando especificado, o parmetro parentNode define o elemento DOM para ser localizado. Chamar o mtodo update() e especificar o parmetro parentNode define os valores localizados de todos os elementos filhos que especificam atributos de localizao. Por exemplo, considere o seguinte elemento div:
<div id="colorsDiv"> <h1 local_innerHTML="default.lblColors" ></h1> <p><input type="button" local_value="default.btnBlue" /></p> <p><input type="button" local_value="default.btnRed" /></p> <p><input type="button" local_value="default.btnGreen" /></p> </div>

Para atualizar esse elemento para usar as sequncias localizadas definidas na cadeia de cdigo de idiomas atual, use o seguinte cdigo JavaScript:
var divElement = window.document.getElementById("colorsDiv"); air.Localizer.localizer.update(divElement);

Se o valor chave no for encontrado na cadeia de cdigo de idiomas, a estrutura de localizao definir o valor de atributo como o valor do atributo "local_". Por exemplo, no exemplo anterior, suponhamos que a estrutura de localizao no possa encontrar o valor da chave lblColors (em qualquer um dos arquivos default.properties na cadeia de cdigo de idiomas). Nesse caso, ela usar "default.lblColors" como valor innerHTML. Usar esse valor indica (para o desenvolvedor) ausncia de recursos. O mtodo update() despacha o evento resourceNotFound quando no consegue encontrar um recurso na cadeia de cdigo de idiomas. A constante air.Localizer.RESOURCE_NOT_FOUND define a sequncia "resourceNotFound". O evento tem trs propriedades: bundleName, resourceName e locale. A propriedade bundleName o nome do grupo em que o recurso no foi encontrado. A propriedade resourceName o nome do grupo em que o recurso no foi encontrado. A propriedade locale o nome do cdigo de idiomas em que o recurso no foi encontrado. O mtodo update() despacha o evento bundleNotFound quando no consegue encontrar o grupo especificado. A constante air.Localizer.BUNDLE_NOT_FOUND define a sequncia "bundleNotFound". O evento tem duas propriedades: bundleName e locale. A propriedade bundleName o nome do grupo em que o recurso no foi encontrado. A propriedade locale o nome do cdigo de idiomas em que o recurso no foi encontrado. O mtodo update() funciona de forma assncrona (e despacha os eventos resourceNotFound e bundleNotFound de forma assncrona). O cdigo a seguir define ouvintes de evento dos eventos resourceNotFound e bundleNotFound:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Localizao de aplicativos AIR

276

air.Localizer.localizer.addEventListener(air.Localizer.RESOURCE_NOT_FOUND, rnfHandler); air.Localizer.localizer.addEventListener(air.Localizer.BUNDLE_NOT_FOUND, rnfHandler); air.Localizer.localizer.update(); function rnfHandler(event) { alert(event.bundleName + ": " + event.resourceName + ":." + event.locale); } function bnfHandler(event) { alert(event.bundleName + ":." + event.locale); }

Personalizao de configuraes HTML Localizer do AIR


O mtodo setBundlesDirectory() do objeto Localizer permite personalizar o caminho do diretrio de compactaes. O mtodo setLocalAttributePrefix() do objeto Localizer permite personalizar o caminho do diretrio de compactaes e personalizar o valor de atributo usado pelo Localizer. O diretrio de compactaes padro definido como o subdiretrio cdigo de idiomas do diretrio do aplicativo. Voc pode especificar outro diretrio chamando o mtodo setBundlesDirectory() do objeto Localizer. Esse mtodo usa o parmetro path, que o caminho para o diretrio de compactaes desejado, como uma sequncia. O valor do parmetro path pode ser algum dos seguintes:

Uma sequncia que define o caminho relativo para o diretrio do aplicativo, como "locales" Uma sequncia que define a URL vlida que usa os esquemas de URL app, app-storage ou file, como
"app://languages" (no usa o esquema de URL http)

O objeto File
Para informaes sobre URLs e caminhos de diretrios, consulte:

Caminhos dos objetos File (para desenvolvedores em ActionScript) Paths of File objects (para desenvolvedores em HTML)
Por exemplo, o cdigo a seguir define o diretrio de compactaes como subdiretrio de idiomas do diretrio de armazenamento do aplicativo (no o diretrio de aplicativo):
air.Localizer.localizer.setBundlesDirectory("languages");

Passe um caminho vlido como o parmetro path. Do contrrio, o mtodo emitir uma exceo BundlePathNotFoundError. Esse erro tem "BundlePathNotFoundError" como sua propriedade name e a respectiva propriedade message especifica o caminho invlido. Por padro, o HTML Localizer do AIR usa "local_" como o prefixo de atributos que definem as configuraes de localizao do elemento. Por exemplo, o atributo local_innerHTML define o nome do grupo e recurso usado no valor innerHTML do seguinte elemento input:
<p local_innerHTML="default.greeting" />

O mtodo setLocalAttributePrefix() do objeto Localizer permite usar outro prefixo de atributo que no seja "local_". Esse mtodo esttico usa um parmetro, que a sequncia que voc deseja usar como prefixo de atributo. Por exemplo, o cdigo a seguir define que a estrutura de localizao use "loc_" como o prefixo de atributo:
air.Localizer.localizer.setLocalAttributePrefix("loc_");

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Localizao de aplicativos AIR

277

Voc pode personalizar o prefixo de atributo que a estrutura de localizao utiliza. Talvez voc deseje personalizar o prefixo, caso o valor padro ("local_") entre em conflito com o nome de outro atributo usado por seu cdigo. Certifique-se de usar caracteres vlidos em atributos HTML quando chamar esse mtodo. (Por exemplo, o valor no pode conter um caractere de espao em branco). Para obter mais informaes sobre como usar os atributos de localizao em elementos HTML, consulte Atualizao de elementos DOM com contedo localizado na pgina 274. As configuraes do diretrio de compactaes e prefixo de atributo no persistem entre sesses de aplicativos diferentes. Se voc usar uma configurao personalizada de diretrio de compactaes ou de prefixo de atributo, certifique-se de defini-las sempre que iniciar o aplicativo.

Definio da cadeia de cdigo de idiomas


Por padro, quando voc carrega o cdigo AIRLocalizer.js, ele define a cadeia de cdigo de idiomas padro. Os cdigos de idiomas disponveis nas configuraes de diretrio de compactaes e de idioma do sistema operacional definem essa cadeia de cdigo de idiomas. (Para obter detalhes, consulte Gerenciamento de cadeias de cdigos de idiomas na pgina 273.) Voc pode modificar a cadeia de cdigo de idiomas chamando o mtodo esttico setLocaleChain() do objeto Localizer. Por exemplo, talvez voc deseje chamar esse mtodo se o usurio indicar a preferncia por um idioma especfico. O mtodo setLocaleChain() usa um parmetro, chain, que uma matriz de cdigos de idiomas, como ["fr_FR","fr","fr_CA"]. A ordem dos cdigos de idiomas na matriz define a ordem em que a estrutura pesquisa recursos (em operaes subsequentes). Se o recurso no for encontrado para o primeiro cdigo de idiomas na cadeia, ele continua pesquisando em outros recursos de cdigos de idiomas. Se o argumento chain estiver ausente, se no for uma matriz ou for uma matriz vazia, a funo falhar e emitir uma exceo IllegalArgumentsError. O mtodo esttico getLocaleChain() do objeto Localizer retorna uma matriz que lista os cdigos de idiomas na cadeia de cdigo de idiomas atual. O cdigo a seguir faz a leitura da cadeia de cdigo de idiomas atual e adiciona dois cdigos de idiomas franceses ao cabealho da cadeia:
var currentChain = air.Localizer.localizer.getLocaleChain(); newLocales = ["fr_FR", "fr"]; air.Localizer.localizer.setLocaleChain(newLocales.concat(currentChain));

O mtodo setLocaleChain() despacha o evento "change" quando atualiza a cadeia de cdigo de idiomas. A constante air.Localizer.LOCALE_CHANGE define a sequncia "change". O evento tem uma propriedade, localeChain, uma matriz de cdigos de idiomas na nova cadeia de cdigo de idiomas. O cdigo a seguir define um ouvinte de evento para esse evento:
var currentChain = air.Localizer.localizer.getLocaleChain(); newLocales = ["fr_FR", "fr"]; localizer.addEventListener(air.Localizer.LOCALE_CHANGE, changeHandler); air.Localizer.localizer.setLocaleChain(newLocales.concat(currentChain)); function changeHandler(event) { alert(event.localeChain); }

A propriedade esttica air.Localizer.ultimateFallbackLocale representa o cdigo de idiomas usado quando o aplicativo no oferece suporte a nenhuma preferncia do usurio. O valor padro "en". Voc pode defini-lo como outro cdigo de idiomas, como mostrado no cdigo a seguir:
air.Localizer.ultimateFallbackLocale = "fr";

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Localizao de aplicativos AIR

278

Obteno de recursos para um cdigo de idiomas especfico


O mtodo getString() do objeto Localizer retorna a sequncia definida para um recurso em um cdigo de idiomas especfico. No necessrio especificar o valor locale ao chamar o mtodo. Nesse caso, o mtodo procura em toda a cadeia de cdigo de idiomas e retorna a sequncia no primeiro cdigo de idiomas que fornece o nome de recurso determinado. O mtodo tem os seguintes parmetros:
Parmetro
bundleName

Descrio O grupo que contm o recurso. Esse o nome de arquivo do arquivo de propriedades sem a extenso .properties. (Por exemplo, se esse parmetro for definido como "alerts", o cdigo Localizer pesquisar nos arquivos de localizao chamados alerts.properties. O nome do recurso. Opcional. A matriz de sequncia para substituir as tags numeradas na sequncia de substituio. Por exemplo, considere uma chamada para a funo em que o parmetro templateArgs seja ["Ral", "4"] e a sequncia de recursos correspondente seja "Hello, {0}. Voc tem {1} mensagens novas.". Nesse caso, a funo retorna "Hello, Ral. Voc tem 4 mensagens novas".. Para ignorar essa configurao, passe o valor null. Opcional. O cdigo de idiomas (como "en", "en_us" ou "fr") que deve ser usado. Se o cdigo de idiomas for fornecido e nenhum valor correspondente for encontrado, o mtodo no continuar a busca por valores em outros cdigos de idiomas na cadeia de cdigo de idiomas. Se nenhum cdigo de idiomas for especificado, a funo retornar a sequncia no primeiro cdigo de idiomas na cadeia de cdigo de idiomas que oferea o valor para o nome de recurso determinado.

resourceName templateArgs

locale

A estrutura de localizao pode atualizar atributos HTML DOM marcados. No entanto, voc pode usar sequncias localizadas de outras maneiras. Por exemplo, voc pode usar uma sequncia em HTMLs gerados dinamicamente ou como valor de parmetro em uma chamada de funo. Por exemplo, o cdigo a seguir chama a funo alert() com a sequncia definida no recurso error114 no arquivo de propriedades padro do cdigo de idiomas fr_FR:
alert(air.Localizer.localizer.getString("default", "error114", null, "fr_FR"));

O mtodo getString() despacha o evento resourceNotFound quando no consegue encontrar o recurso no grupo especificado. A constante air.Localizer.RESOURCE_NOT_FOUND define a sequncia "resourceNotFound". O evento tem trs propriedades: bundleName, resourceName e locale. A propriedade bundleName o nome do grupo em que o recurso no foi encontrado. A propriedade resourceName o nome do grupo em que o recurso no foi encontrado. A propriedade locale o nome do cdigo de idiomas em que o recurso no foi encontrado. O mtodo getString() despacha o evento bundleNotFound quando no consegue encontrar o grupo especificado. A constante air.Localizer.BUNDLE_NOT_FOUND define a sequncia "bundleNotFound". O evento tem duas propriedades: bundleName e locale. A propriedade bundleName o nome do grupo em que o recurso no foi encontrado. A propriedade locale o nome do cdigo de idiomas em que o recurso no foi encontrado. O mtodo getString() opera de forma assncrona (e despacha os eventos resourceNotFound e bundleNotFound de forma assncrona). O cdigo a seguir define ouvintes de evento dos eventos resourceNotFound e bundleNotFound:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Localizao de aplicativos AIR

279

air.Localizerlocalizer.addEventListener(air.Localizer.RESOURCE_NOT_FOUND, rnfHandler); air.Localizerlocalizer.addEventListener(air.Localizer.BUNDLE_NOT_FOUND, bnfHandler); var str = air.Localizer.localizer.getString("default", "error114", null, "fr_FR"); function rnfHandler(event) { alert(event.bundleName + ": " + event.resourceName + ":." + event.locale); } function bnfHandler(event) { alert(event.bundleName + ":." + event.locale); }

O mtodo getResourceBundle() do objeto Localizador retorna um grupo especificado para um determinado local. O valor de retorno do mtodo um objeto com propriedades correspondentes s chaves do grupo. (Se o aplicativo no puder localizar o grupo especificado, o mtodo retornar null.) O mtodo assume dois parmetros - locale e bundleName.
Parmetro
locale bundleName

Descrio O local (como "fr"). O nome do grupo.

Por exemplo, o cdigo a seguir chama o mtodo document.write() para carregar o grupo padro para o local fr. Em seguida, ele chama o mtodo document.write() com valores das chaves str1 e str2 do grupo:
var aboutWin = window.open(); var bundle = localizer.getResourceBundle("fr", "default"); aboutWin.document.write(bundle.str1); aboutWin.document.write("<br/>"); aboutWin.document.write(bundle.str2); aboutWin.document.write("<br/>");

O mtodo getResourceBundle() despacha o evento bundleNotFound quando no consegue encontrar o grupo especificado. A constante air.Localizer.BUNDLE_NOT_FOUND define a sequncia "bundleNotFound". O evento tem duas propriedades: bundleName e locale. A propriedade bundleName o nome do grupo em que o recurso no foi encontrado. A propriedade locale o nome do cdigo de idiomas em que o recurso no foi encontrado. O mtodo getFile() do objeto Localizer retorna o contedo de um grupo, como uma sequncia, para um cdigo de idiomas determinado. O arquivo de compactao interpretado como arquivo UTF-8. O mtodo inclui os seguintes parmetros:

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Localizao de aplicativos AIR

280

Parmetro
resourceFileName templateArgs

Descrio Nome de arquivo do arquivo de recurso (como "about.html"). Opcional. A matriz de sequncia para substituir as tags numeradas na sequncia de substituio. Por exemplo, considere uma chamada para a funo em que o parmetro templateArgs seja ["Ral", "4"] e o arquivo de recursos correspondente contenha duas linhas:
<html> <body>Hello, {0}. You have {1} new messages.</body> </html>

Nesse caso, a funo retorna uma sequncia com duas linhas:


<html> <body>Hello, Ral. You have 4 new messages. </body> </html> locale

O cdigo de idiomas, como "en_GB", que deve ser usado. Se o cdigo de idiomas for fornecido e nenhum arquivo correspondente for encontrado, o mtodo no continuar a busca em outros cdigos de idiomas na cadeia de cdigo de idiomas. Se o cdigo de idiomas no for especificado, a funo retornar o texto no primeiro cdigo de idiomas na cadeia de cdigo de idiomas com um arquivo que corresponda a resourceFileName.

Por exemplo, o cdigo a seguir chama o mtodo document.write() usando o contedo do arquivo about.html do cdigo de idiomas fr:
var aboutWin = window.open(); var aboutHtml = localizer.getFile("about.html", null, "fr"); aboutWin.document.close(); aboutWin.document.write(aboutHtml);

O mtodo getFile() despacha o evento fileNotFound quando no consegue encontrar um recurso na cadeia de cdigo de idiomas. A constante air.Localizer.FILE_NOT_FOUND define a sequncia "resourceNotFound". O mtodo getFile() funciona de forma assncrona (e despacha o evento fileNotFound de forma assncrona). O evento tem duas propriedades: fileName e locale. A propriedade fileName o nome do arquivo no encontrado. A propriedade locale o nome do cdigo de idiomas em que o recurso no foi encontrado. O cdigo a seguir define um ouvinte de evento para esse evento:
air.Localizer.localizer.addEventListener(air.Localizer.FILE_NOT_FOUND, fnfHandler); air.Localizer.localizer.getFile("missing.html", null, "fr"); function fnfHandler(event) { alert(event.fileName + ": " + event.locale); }

Mais tpicos da Ajuda


Construo de um aplicativo multilngue baseado no HTML

ltima atualizao em 13/10/2011

281

Captulo 21: Variveis de ambiente do caminho


O AIR SDK contm alguns programas que podem ser ativados a partir de uma linha de comando ou terminal. A execuo destes programas pode muitas vezes ser mais conveniente quando o caminho para o diretrio bin do SDK est includo na varivel de ambiente do caminho. A informao aqui apresentada descreve como definir o caminho no Windows, Mac e Linux e deve servir como guia prtico. No entanto, as configuraes de computadores variam muito, de modo que o procedimento pode no funcionar para todos os sistemas. Nestes casos, voc pode encontrar as informaes necessrias na documentao do seu sistema operacional ou na Internet.

Configurao do PATH no Linux e Mac OS usando o shell Bash


Ao digitar um comando em uma janela de terminal (o shell, um programa que l o que voc digitou e tenta responder de forma adequada), deve primeiro localizar o programa de comando no seu sistema de arquivos. O shell procura por comandos em uma lista de diretrios armazenada em uma varivel de ambiente chamada $PATH. Para ver o que est listado no caminho, digite:
echo $PATH

Isso retorna uma lista separada por dois pontos de diretrios que deve ser algo parecido com isto:
/usr/bin:/bin:/usr/sbin:/usr/local/bin:/usr/x11/bin

O objetivo acrescentar o caminho para o diretrio bin AIR SDK lista para que o shell possa encontrar as ferramentas ADT e ADL. Supondo que voc tenha colocado o AIR SDK em /Users/fred/SDKs/AIR, o seguinte comando adicionar os diretrios necessrios para o caminho:
export PATH=$PATH:/Users/fred/SDKs/AIR/bin:/Users/fred/SDKs/android/tools

Nota: Se o caminho contiver caracteres de espao em branco, faa o escape com uma barra invertida, como a seguir:
/Users/fred\ jones/SDKs/AIR\ 2.5\ SDK/bin

Voc pode usar o comando echo novamente para ter certeza de que funcionou:
echo $PATH /usr/bin:/bin:/usr/sbin:/usr/local/bin:/usr/x11/bin:/Users/fred/SDKs/AIR/bin:/Users/fred/SDK s/android/tools

At aqui tudo bem. Agora voc deve ser capaz de escrever os seguintes comandos e obter uma resposta encorajadora:
adt -version

Se voc modificou a varivel $PATH corretamente, o comando deve informar a verso do ADT. H ainda um problema, no entanto; na prxima vez que voc abrir uma nova janela de terminal, vai notar que as novas entradas no caminho no esto mais l. O comando para definir o caminho deve ser executado sempre que iniciar um novo terminal.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Variveis de ambiente do caminho

282

Uma soluo comum para este problema adicionar o comando de um dos scripts de inicializao usado pelo shell. No Mac OS, voc pode criar o arquivo .bash_profile, no diretrio ~/username e este ser executado cada vez que uma nova janela de terminal for aberta. No Ubuntu, o script de inicializao ser executado quando uma nova janela .bashrc for aberta. Outras distribuies Linux e programas de shell tm convenes parecidas. Para adicionar o comando para o script de inicializao do shell:
1 Mude para o diretrio home:
cd

2 Crie o perfil de configurao do shell (se necessrio) e redirecione o texto que voc digitar para o final do arquivo

com "cat >>". Use o arquivo adequado para seu sistema operacional e shell. Voc pode usar .bash_profile no Mac OS e .bashrc no Ubuntu, por exemplo.
cat >> .bash_profile

3 Digite o texto para adicionar o arquivo:


export PATH=$PATH:/Users/cward/SDKs/android/tools:/Users/cward/SDKs/AIR/bin

4 Termine o redirecionamento texto pressionando CTRL-SHIFT-D no teclado. 5 Exiba o arquivo para se certificar que tudo est bem:
cat .bash_profile

6 Abra uma nova janela de terminal para verificar o caminho:


echo $PATH

As incluses de caminhos devem ser listadas. Se posteriormente criar uma nova verso de um dos SDKs em diretrio diferente, no se esquea de atualizar o comando do caminho do arquivo de configurao. Caso contrrio, o shell continuar a utilizar a verso antiga.

Configurao do caminho no Windows


Quando voc abre uma janela de comando no Windows, a janela herda as variveis de ambiente global definidas nas propriedades do sistema. Uma das variveis importantes o caminho, que a lista de diretrios que o programa de comando buscas quando voc digita o nome de um programa para ser executado. Para ver o que est includo no caminho quando voc estiver usando uma janela de comando, digite:
set path

Isto mostrar uma lista separada por vrgulas de diretrios que se parece com isso:
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem

O objetivo acrescentar o caminho para o diretrio bin AIR SDK lista de maneira que o programa de comando possa encontrar as ferramentas ADT e ADL. Supondo que tenha colocado o AIR SDK em C:\SDKs\AIR, voc pode adicionar a entrada do caminho correto com o seguinte procedimento:
1 Abra a caixa de dilogo Propriedades do Sistema no Painel de Controle ou clique no cone Meu Computador e

escolha Propriedades no menu.


2 Na aba Avanado, clique no boto Variveis de Ambiente. 3 Selecione a Entrada de caminho na seo de Variveis do sistema da caixa de dilogo Variveis de Ambiente 4 Clique em Editar.

ltima atualizao em 13/10/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Variveis de ambiente do caminho

283

5 V at o final do texto no campo de valor Varivel. 6 Digite o seguinte texto no final do valor atual:
;C:\SDKs\AIR\bin

7 Clique em OK em todas as caixas de dilogo para salvar o caminho.

Se voc tiver alguma janela de comando aberta, observe que os ambientes no sero atualizados. Abra uma nova janela de comando e digite o seguinte comando para verificar se os caminhos esto configurados corretamente:
adt -version

Se voc alterar o local do AIR SDK, ou adicionar uma nova verso, lembre-se de atualizar a varivel do caminho.

ltima atualizao em 13/10/2011

Você também pode gostar