Vous êtes sur la page 1sur 268

Construindo aplicativos no ADOBE AIR

Avisos legais

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

Last updated 27/4/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 ............................................................................................... 4 ................................................................ 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

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 AIR baseado em HTML com o Dreamweaver Criao do seu primeiro aplicativo 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 AIR para desktop Configurao de propriedades do aplicativo desktop Depurao de um aplicativo AIR desktop

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

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Compactao de um arquivo de instalao AIR desktop. Compactao de um instalador desktop nativo

Distribuio de pacotes do AIR para computadores desktop

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Contedo

iv

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

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 10: AIR Debug Launcher (ADL) Uso do ADL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Exemplos de ADL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Cdigos de erro e sada do ADL

Captulo 11: AIR Developer Tool (ADT) Comandos do ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Conjuntos de opes do ADT Mensagens de erro do ADT Variveis de ambiente ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

Captulo 12: Assinatura de aplicativos AIR Assinatura digital de um arquivo AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 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 auto-assinado com o ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

Captulo 13: Arquivos descritores do aplicativo do AIR Mudanas no descritor do aplicativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 A estrutura do arquivo do descritor do aplicativo Elementos descritores do aplicativo AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Contedo

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

Captulo 16: Atualizao de aplicativos do AIR Sobre atualizao de aplicativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

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

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238

Captulo 18: Depurao com o AIR HTML Introspector Sobre o AIR Introspector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Carregamento do cdigo do AIR Introspector Inspeo de um objeto na guia Console Configurao do AIR Introspector Interface do AIR Introspector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

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

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

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

Last updated 27/4/2011

Captulo 1: Sobre o Adobe AIR


O Adobe AIR um tempo de execuo cruzado de sistema operacional com vrias telas que permite que voc potencialize suas habilidades de desenvolvimento Web para criar e implantar aplicativos avanados da Internet (RIAs) para rea de trabalho de 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 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

Last updated 27/4/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).

Last updated 27/4/2011

Captulo 2: Instalao do Adobe AIR


O 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 AIR) Ao instalar um aplicativo AIR por meio de um badge de instalao de uma pgina web (tambm ser solicitada a
instalao do tempo de execuo)

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. Nota: No iOS, o tempo de execuo do AIR no instalado separadamente. Cada aplicativo AIR um aplicativo autnomo.

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.

Instalao do tempo de execuo em um computador com Linux Utilizando o instalador binrio:


1 Faa download do arquivo de instalao binrio em http://get.adobe.com/air. 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Instalao do Adobe AIR

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 Faa download do arquivo de instalao AIR a partir de http://get.adobe.com/air. Selecione o pacote rpm ou

Debian, dependendo de qual formato de pacote for suportado pelo seu 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 143 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.

Mais tpicos da Ajuda


AIR para iOS na pgina 65

Remoo do Adobe AIR


Aps instalar o tempo de execuo, voc poder remov-lo usando os seguintes procedimentos.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Instalao do Adobe AIR

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 144 para obter mais informaes.

Instalao e execuo de aplicativos de amostra do AIR


Para instalar ou atualizar um aplicativo 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.
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.

No Linux, clicando duas vezes no cone do aplicativo na rea de trabalho, ou selecionando-o no menu
Aplicativos. Os aplicativos do AIR so instalados em sua prpria pasta no diretrio /opt.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Instalao do Adobe AIR

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 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 AIR SettingsManager. O aplicativo 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.

Last updated 27/4/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 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 AAAARecord ApplicationUpdater ApplicationUpdaterUI ARecord BrowserInvokeEvent CameraRoll CameraUI CertificateStatus CompressionAlgorithm DatagramSocket

Pacote ActionScript 3.0 flash.net.dns air.update air.update flash.net.dns flash.events flash.media flash.media flash.security flash.utils flash.net

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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Trabalhando com APIs do AIR

Classe DatagramSocketDataEvent DNSResolver DatagramSocketDataEvent DockIcon DownloadErrorEvent DRMAuthenticateEvent DRMManagerError EncryptedLocalStore ExtensionContext File FileListEvent FileMode FileStream FocusDirection Geolocation DatagramSocketDataEvent HTMLHistoryItem HTMLHost HTMLLoader HTMLPDFCapability HTMLSWFCapabiltiy HTMLUncaughtScriptExceptionEvent HTMLWindowCreateOptions Icon IFilePromise ImageDecodingPolicy InteractiveIcon InterfaceAddress InvokeEvent InvokeEventReason IPVersion IURIDereferencer LocationChangeEvent MediaEvent

Pacote ActionScript 3.0 flash.events flash.net.dns flash.events flash.desktop air.update.events flash.events flash.errors flash.data flash.external flash.filesystem flash.events flash.filesystem flash.filesystem flash.display flash.sensors flash.events flash.html flash.html flash.html flash.html 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

Includo na verso AIR 2.0 2.0 2.0 1.0 1.5 1.0 1.5 1.0 2.5 1.0 1.0 1.0 1.0 1.0 2.0 2.0 1.0 1.0 1.0 1.0 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Trabalhando com APIs do AIR

Classe MediaPromise MediaType MXRecord NativeApplication NativeDragActions NativeDragEvent NativeDragManager NativeDragOptions NativeMenu NativeMenuItem NativeProcess NativeProcessExitEvent NativeProcessStartupInfo NativeWindow NativeWindowBoundsEvent NativeWindowDisplayState NativeWindowDisplayStateEvent NativeWindowInitOptions NativeWindowResize NativeWindowSystemChrome NativeWindowType NetworkInfo NetworkInterface NotificationType OutputProgressEvent PaperSize PrintMethod PrintUIOptions MXRecord ReferencesValidationSetting ResourceRecord RevocationCheckSettings Screen ScreenMouseEvent

Pacote ActionScript 3.0 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 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

Includo na verso AIR 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 1.0 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Trabalhando com APIs do AIR

10

Classe SecureSocket SecureSocketMonitor ServerSocket ServerSocketConnectEvent ServiceMonitor SignatureStatus SignerTrustSettings SocketMonitor SQLCollationType SQLColumnNameStyle SQLColumnSchema SQLConnection SQLError SQLErrorEvent SQLErrorOperation SQLEvent SQLIndexSchema SQLMode SQLResult SQLSchema SQLSchemaResult SQLStatement SQLTableSchema SQLTransactionLockType SQLTriggerSchema SQLUpdateEvent SQLViewSchema SRVRecord StageAspectRatio StageOrientation StageOrientationEvent StageWebView StatusFileUpdateErrorEvent StatusFileUpdateEvent

Pacote ActionScript 3.0 flash.net air.net flash.net flash.events air.net flash.security flash.security air.net flash.data flash.data flash.data flash.data flash.errors flash.events flash.errors flash.events flash.data flash.data 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.media air.update.events air.update.events

Includo na verso AIR 2.0 2.0 2.0 2.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 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 2.5 1.5 1.5

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Trabalhando com APIs do AIR

11

Classe StatusUpdateErrorEvent StatusUpdateEvent StorageVolume StorageVolumeChangeEvent StorageVolumeInfo SystemIdleMode SystemTrayIcon UpdateEvent Updater URLFilePromise URLMonitor URLRequestDefaults XMLSignatureValidator

Pacote ActionScript 3.0 air.update.events air.update.events flash.filesystem flash.events flash.filesystem flash.desktop flash.desktop air.update.events flash.desktop air.desktop air.net flash.net flash.security

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

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

BITMAP_FORMAT FILE_LIST_FORMAT
FILE_PROMISE_LIST_FORMAT URL_FORMAT

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Trabalhando com APIs do AIR

12

Pacote flash.display

Classe LoaderInfo

Propriedade, mtodo ou evento


childSandboxBridge parentSandboxBridge

Includo na verso AIR 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

Stage

assignFocus() autoOrients deviceOrientation


nativeWindow

orientation Evento orientationChange Evento orientationChanging setAspectRatio


setOrientation

softKeyboardRect supportedOrientations supportsOrientationChange NativeWindow owner listOwnedWindows NativeWindowInitOptions owner

Last updated 27/4/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

Last updated 27/4/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

Last updated 27/4/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.

Last updated 27/4/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 133)

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 133)

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 129


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

AIR Developer Tool (ADT) na pgina 133. 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 AIR com o AIR SDK, consulte Criao do seu primeiro aplicativo 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).

Last updated 27/4/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 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 AIR sem empacot-lo e instal-lo primeiro. Para obter informaes sobre como usar esta ferramenta, consulte AIR Debug Launcher (ADL) na pgina 129. 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 133. 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 include contm o arquivo de cabealho da linguagem C para escrever extenses ActionScript (compatvel com AIR para TV). 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

Last updated 27/4/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 AIR. descriptor-template.xml - Um modelo do arquivo de descrio do aplicativo, necessrio para cada aplicativo AIR. Para obter uma descrio detalhada do arquivo de descrio do aplicativo, consulte Arquivos descritores do aplicativo do AIR na pgina 169. 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 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.
4 Os utilitrios de linha de comando esto situados na pasta bin.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Ferramentas da Plataforma Adobe Flash para desenvolvimento do AIR

19

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. Ainda assim, o Android SDK pode ser til para uma variedade de tarefas de desenvolvimento, incluindo criao e execuo de emuladores de software. 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.

Last updated 27/4/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 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":

Last updated 27/4/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>

Last updated 27/4/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 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 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

23

Empacotamento, assinatura e execuo do aplicativo 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 AIR Hello World simples utilizando o Adobe Flash Professional. 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).

Last updated 27/4/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 auto-assinado

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 155.

Last updated 27/4/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.

Last updated 27/4/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 143. 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


Para mais informaes, consulte Configurao do iOS na pgina 61.

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:

Last updated 27/4/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 261. 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 78.

Last updated 27/4/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.
3 Altere a ID do aplicativo para coincidir com a ID do aplicativo especificado no Portal de Aprovisionamento do iOS.

(No inclua a parte da distribuio do conjunto aleatrio no incio da 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.) 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

29

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 61.
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. 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

30

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 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. 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 Air.

A maioria das configuraes exigidas na caixa de dilogo Configuraes e Aplicativo AIR so preenchidas automaticamente para voc. Voc deve, no entanto, selecionar o contedo inicial (ou a pgina inicial) do seu aplicativo.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

31

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 AIR e das configuraes do instalador talvez se paream com o seguinte:

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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

32

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 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 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 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.

Last updated 27/4/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 AIR


Para comear a desenvolver seu aplicativo 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 a ID de editor (que o AIR cria do certificado usado para assinar o pacote do aplicativo). A 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.
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.html</content> Identifica o arquivo HTML raiz que o AIR deve carregar. <visible>true</visible> Torna a janela visvel imediatamente.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Criando seu primeiro aplicativo do AIR

34

<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 169.

Criar a pgina HTML do aplicativo


Agora voc precisa criar uma pgina HTML simples que serve como arquivo principal para o aplicativo 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:

Last updated 27/4/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 169.

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

Last updated 27/4/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. Voc pode usar quaisquer valores para os parmetros em itlico. O tipo de chave deve ser 1024-RSA ou 2048-RSA (consulte Assinatura de aplicativos AIR na pgina 155). 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 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).

Last updated 27/4/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 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 a ID de editor (que o AIR cria do certificado usado para assinar o pacote do aplicativo). A forma recomendado uma seqncia de caractere separados por pontos, do tipo DNS reverso, como, por exemplo, "com.company.AppName". A 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.
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. <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:

Last updated 27/4/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 169.

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 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:

Last updated 27/4/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 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 125.

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 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 129.

Last updated 27/4/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.pfxsamplePassword

Este exemplo usa o nmero mnimo de atributos que podem ser definidos para um certificado. Voc pode usar quaisquer valores para os parmetros em itlico. O tipo de chave deve ser 1024-RSA ou 2048-RSA (consulte Assinatura de aplicativos AIR na pgina 155). 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 51.

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.

Last updated 27/4/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 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 a ID de editor (que o AIR cria do certificado usado para assinar o pacote do aplicativo). O formulrio recomendado uma seqncia 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>

Last updated 27/4/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 65.

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 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 125.

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:

Last updated 27/4/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 87.

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 auto-assinado. 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.pfxsamplePassword

Este exemplo usa o nmero mnimo de atributos que podem ser definidos para um certificado. Voc pode usar quaisquer valores para os parmetros em itlico. O tipo de chave deve ser 1024-RSA ou 2048-RSA (consulte o Comando certificate do ADT na pgina 140). 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 AIR mvel na pgina 81. 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 92. Instale o aplicativo do AIR No prompt de comando, digite o seguinte comando (em uma nica linha):

Last updated 27/4/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 92. Voc pode iniciar seu aplicativo clicando no cone do aplicativo na tela do dispositivo ou emulador.

Last updated 27/4/2011

45

Captulo 6: Desenvolvendo aplicativos AIR para desktop


Fluxo de trabalho para desenvolver um aplicativo 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 interplataformas recomendado a menos que voc precise acessar APIs dependentes de plataforma, como a classe NativeProcess. 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 Compacte e assine um arquivo do 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 Compacte e assine um arquivo do AIR.

Criao de instaladores nativos para aplicativos do AIR


1 Escreva o cdigo (ActionScript ou HTML e JavaScript).

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

46

2 Crie recursos necessrios, como arquivos de bitmap de cone. 3 Crie o descritor do aplicativo. 4 Compile qualquer cdigo ActionScript. 5 Testar o aplicativo. 6 Compacte o aplicativo em cada plataforma de destino.

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 169.

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 2.5 instalado, seu aplicativo v o comportamento do AIR 1.5 (mesmo que o comportamento tenha sido alterado no AIR 2.5). 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/2.5">

Mais tpicos da Ajuda


aplicativo na pgina 173

Identidade do aplicativo
Diversas configuraes devem ser exclusivas para cada aplicativo que voc publicar. As configuraes exclusivas incluem a 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 184 nome de arquivo na pgina 181 nome na pgina 192

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

47

Verso do aplicativo
Nas verses AIR anteriores ao AIR 2.5, especifique o aplicativo no elemento version. Voc pode usar qualquer seqncia de caracteres. O tempo de execuo do AIR no interpreta a seqncia 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


version na pgina 199 versionLabel na pgina 199 versionNumber na pgina 199

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. 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

48

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.

Mais tpicos da Ajuda


contedo na pgina 177 height na pgina 183 maximizable na pgina 191 maxSize na pgina 191 minimizable na pgina 192 minimizable na pgina 192 minSize na pgina 192 resizable na pgina 195 systemChrome na pgina 197 title na pgina 198 transparent na pgina 198 visible na pgina 200 width na pgina 200 x na pgina 201 y na pgina 201

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.

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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

49

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.

Mais tpicos da Ajuda


customUpdateUI na pgina 178 fileTypes na pgina 182 installFolder na pgina 188 programMenuFolder na pgina 194

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. Se seu aplicativo usa a classe NativeProcess, voc deve dar suporte ao 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 204.

Mais tpicos da Ajuda


supportedProfiles na pgina 196

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>

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 184 imageNxN na pgina 185

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

50

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 requestedDisplayResolution softKeyboardBehavior

Depurao de um aplicativo 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.

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.

Mais tpicos da Ajuda


AIR Debug Launcher (ADL) na pgina 129

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");

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

51

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 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.

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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

52

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 auto-assinado. 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 auto-assinado, 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.

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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

53

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 140. 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. 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 202 e supportedProfiles na pgina 196. 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 169. 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 seqncia 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

54

Como parte da seqncia de caracteres de conexo para conexes locais


Como parte da seqncia 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 uma ID de editor muda, o comportameento 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 seqncia 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. Para uma referncia pormenorizada sobre as opes e os comandos ADT, consulte AIR Developer Tool (ADT) na pgina 133. 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 261 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. Voc pode criar um arquivo de instalao DEB ou RPM para a distribuio de um aplicativo do AIR no Linux.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

55

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 202 e supportedProfiles na pgina 196. 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 no Linux, execute ADT no Linux. 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 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, 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 natvo, 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_fileapp_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.)

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

56

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 145). 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. Para obter mais detalhes sobre opes do ADT alm de outra opo -target, consulte AIR Developer Tool (ADT) na pgina 133. 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

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 nativo 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

57

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:
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

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. 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

58

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 a ID do aplicativo e a 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 do AIR na pgina 215. 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. 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. 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 206 Distribuio de um aplicativo do AIR atravs da Web

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para desktop

59

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.

Last updated 27/4/2011

60

Captulo 7: Desenvolvendo aplicativos AIR para dispositivos mveis


Os aplicativos AIR em dispositivos mveis so utilizados 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: A Research In Motion (RIM) est adicionando suporte AIR para o BlackBerry Playbook, atualmente em verso beta. 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 SDK. 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 3 Packager para 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
Nenhuma configurao especial necessria para o Android no AIR 2.6+. A ferramenta ADB Android est includa no AIR SDK (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. 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

61

Mais tpicos da Ajuda


Variveis de ambiente ADT na pgina 154 Variveis de ambiente do caminho na pgina 261

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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

62

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 Exibio de telas no AIR.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

63

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 71.

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 Indisponvel Indisponvel Disponvel Disponvel

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

64

Publicidade
Muitos servios de anncio para os quais se fornece uma API ActionScript no suportam o ActionScript 3.0. Ao mesmo tempo, o tempo de execuo do AIR em dispositivos mveis no suporta o ActionScript 2.0. Uma fcil maneira de exibir anncios num aplicativo mvel usar um objeto StageWebView em conjunto com uma API JavaScript/HTML fornecida pelo servio de anncio.

Mais tpicos da Ajuda


pixelpaton: o Admob anuncia no AIR para aplicativos Android

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 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 AIR para o Android:

Escreva o cdigo ActionScript ou MXML. Criar um arquivo descritor do aplicativo 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 AIR estiver pronto e compactado como um arquivo APK, voc pode envi-lo para o Android Market ou distribu-lo atravs de outros meios.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

65

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 de aplicativo 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 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

66

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 podem ser usados para aplicativos mveis (dependendo de para qual plataforma mvel que voc os est direcionando):
iOS 4+ and iPhone 3Gs+ or Android: <application xmlns="http://ns.adobe.com/air/application/2.6"> Android: <application xmlns="http://ns.adobe.com/air/application/2.5"> 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 173

Identidade do aplicativo
Diversas configuraes devem ser exclusivas para cada aplicativo que voc publicar. Estas incluem a ID, o nome, e o nome de arquivo. IDs do aplicativo Android No Android, a ID convertida para o nome do pacote do Android prefixando "air". para a ID do AIR. Dessa forma, se a 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 a 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, a 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 descompactar o arquivo APK, mudar a ID do aplicativo, e compact-lo novamente como descrito em Emissor de anlise do aplicativo AIR para Android . IDs do aplicativo iOS Defina a ID do aplicativo AIR para corresponder com a ID do aplicativo que voc criou no Portal de aprovisionamento Apple iOS.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

67

As IDs do aplicativo iOS contm uma ID da distribuio do conjunto seguida por um identificador do conjunto. O ID da distribuio de conjunto uma seqncia 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 uma ID de aplicativo curinga. Se o identificador de conjunto terminar com caractere curinga, voc pode substituir este por qualquer seqncia vlida. Por exemplo:

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


com.example.helloWorld no descritor do aplicativo.

Se a ID do aplicativo Apple for 96LPVWEASL.com.example.* (uma ID de aplicativo curinga), voc pode usar
com.example.helloWorld, com.example.anotherApp, ou alguma outra ID que inicie com com.example.

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


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

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

Mais tpicos da Ajuda


id na pgina 184 nome de arquivo na pgina 181 nome na pgina 192

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 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


version na pgina 199 versionLabel na pgina 199 versionNumber na pgina 199

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

68

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>

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 futuro a lgica pode ser adicionada ao selecionar o melhor modo.)
<renderMode>gpu</renderMode>

As limitaes do modo de GPU so as seguintes:

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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

69

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 176 autoOrients na pgina 176 fullScreen na pgina 183 renderMode na pgina 194

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 196 Perfis de dispositivo na pgina 202 AIR Debug Launcher (ADL) na pgina 129

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.

Mais tpicos da Ajuda


softKeyboardBehavior na pgina 196 Stage.softKeyboardRect SoftKeyboardEvent

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

70

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 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 booleanos, inteiros ou seqncias 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 android:launchMode


elemento uses-sdk No possvel incluir um elemento uses-sdk.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

71

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 73.
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. 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:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

72

<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 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 seqncia de caracteres URI para o seu esquema personalizado.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

73

<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: Nem a funo navigateToURL() nem links em uma ocorrncia StageWebView podem abrir URLs que usam um esquema URI personalizado.

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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

74

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:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

75

<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 habilitar a renderizao do plug-in, defina o elemento android:hardwareAccelerated como true:
<android> <manifestAdditions> <![CDATA[ <manifest> <application android:hardwareAccelerated="true"/> </manifest> ]]> </manifestAdditions> </android>

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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

76

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:
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).

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

77

Mais tpicos da Ajuda


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

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: Nem a funo navigateToURL() nem links em uma ocorrncia StageWebView podem abrir URLs que usam um esquema URI personalizado. 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 auto-foco cmara voltada para frente cmara com flash cmara de vdeo acelermetro servios de localizao gps microfone

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

78

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.

Sair em vez de pausar


Quando um usurio sai de um aplicativo 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> <string>YES</string>

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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

79

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. 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 AIR para iOS.

Mais tpicos da Ajuda


cone na pgina 184 imageNxN na pgina 185 Desenvolvedores para Android: Orientaes de design de cone Diretrizes sobre cone Personalizado do iOS e Criao de Imagem

Imagens de ativao do iOS


Alm dos cones do aplicativo, voc tambm deve providenciar pelo menos uma imagem de ativao. 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. 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 seqncia 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)

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

80

-LandscapeRight (paisagem, direita)


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 dispostivo 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.) 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

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.) 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

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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

81

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 AIR mvel


Use o comando ADT -package para criar o pacote de aplicativo para um aplicativo 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. 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/.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

82

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 134 para obter mais informaes. 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 133.

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

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 261 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.)

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

83

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 148 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 71. 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 261 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:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

84

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

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 AIR mvel na pgina 86.

-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 61. 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

85

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 163. 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. 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 261 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 89 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.
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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

86

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 261 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 261 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.

Depurao de um aplicativo AIR mvel


Voc pode depurar seu aplicativo 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

87

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. 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 seqncia 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 129. 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

88

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 vdeo H.264 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. 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 a 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

89

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 261

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. 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

90

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

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:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

91

(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

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:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

92

(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.

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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

93

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 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.

Mais tpicos da Ajuda


Comando installRuntime do ADT na pgina 143 Comando installApp do ADT na pgina 141

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 a 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

94

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. 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para dispositivos mveis

95

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. A 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

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+.

Last updated 27/4/2011

96

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 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 AIR para TV usar extenses ActionScript.
Os recursos do ActionScript definidos para estes perfis so abordados em Perfis de dispositivo na pgina 202. Diferenas especficas do ActionScript para aplicativos AIR para TV so observados na Referncia do ActionScript 3.0 para Adobe Flash Platform.

Extenses ActionScript
Quando o aplicativo tem como destino o perfil extendedTV, ele pode usar pacotes de extenso nativa ActionScript (ANE - ActionScript Native Extension). Geralmente, um fabricante do dispositivo fornece pacotes ANE para fornecer acesso aos recursos do dispositivo no compatveis com o AIR. Por exemplo, uma extenso poderia permitir mudar os canais de televiso ou pausar a reproduo em um reprodutor de vdeo. Quando voc empacota um aplicativo que usa pacotes ANE, empacota o aplicativo em um arquivo AIRN em vez de um arquivo do AIR. Nota: O pacote ANE fornecido pelo fabricante do dispositivo contm uma verso somente para ActionScript da extenso ActionScript. Essa verso somente para ActionScript um fragmento (stub) ou simulador da extenso ActionScript que o fabricante do dispositivo instala no dispositivo. Geralmente, a verso no dispositivo contm cdigo nativo.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

97

Acelerao por hardware


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

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 infra-estrutura de distribuio de contedo ou trabalhar com um dos parceiros em ecossistemas da Adobe. 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

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:
Codec de vdeo: Resoluo: Taxa de quadros: H.264, perfil Principal ou Alto, codificao progressiva 720i, 720p, 1080i ou 1080p 24 quadros por segundo ou 30 quadros por segundo

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

98

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

AAC-LC ou AC3, 44.1 kHz, estreo at 8M bps, dependendo da largura de banda disponvel

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. Contudo, o hardware geralmente no decodifica nem renderiza esses codecs. Normalmente, o tempo de execuo decodifica esses codecs usando 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 renderizao de vdeo H.264 codificado. Use a classe StageVideo para habilitar esse recurso. Consulte Usando a classe StageVideo para renderizao de hardware acelerado no Manual 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 2.5 para TV usa um objeto StageVideo internamente. Fazer isso significa que a reproduo de vdeo tira proveito da decodificao e da renderizao 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 renderizando 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 AIR para TV:

Transmisso Dinmica em HTTP (formato F4F) Transmisso em RTMP, RTMPE e RTMPT Download Progressivo em HTPP
Nota: O AIR para TV no suporta RTMFP.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

99

Mais tpicos da Ajuda


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

Consideraes a respeito de udio


A tabela a seguir descreve quando usar os diferentes codecs de udio nos aplicativos AIR para TV:
Codec de udio Existe suporte para Quando usar este codec de udio decodificao de hardware? Sim. Em vdeos codificados com H.264. Em transmisso de udio tal como um servio de transmisso de msica na Internet. mp3 Geralmente no. Para sons contidos nos arquivos SWF do aplicativo. Mais informaes

AAC

Nunca decodificado no software. Ao usar um fluxo contnuo AAC exclusivamente de udio, encapsule o fluxo contnuo de udio num recipiente MP4. A decodificao de software do codec de mp3 geralmente tem um desempenho suficientemente rpido. No suportado de nenhuma forma em alguns dispositivos.

AC3

Em alguns dispositivos. Geralmente no. Geralmente no.

Em vdeos codificados com H.264.

Speex NellyMoser

Recebendo um fluxo contnuo de voz. Recebendo um fluxo contnuo de voz.

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 Manual do Desenvolvedor do ActionScript 3.0.

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


Esta acelerao grfica de hardware significa que muitas operaes com imagens no aplicativo 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

100

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.

Use o PerfMaster Deluxe, um aplicativo 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

101

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 do campo de viso, porque demanda apenas um pouco mais de processamento. No entanto, a configurao da propriedade visible como false no liber nenhum dos recursos desse 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 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 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:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

102

Resoluo de tela Capabilities.screenResolutionX 540p 720p 1080p 960 1280 1920

Capabilities.screenResolutionY

540 720 1080

Para escrever um aplicativo 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

Considere sempre a rea de visualizao segura ao projetar um aplicativo 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

103

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 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;

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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

104

O estado de exibio do palco Defina Stage.displayState num aplicativo AIR para TV de tela inteira como StageDisplayState.FULL_SCREEN_INTERACTIVE:
stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;

Este valor define o aplicativo 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. Desenhando para vrios tamanhos de tela Voc pode desenvolver o mesmo aplicativo 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

105

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 Voc pode definir a propriedade Stage.quality de um aplicativo AIR para TV como StageQuality.Best ou StageQuality.High.
stage.quality = StageQuality.High;

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 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 Manual 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.

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 freqente de controles remotos universais.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

106

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.

Dispense entradas de mouse.


Obviamente, um televisor no tem mouse. Contudo, se voc estiver convertendo aplicativos de computador pessoal para serem executados em televisores, certifique-se de modificar o aplicativo para no esperar entradas de 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 AIR para TV diferente do gerenciamento do foco em um aplicativo de computador pessoal, porque:

Os aplicativos de computador pessoal freqentemente 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 freqentemente 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.

Design de interface de usurio


Faa a interface do usurio de um aplicativo 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

107

Responsividade Use as seguintes dicas para tornar um aplicativo 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 do Adobe Flash Platform. 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 seqncia. 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.

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 105.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

108

Personalidade 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.

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. 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 sans serif serif ja ja ko zh_CN zh_CN zh_TW e zh_HK

RyoGothicPlusN-Regular RyoTextPlusN-Regular AdobeGothicStd-Light AdobeHeitiStd-Regular AdobeSongStd-Light AdobeMingStd-Light

Japons Japons Coreano 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

109

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 Manual 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 Manual 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.

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.

Mais tpicos da Ajuda


Acelerao por hardware de grfico na pgina 99

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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

110

Portanto, o aplicativo 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 AIR


Os aplicativos AIR para TV so executados em uma caixa ded segurana de aplicativo AIR, descrita em A caixa de proteo do aplicativo 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 109.

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 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 freqentemente para que o aplicativo possa recuperar-se para um estado razovel quando iniciar na prxima vez.

Cookies HTTP
O AIR para TV oferece suporte a cookies HTTP persistentes. Ele no oferece suporte a cookies de sesso. 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. 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

111

Fluxo de trabalho para desenvolver um aplicativo AIR para TV


Voc pode desenvolver aplicativos AIR para TV com as seguintes ferramentas de desenvolvimento da plataforma Adobe Flash:

Adobe Flash Professional CS5.


Para desenvolver aplicativos AIR para TV usnado o Flash Professional CS5, instale a extenso do Flash Professional CS5 para AIR 2.5. Essa extenso est disponvel em Extenso do Adobe Flash Professional CS5 para AIR 2.5.

Adobe Flash Builder.


A partir do Flash Builder 4.5, o Flash Builder suporta o AIR 2.5.

O AIR 2.5 SDK.


Voc pode desenvolver seus aplicativos usando as ferramentas de linha de comando fornecidas com o AIR 2.5 SDK. Para baixar o AIR 2.5 SDK, see http://www.adobe.com/products/air/sdk/.

Utilizao do Flash Professional CS5


Utilizao do Flash Professional CS5 desenvolver, testar e publicar aplicativos AIR para TV so atividades semelhantes ao uso da ferramenta nos aplicativos AIR para computador pessoal. 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 202.

Configuraes do projeto
Faa o seguinte para configurar seu projeto para um aplicativo AIR para TV:

Na guia Flash da caixa de dilogo Configuraes de Publicao, defina o valor Player para o AIR 2.5. Na gua Geral da caixa de dilogo Configuraes do Adobe AIR 2.5 (Configuraes do Alicativo e do Programa de
Instalao), defina o perfil como TV ou TV expandido (extendedTV).

Depurao
Voc pode executar seu aplicativo usando o AIR Debug Launcher dentro do Flash Professional CS5. 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

112

Mais tpicos da Ajuda


Depurao remota com o Flash Professional na pgina 121

Usando extenses ActionScript


Se o seu aplicativo usar uma extenso ActionScript, inclua o arquivo ANE para a extenso ActionScript no seu caminho de 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. 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.

Agora voc pode compilar seu aplicativo usando Controle > Testar Filme > Testar. No entanto, quando um aplicativo usa extenses ActionScript:

No possvel publicar o aplicativo usando o Flash Professional CS5. Para publicar o aplicativo, use ADT. Consulte
Compactao com ADT na pgina 117.

No possvel depurar o aplicativo usando o Flash Professional CS5. Para depurar o aplicativo na mquina de
desenvolvimento, use ADL. Consulte Simulao de dispositivos utilizando ADL na pgina 119.

Usando o Flash Builder


A partir do Flash Builder 4.5, o Flash Builder suporta o desenvolvimento com AIR 2.5. 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>.

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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

113

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 202. 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.

Mais tpicos da Ajuda


Depurao remota com o Flash Builder na pgina 121

Usando extenses ActionScript


Se o seu aplicativo usar uma extenso ActionScript, inclua o arquivo ANE para a extenso ActionScript no seu caminho de biblioteca. Em seguida, voc pode usar o Flash Builder para compilar o seu cdigo ActionScript. Faa o seguinte:
1 Altere a extenso do nome do arquivo ANE de .ane para .swc. 2 Selecione Projeto > Propriedades no seu projeto do Flash Builder. 3 Selecione Caminho de Criao do ActionScript na caixa de dilogo Propriedades. 4 Na guia Caminho da Biblioteca, selecione Adicionar SWC.... 5 Navegue para o arquivo SWC e selecione OK.

O arquivo SWC agora aparece na guia Caminho da Biblioteca, na caixa de dilogo Propriedades.
6 Expanda a entrada do arquivo SWC. 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. No entanto, quando um aplicativo usa extenses ActionScript:

No possvel publicar o aplicativo usando o Flash Builder. Para publicar o aplicativo, use ADT. Consulte
Compactao com ADT na pgina 117.

No possvel 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 119.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

114

Definio de propriedades do aplicativo 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 ActionScript. Esses aplicativos identificam extenses ActionScript 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. 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 173

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 184 nome de arquivo na pgina 181 nome na pgina 192

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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

115

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


version na pgina 199 versionLabel na pgina 199 versionNumber na pgina 199

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).
<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 183

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</supportedProfiles>

Se um aplicativo usar uma extenso ActionScript, inclua 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. Para uma lista de classes ActionScript disponveis nos perfis tv e extendedTV, consulte Capacidades de perfis diferentes na pgina 204.

Extenses ActionScript Necessrias


Os aplicativos compatveis com o perfil extendedTVpodem usar extenses ActionScript.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

116

Declare no descritor do aplicativo todas as extenses ActionScript usadas pelo aplicativo AIR. O exemplo a seguir ilustra a sintaxe para especificar duas extenses ActionScript 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. Ele empacotado no arquivo ANE que voc recebe do fabricante do dispositivo.

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 184 imageNxN na pgina 185

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 height installFolder maximizable maxSize minimizable minSize programMenuFolder

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

117

renderMode resizable systemChrome title transparent visible width x y

Compactao de um aplicativo AIR para TV


Compactao com ADT
Voc pode usar a ferramenta de linha de comando ADT AIR para compactar um aplicativo AIR para TV. A verso 2.5 do AIR SDK compatvel com compactao 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 133. 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 ADL est na definio de caminho do shell da linha de comando. (Consulte Variveis
de ambiente do caminho na pgina 261.)

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. 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 seu aplicativo AIR para TV usar umam extenso ActionScript, 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

118

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 261.)

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. Por exemplo:
C:\extensions extension1.ane extension2.ane

A ferramenta ADT requer que cada arquivo ANE nesse diretrio tenha a 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. Esses arquivos ANE contm um fragmento somente para ActionScript ou uma verso de simulador da extenso ActionScript. A verso da extenso ActionScript que contm o cdigo nativo est instalada no dispositivo AIR para TV. Nota: O uso do parmetro -extdir diferente nas ferramentas ADT e ADL. 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 AIR para TV que use extenses ActionScript. 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


Desenvolvimento de extenses ActionScript para Adobe AIR (PDF)

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 AIR abordado na documentao para esses programas. Atualmente, no entanto, somente a ADT pode criar pacotes AIRN.

Mais tpicos da Ajuda


Desenvolvimento de aplicativos do AIR com o Flash Builder Publicao para o Adobe AIR

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

119

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 do perfil extendedTV no argumento -profile permite que o aplicativo use fragmentos ou
simuladores de extenses ActionScript 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 do ActionScript. Voc pode especificar o perfil extendedTV
que compatvel com extenses ActionScript, no argumento -profile da ADL. A ADL permite realizar testes com a verso do fragmento ou simulador somente para ActionScript da exenso ActionScript includa no pacote ANE. No entanto, de modo geral a extenso ActionScript correspondente, que instalada no dispositivo, tambm inclui cdigo nativo. Para realizar testes usando a extenso ActionScript com seu cdigo nativo, execute o aplicativo no dispositivo de destino. Usando Extenses ActionScript Se o seu aplicativo usar extenses ActionScript, o comando ADL ter a aparncia semelhante o seguinte exemplo:
adl -profile extendedTV myApp-app.xml -extdir C:\extensionDirs

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

120

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 261.)

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 denomina um diretrio que contm um diretrio para cada extenso ActionScript que o
aplicativo usa. Cada um desse diretrios contm o arquivo ANE desempacotado de uma extenso ActionScript. 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

O comando ADL requer que cada um desses diretrios tenha a 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. Esses arquivos ANE contm um fragmento somente para ActionScript ou uma verso de simulador da extenso ActionScript. A verso da extenso ActionScript que contm o cdigo nativo est instalada no dispositivo AIR para TV. Nota: O uso do parmetro -extdir diferente nas ferramentas ADT e ADL. 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

121

Mais tpicos da Ajuda


AIR Debug Launcher (ADL) na pgina 129 Utilizao do Flash Professional CS5 na pgina 111 Usando o Flash Builder na pgina 112 Desenvolvendo Extenses ActionScript para Adobe AIR (PDF)

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. 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.

Depurao remota com o Flash Professional


Voc pode usar o Flash Professional CS5 para depurar remotamente o seu aplicativo 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 CS5 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 2.5 (Configuraes do Aplicativo e do

Programa de Instalao), selecione a opo para preparar um arquivo intermedirio do AIR (AIRI - AIR Intermediate). Para fins de depurao, usar um arquivo AIRI, que no requer nenhuma assinatura, 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 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). Para fins de depurao, usar um arquivo AIRI, que no requer nenhuma assinatura, 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

122

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 Abra o arquivo ZIP e substitua os arquivos SWF pelos arquivos de bin-debug. 3 Altere o arquivo de pacote para que novamente tenha a extenso de nome de arquivo .airi.

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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Desenvolvendo aplicativos AIR para aparelhos de televiso

123

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.

Last updated 27/4/2011

124

Captulo 9: Compiladores ActionScript


Antes que o cdigo MXML e ActionScript possa ser includo em um aplicativo 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Compiladores ActionScript

125

Nota: Nenhuma opo de compilao usada para aplicativos AIR, mas voc deve consultar as biblioteca do AIR ao compilar um aplicativo 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 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 mxmlc e o formato do arquivo de configurao so descritos em Criao e implantao de aplicativos do Flex 3 na biblioteca de documentao do Flex 3. 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:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Compiladores ActionScript

126

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>

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Compiladores ActionScript

127

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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Compiladores ActionScript

128

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.)

Last updated 27/4/2011

129

Captulo 10: 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 AIR diretamente com fdb, porque fdb tenta lan-lo com o Flash Player. Em vez disso, deixe o aplicativo 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Debug Launcher (ADL)

130

-pubid publisher-id Atribui o valor especificado como a ID do editor do aplicativo do AIR para essa execuo. Especificar uma ID de editor temporria permite que voc teste recursos de um aplicativo do AIR, como comunicao por uma conexo local, que usa a 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 AIR. Voc pode especificar uma ID de editor durante a criao de uma atualizao para um aplicativo AIR, mas aplicativos novos no necessitam disso e voc no deve especificar uma 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 196 e Perfis de dispositivo na pgina 202. 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Debug Launcher (ADL)

131

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 procurar bibliotecas de extenses ActionScript. Atualmente, as extenses ActionScript so compatveis apenas em aparelhos no perfil televiso expandida. application.xml O arquivo do descritor do aplicativo. Consulte Arquivos descritores do aplicativo do AIR na pgina 169. 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 seqncia 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Debug Launcher (ADL)

132

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):
<property name="SDK_HOME" value="C:/AIRSDK"/> <property name="ADL" value="${SDK_HOME}/bin/adl.exe"/> <property name="APP_DESCRIPTOR" value="$src/myApp-app.xml"/> <target name="test"> <exec executable="${ADL}"> <arg value="${APP_DESCRIPTOR}"/> </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

Last updated 27/4/2011

133

Captulo 11: 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 Compactar um aplicativo do AIR como um instalador nativo por exemplo, como .exe no Windows, .rpm ou .deb
no Linux ou .apk no Android

Configure o pacote de uma extenso ActionScript com um arquivo AIR Native Extension (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 auto-assinado 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 261). So necessrios pelo menos 2 GB de memria do computador para 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 -commandoptions

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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

134

-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 auto-assinado. -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 145 Opes de caminho e arquivo na pgina 147 Opes de conexo do depurador na pgina 148 Opes de extenso do AIR nativa na pgina 149

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:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

135

adt -package -target packageType DEBUGGER_CONNECTION_OPTIONS -airDownloadURL URL NATIVE_SIGNING_OPTIONS output app_descriptor 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 AIR Native Extension a partir dos arquivos de extenso ActionScript componentes:
adt -package AIR_SIGNING_OPTIONS -target ane output ext_descriptor 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 145. -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 biblioteca 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 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

136

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 RPM Fedora ou OpenSuse Linux
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 148. -airDownloadURL Especifica um URL alternativo para baixar e instalar o tempo de execuo do AIR em dispositivos Android. Se no for especificado, um aplicativo 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 145. 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. 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.) ext_descriptor O caminho para o arquivo de descritor de extenso (utilizado ao compactar uma extenso do AIR nativa). O caminho pode ser especificado em relao ao diretrio atual ou como um caminho absoluto.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

137

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 147. 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 os arquivos para criar um pacote ANE (AIR Native Extension). As opes de pacote de extenso so completamente descritos noOpes de extenso do AIR nativa na pgina 149.

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:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

138

/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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

139

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 147.

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 145. input O nome do arquivo do AIRI ou ANE a ser criado. output O nome do pacote assinado a ser criado.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

140

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 145. 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 145.

Comando certificate do ADT


O comando -certificate permite criar um certificado de assinatura de cdigo digital auto-assinado. O comando usa a seguinte sintaxe:
adt -certificate -cn name -ou orgUnit -o orgName -c country -validityPeriod years key-type output password

-cn A seqncia de caracteres atribuda como o nome comum do novo certificado. -ou Uma seqncia de caracteres atribuda como a unidade organizacional que emite o certificado. (Opcional.)
-o Uma seqncia de caracteres atribuda como a organizao que emite o certificado. (Opcional.)

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

141

-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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

142

-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 A ID do aplicativo do AIR do aplicativo instalado. Se nenhum aplicativo com a 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 A ID do aplicativo do AIR do aplicativo instalado. Se nenhum aplicativo com a 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:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

143

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 A ID do aplicativo do AIR do aplicativo instalado. Se nenhum aplicativo com a 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

144

-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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

145

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 seqncia de um item indica que um item opcional e que somente uma
instncia pode ocorrer, se utilizado.

* 0 ou mais. Um asterisco na seqncia de um item indica que um item opcional e que qualquer nmero de
instncias pode ocorrer.

+ 1 ou mais. Um sinal de mais na seqncia 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

146

Sintaxe de opes de assinatura do AIR As opes de assinatura usam a seguinte sintaxe:


-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. -keypass A senha exigida para acessar a chave privada usada para assinar o aplicativo AIR. Se no especificada, o ADT solicita a senha.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

147

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 for carimbada com data/hora, o aplicativo poder ainda ser instalado depois que o certificado de assinatura expirar, porque o carimbo 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

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:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

148

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 subseqentes 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.

-extdir O nome de um diretrio a ser pesquisado para extenses do ActionScript (arquivos 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.

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 seqncia 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 seqncia 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

149

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 91.

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 do AIR nativa


As opes de Extenso Nativa do AIR (ANE - AIR Native Extension) especificam as opes e arquivos para configurar o pacote de um arquivo ANE para uma extenso ActionScriptScript.
extension-descriptor -swc swcPath -platform platformName FILE_OPTIONS

extension-descriptor O arquivo de descritor para a extenso ActionScriptScript. -swc O arquivo SWC que contm o cdigo ActionScript e recursos para a extenso ActionScript. -platform O nome da plataforma que oferece suporte para este arquivo ANE. 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 147. (Observe que o sinalizador -e no pode ser usado ao compactar um arquivo ANE.)

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.

101 102

Espao para nomes ausente Espao para nomes invlido

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

150

Cdigo do erro 103

Descrio Elemento ou atributo inesperado

Observaes 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.

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 lista supportedProfiles aplicativo suporta extenses ActionScript. que oferea suporte para extenses ActionScript. (No momento, somente o perfil extendedTV oferece suporte para extenses Action Script. O destino do AIR no oferece suporte a extenses ActionScript. <nativeLibrary> e <initializer> devem ser fornecidos juntos. Escolha um destino que suporte extenses ActionScript. Uma funo de inicializao deve ser especificada para cada biblioteca nativa na extenso ActionScript. No especifique um finalizador a menos que a plataforma use uma biblioteca nativa. No especifique uma biblioteca nativa no elemento da plataforma padro.

112

113

114

Encontrado <finalizer> sem <nativeLibrary>.

115

A plataforma padro no deve conter uma implementao nativa.

Consulte Arquivos descritores do aplicativo do AIR na pgina 169 para obter informaes sobre espaos para nomes, elementos, atributos e seus valores vlidos. Erros do cone do aplicativo

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

151

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. 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

301

302

Arquivo do contedo raiz ausente do pacote

303

Arquivo de cone ausente do pacote

304

Contedo da janela inicial invlido

reconhecido como arquivo HTML ou SWF vlido.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

152

Cdigo do erro 305

Descrio A verso inicial do SWF de contedo da janela excedeu a verso do espao para nomes

Observaes 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 AIR 1.1, gerar esse erro. O perfil que voc est especificando no descritor do aplicativo no suportado. Consulte supportedProfiles na pgina 196. 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. Verifique as opes de assinaturas enviadas para o ADT.

No foi possvel assinar o arquivo AIR

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.

11

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

153

Cdigo de sada Descrio 12 Entrada invlida

Observaes 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.

13

SDK de dispositivo ausente

14

Erro de dispositivo

15

Nenhum dispositivo

16

Componentes GPL ausentes

Erros do Android
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 70. 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 70.

404

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


AIR Developer Tool (ADT)

154

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. 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.

Last updated 27/4/2011

155

Captulo 12: 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

156

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/developer/code-signing-certificate/index.htm) 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 infra-estrutura 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 auto-assinados), 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 auto-assinado 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 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 a mesma 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

157

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 arquivo publisherid no subdiretrio META-INF/AIR onde o aplicativo original est instalado. A seqncia 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 seqncia de caracteres de conexo para conexes locais
Como parte da seqncia 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 uma ID de editor muda, o comportameento 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 seqncia 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

158

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 auto-assinado 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 auto-assinado, bem como instrues sobre como assinar um arquivo do AIR, consulte AIR Developer Tool (ADT) na pgina 133. 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

159

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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

160

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 AIR. Tais circunstncias incluem:

Renovando o certificado de assinatura original. Atualizao de um certificado auto-assinado para um certificado emitido por uma autoridade de certificao Alterao de um certificado auto-assinado 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 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 140. Alteraes de identiade de aplicativo Antes do AIR 1.5.3, a identidade de um aplicativo 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 na ID do editor antigo).

O aplicativo no pode mais abrir conexes locais usando a ID do editor antigo. Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

161

A seqncia 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 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 infra-estrutura 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 seqncia 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. 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.

Certificado digital

Assinatura digital

Armazenamento de chave

JCA (arquitetura de criptografia Java)

PKCS n 11

PKCS n 12

Chave privada

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

162

Termo Chave pblica

Descrio 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.

Infra-estrutura 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 163.

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. 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).

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

163

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). 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

164

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 139. 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 139. Assinatura de um arquivo AIRI
Use o comando do ADT -sign com a seguinte sintaxe:
adt -sign SIGNING_OPTIONSairi_fileair_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 145. 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

165

Para obter mais informaes, consulte Comando sign do ADT na pgina 139.

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 217. A tabela a seguir resume o fluxo de trabalho para assinaturas de migrao:
Cenrio Estado da ID do editor/certificado Estado do certificado Vlido Publicar a verso mais recente do aplicativo do AIR Nenhuma ao necessria Aplicativo atualizado automaticamente Ao do desenvolvedor Ao do usurio

Aplicativo com base em tempo de execuo do Adobe AIR verso 1.5.3 ou superior Certificado C1

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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

166

Cenrio

Estado da ID do editor/certificado ID de editor original no descritor do aplicativo

Ao do desenvolvedor

Ao do usurio

Aplicativo com base em tempo de execuo do Adobe AIR verso 1.5.2 ou inferior Certificado C1

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

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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

167

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 a 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 145. 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. 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 139. Nota: O comando -migrate foi adicionado ao ADT na verso AIR 1.1.

Criao de um certificado auto-assinado 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 auto-assinado 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 auto-gerado, 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 auto-assinar 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 auto-assinados, 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Assinatura de aplicativos AIR

168

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.

Last updated 27/4/2011

169

Captulo 13: 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/2.7"> <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>

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

170

Mudanas no descritor do aplicativo


O descritor do aplicativo 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

171

Mudanas no descritor do AIR 2.6


Adicionado:

image114x114 requestedDisplayResolution softKeyboardBehavior

A estrutura do arquivo do descritor do aplicativo


O arquivo descritor do aplicativo um documento XML com a seguinte estrutura:
<aplicativo na pgina 173 xmlns="http://ns.adobe.com/air/application/2.7"> <allowBrowserInvocation na pgina 172>...<allowBrowserInvocation na pgina 172> <android na pgina 173> <manifestAdditions na pgina 190 <manifesto na pgina 189>...</manifesto na pgina 189> ]]> </manifestAdditions na pgina 190 </android na pgina 173> <copyright na pgina 178>...</copyright na pgina 178> customUpdateUI na pgina 178>...</ <descrio na pgina 179> <texto na pgina 197 xml:lang="...">...</texto na pgina 197> </descrio na pgina 179> <extenses na pgina 180> <extensionID na pgina 180>...</extensionID na pgina 180> </extenses na pgina 180> <nome de arquivo na pgina 181>...</nome de arquivo na pgina 181> <fileTypes na pgina 182> <fileType na pgina 181> <contentType na pgina 177>...</contentType na pgina 177> <descrio na pgina 179>...</descrio na pgina 179> <extension na pgina 180>...</extension na pgina 180> <cone na pgina 184> <imageNxN na pgina 185>...</imageNxN na pgina 185> </cone na pgina 184> <nome na pgina 193>...</nome na pgina 193> </fileType na pgina 181> </fileTypes na pgina 182> <cone na pgina 184> <imageNxN na pgina 185>...</imageNxN na pgina 185> </cone na pgina 184> <id na pgina 184>...</id na pgina 184> <initialWindow na pgina 186> <aspectRatio na pgina 176>...</aspectRatio na pgina 176> <autoOrients na pgina 176>...</autoOrients na pgina 176> <contedo na pgina 177>...</contedo na pgina 177> <fullScreen na pgina 183>...</fullScreen na pgina 183> <height na pgina 183>...</height na pgina 183> <maximizable na pgina 191>...</maximizable na pgina 191> <maxSize na pgina 191>...</maxSize na pgina 191> <minimizable na pgina 192>...</minimizable na pgina 192> <minSize na pgina 192>...</minSize na pgina 192>

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

172

<renderMode na pgina 194>...</renderMode na pgina 194> <resizable na pgina 195>...</resizable na pgina 195> <systemChrome na pgina 197>...</systemChrome na pgina 197> <title na pgina 198>...</title na pgina 198> <transparent na pgina 198>...</transparent na pgina 198> <visible na pgina 200>...</visible na pgina 200> <width na pgina 200>...</width na pgina 200> <x na pgina 201>...</x na pgina 201> <y na pgina 201>...</y na pgina 201> </initialWindow na pgina 186> <installFolder na pgina 188>...</installFolder na pgina 188> <iPhone na pgina 189> <InfoAdditions na pgina 186>...</InfoAdditions na pgina 186> <requestedDisplayResolution na pgina 195>...</requestedDisplayResolution na pgina 195> </iPhone na pgina 189> <nome na pgina 192> <texto na pgina 197 xml:lang="...">...</texto na pgina 197> </nome na pgina 192> <programMenuFolder na pgina 194>...</programMenuFolder na pgina 194> <publisherID na pgina 194>...</publisherID na pgina 194> <softKeyboardBehavior na pgina 196>...</softKeyboardBehavior na pgina 196> <supportedProfiles na pgina 196>...</supportedProfiles na pgina 196> <versionNumber na pgina 199>...</versionNumber na pgina 199> <versionLabel na pgina 199>...</versionLabel na pgina 199> </aplicativo na pgina 173>

Elementos descritores do aplicativo AIR


O dicionrio de elementos a seguir descreve cada um dos elementos vlidos de um arquivo descritor de aplicativo 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 213. Elementos pai:aplicativo na pgina 173 Elementos filho: nenhum Contedo true ou false (padro) Exemplo
<allowBrowserInvocation>true </allowBrowserInvocation>

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

173

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 AIR para adicionar outros itens adicionais a este. Ignorado em todas as plataformas, exceto no Android. Elementos pai:aplicativo na pgina 173 Elementos filho: manifestAdditions na pgina 190 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 70 O arquivo AndroidManifest.xml

aplicativo
Adobe AIR 1.0 e posterior - Necessrio O elemento raiz de um documento de descrio do aplicativo AIR. Elementos pai: nenhum Elementos filho:

allowBrowserInvocation na pgina 172 android na pgina 173 copyright na pgina 178 customUpdateUI na pgina 178 descrio na pgina 179 extenses na pgina 180 nome de arquivo na pgina 181 fileTypes na pgina 182 cone na pgina 184 id na pgina 184 initialWindow na pgina 186 installFolder na pgina 188

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

174

iPhone na pgina 189 nome na pgina 192 programMenuFolder na pgina 194 publisherID na pgina 194 softKeyboardBehavior na pgina 196 supportedProfiles na pgina 196 version na pgina 199 versionLabel na pgina 199 versionNumber na pgina 199
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). 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:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

175

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 AIR. 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>

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

176

<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. 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. Elementos pai:initialWindow na pgina 186 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 Definindo e detectando a orientao da tela. 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;

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

177

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. Elementos pai:initialWindow na pgina 186 Elementos filho: nenhum Contedo true ou false (padro) Exemplo
<autoOrients>true </autoOrients>

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.) Elementos pai:initialWindow na pgina 186 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. Elementos pai:fileType na pgina 181 Elementos filho: nenhum Contedo O tipo e subtipo de MIME. Consulte RFC2045 para obter mais informaes sobre tipos de MIME.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

178

Exemplo
<contentType> text/plain</contentType>

copyright
Adobe AIR 1.0 e posterior - Opcional As informaes de copyright para o aplicativo 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. Elementos pai:aplicativo na pgina 173 Elementos filho: nenhum Contedo Uma seqncia 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 do AIR na pgina 215. Elementos pai:aplicativo na pgina 173 Elementos filho: nenhum Contedo true ou false (padro) Exemplo
<customUpdateUI> true</customUpdateUI>

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

179

descrio
Adobe AIR 1.0 e posterior - Opcional A descrio do aplicativo, exibida no instalador do aplicativo 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 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 usa a descrio en se o sistema do usurio identifica 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 250. Elementos pai:aplicativo na pgina 173 Elementos filho:texto na pgina 197 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 179 como filho do elemento do aplicativo Elementos pai:fileType na pgina 181

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

180

Elementos filho: nenhum Contedo Uma seqncia de caracteres que descreve o contedo do arquivo. Exemplo
<description> PNG image</description>

extension
Adobe AIR 1.0 e posterior - Necessrio A seqncia de caracteres de extenso de um tipo de arquivo. Elementos pai:fileType na pgina 181 Elementos filho: nenhum Contedo Uma seqncia 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. A ID definida no documento descritor da extenso. Elementos pai:extenses na pgina 180 Elementos filho: nenhum Contedo Uma seqncia 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. Elementos pai:aplicativo na pgina 173 Elementos filho:extensionID na pgina 180

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

181

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 seqncia 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. Elementos pai:aplicativo na pgina 173 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

182

Elementos pai:fileTypes na pgina 182 Elementos filho:

contentType na pgina 177 descrio na pgina 179 extension na pgina 180 cone na pgina 184 nome na pgina 193
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 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 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. Elementos pai:aplicativo na pgina 173 Elementos filho:fileType na pgina 181 Contedo O elemento fileTypes pode conter qualquer nmero de elementos fileType.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

183

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. Elementos pai:initialWindow na pgina 186 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. Elementos pai:initialWindow na pgina 186 Elementos filho: nenhum Contedo Um nmero inteiro positivo com um valor mximo de 4095. Exemplo
<height>4095 </height>

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

184

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. Elementos pai:aplicativo na pgina 173 Elementos filho:imageNxN na pgina 185 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 seqncia de caracteres de identificador para o aplicativo, conhecida como a ID do aplicativo. Um identificador do estilo DNS reverso usado freqentemente, mas este estilo no necessrio. Elementos pai:aplicativo na pgina 173 Elementos filho: nenhum Contedo O valor da ID restrito aos seguintes caracteres:

09 az AZ . (ponto) - (hfen) Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

185

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. Elementos pai:aplicativo na pgina 173 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

186

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. Elementos pai:iPhone na pgina 189 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 75

initialWindow
Adobe AIR 1.0 e posterior - Necessrio Define o principal contedo do arquivo e aparncia inicial do aplicativo. Elementos pai:aplicativo na pgina 173 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:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

187

Elemento aspectRatio na pgina 176 autoOrients na pgina 176 contedo na pgina 177 fullScreen na pgina 183 height na pgina 183 maximizable na pgina 191 maxSize na pgina 191 minimizable na pgina 192 minSize na pgina 192 renderMode na pgina 194 resizable na pgina 195

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 196 systemChrom e na pgina 197 title na pgina 198 transparent na pgina 198 visible na pgina 200 width na pgina 200 x na pgina 201 y na pgina 201 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

188

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. Elementos pai:aplicativo na pgina 173 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>

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

189

iPhone
Adobe AIR 2.0, somente iPhone opcional Define as propriedades de aplicativo especfico para iPhone. Elementos pai:aplicativo na pgina 173 Elementos filho:

InfoAdditions na pgina 186 requestedDisplayResolution na pgina 195

Mais tpicos da Ajuda


Configuraes do iOS na pgina 75

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 190 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 70 O arquivo AndroidManifest.xml

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

190

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 173 Elementos filho:manifesto na pgina 189 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

191

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 70 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 186 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. Elementos pai:initialWindow na pgina 186 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.)

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

192

Exemplo
<maxSize>1024 360</maxSize>

minimizable
Adobe AIR 1.0 e posterior - Opcional Especifica se a janela pode ser minimizada. Elementos pai:initialWindow na pgina 186 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. Elementos pai:initialWindow na pgina 186 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. Elementos pai:aplicativo na pgina 173 Elementos filho:texto na pgina 197 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

193

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 250. 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. Elementos pai:fileType na pgina 181 Elementos filho: nenhum Contedo Uma seqncia de caracteres que representa o nome do tipo de arquivo. Exemplo
<name>adobe.VideoFile</name>

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

194

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.) Elementos pai:aplicativo na pgina 173 Elementos filho: nenhum Contedo A seqncia 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 a ID do editor para atualizar um aplicativo do AIR criada originalmente com AIR verso 1.5.2 ou anterior. Somente especifique uma 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, a 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 uma ID do editor. Para obter mais informaes, consulte Sobre identificadores de editor do AIR na pgina 156. Elementos pai:aplicativo na pgina 173 Elementos filho: nenhum Contedo Uma seqncia de caracteres da 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. Elementos pai:initialWindow na pgina 186 Elementos filho: nenhum

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

195

Contedo Um dos seguintes valores:

auto (padro) volta no momento para o modo de CPU. cpu a acelerao por hardware no usada. gpu a acelerao por hardware usada, se disponvel.

Exemplo
<renderMode>gpu</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. Elementos pai:iPhone na pgina 189 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. Elementos pai:initialWindow na pgina 186 Elementos filho: Contedo true (padro) ou false Exemplo
<resizable>false</resizable>

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

196

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. Elementos pai:aplicativo na pgina 173 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. Elementos pai:aplicativo na pgina 173 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. 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

197

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 202 Perfis disponveis na pgina 69

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. Elementos pai:initialWindow na pgina 186 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 seqncia 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). 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

198

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 192 descrio na pgina 179


Elementos filho: nenhum Contedo Um atributo xml:lang que especifica um local e uma seqncia 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. Elementos pai:initialWindow na pgina 186 Elementos filho: nenhum Contedo Uma seqncia 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. Elementos pai:initialWindow na pgina 186 Elementos filho: nenhum

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

199

Contedo true ou false (padro) Exemplo


<transparent>true</transparent>

version
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 seqncia 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. Elementos pai:aplicativo na pgina 173 Elementos filho: nenhum Contedo Uma seqncia de caracteres que contm uma verso do aplicativo. Exemplo
<version>0.1 Alpha</version>

versionLabel
Adobe AIR 2.5 e posterior - opcional Especifica uma seqncia 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. Elementos pai:aplicativo na pgina 173 Elementos filho: nenhum Contedo Uma seqncia de caracteres que contm o texto da verso exibida publicamente. Exemplo
<versionLabel>0.9 Beta</versionlabel>

versionNumber
Adobe AIR 2.5 e posterior - obrigatrio O nmero da verso do aplicativo.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

200

Elementos pai:aplicativo na pgina 173 Elementos filho: nenhum Contedo O nmero da verso pode conter uma seqncia 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. Elementos pai:initialWindow na pgina 186 Elementos filho: nenhum Contedo true ou false (padro) Exemplo
<visible>true</visible>

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. Elementos pai:initialWindow na pgina 186

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Arquivos descritores do aplicativo do AIR

201

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). Elementos pai:initialWindow na pgina 186 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. A origem do sistema de coordenadas da tela (0,0) o canto superior esquerdo da tela principal do desktop (conforme determinado pelo sistema operacional). Elementos pai:initialWindow na pgina 186 Elementos filho: nenhum Contedo Um valor inteiro. Exemplo
<y>250</y>

Last updated 27/4/2011

202

Captulo 14: 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 booleana 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 AIR usando o elemento supportedProfiles no descritor do aplicativo:
Desktop 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Perfis de dispositivo

203

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 54. Dispositivo mvel O perfil dispositivo mvel define um conjunto de capacidades para aplicativos que so instalados

em dispositivos mveis. Voc pode usar APIs do ActionScript 3.0 e do AIR para criar aplicativos para Android, iPhone, iPod touch e iPad. Na atualidade, so esses os nicos dispositivos que suportam aplicativos com o perfil dispositivo mvel.
Dispositivo mvel estendido O perfil dispositivo mvel estendido define um conjunto de capacidades para aplicativos que so instalados em um subconjunto de dispositivos mveis. Este subconjunto de dispositivos mveis pode usar a classe HTMLLoader adicionalmente funcionalidade definida para o perfil dispositivo mvel. 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 com esse perfil no podem usar extenses ActionScript. TV estendida O perfil televiso expandida abrange os mesmos tipos de dispositivos do perfil televiso, mas inclui elementos adicionais, como extenses ActionScript.

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>

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Perfis de dispositivo

204

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 No Sim No No Sim Sim mobileDevice tv extendedTV

Acelermetro (Accelerometer.isSupported)

No

Verificar No No Sim Sim Sim Sim No No

No No Sim Sim No No No No No

No No Sim Sim No No No No No

Acessibilidade (Capabilities.hasAccessibility) Sim ActionScript 2 Matriz CacheAsBitmap Cmera (Camera.isSupported) CameraRoll CameraUI (CameraUI.isSupported) ContextMenu (ContextMenu.isSupported) DatagramSocket (DatagramSocket.isSupported) DockIcon (NativeApplication.supportsDockIcon) Drag-and-drop (NativeDragManager.isSupported) EncyptedLocalStore (EncyptedLocalStore.isSupported) ExtensionContext Acesso Flash (DRMManager.isSupported) Geolocalizao (Geolocation.isSupported) HTMLLoader (HTMLLoader.isSupported) IME (IME.isSupported) LocalConnection (LocalConnection.isSupported) Microfone (Microphone.isSupported) NativeMenu (NativeMenu.isSupported) NativeProcess (NativeProcess.isSupported) Sim No Sim No No Sim Sim

Verificar

Verificar

No

No

No

Sim

Sim

Verificar

No

No

Sim

Sim

No

No

No

No Sim No Sim Sim Sim

No Sim No Sim Sim Sim

No No Verificar No Verificar No

No Sim No No No Sim

Sim Sim No No No Sim

Sim Sim No

Sim Sim Sim Sim Sim Sim Sim Sim Sim

Verificar No No No Verificar No No No No

No No No No Sim No No Verificar No

No No No No Sim No No Verificar No

NativeWindow (NativeWindow.isSupported) Sim NetworkInfo (NetworkInfo.isSupported) Abra os arquivos com o aplicativo padro PrintJob (PrintJob.isSupported SecureSocket (SecureSocket.isSupported) ServerSocket (ServerSocket.isSupported) Sim Limitado Sim Sim Sim

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Perfis de dispositivo

205

Classe ou recurso

desktop

extendedDeskt op Sim No

mobileDevice

tv

extendedTV

Shader Orientao do Palco (Stage.supportsOrientationChange) StageVideo StageWebView (StageWebView.isSupported) Iniciar aplicativo no login (NativeApplication.supportsStartAtLogin) StorageVolumeInfo (StorageVolumeInfo.isSupported) Modo ocioso do sistema

Sim No

Limitado Sim

No No

No No

No Sim

No Sim

No 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.

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 129 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.

Last updated 27/4/2011

206

Captulo 15: 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 212. 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 211.

Ele pode verificar se o tempo de execuo est instalado. Consulte Verificar se o tempo de execuo est instalado
na pgina 210.

Ele pode iniciar um aplicativo do AIR instalado no sistema do usurio. Consulte Inicializao de um aplicativo do
AIR instalado do navegador na pgina 213. 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


API no navegador AIR.SWF

207

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 208.

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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


API no navegador AIR.SWF

208

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:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


API no navegador AIR.SWF

209

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 210.

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 212.

url Uma seqncia 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 169.) 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 213.

As configuraes para url e runtimeVersion so transmitidas no arquivo SWF pelas configuraes do FlashVars na pgina HTML do continer.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


API no navegador AIR.SWF

210

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 211.

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 206. 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 210. 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();

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


API no navegador AIR.SWF

211

O mtodo getStatus() retorna um dos seguintes valores de seqncias 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 uma ID de aplicativo e uma 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 210. 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:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


API no navegador AIR.SWF

212

Parmetros
appID pubID

Descrio A ID desse aplicativo. Para obter detalhes, consulte id na pgina 184. A ID do editor do aplicativo. Para obter detalhes, consulte publisherID na pgina 194. Se o aplicativo e em questo no possuir um ID do editor, defina o parmtero pubID para uma seqncia 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 seqncia de caracteres, definida para a seqncia 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 210. 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 seqncia de caracteres que define a URL do arquivo AIR a instalar. Voc deve usar um caminho de URL absoluta, e no relativa. Uma seqncia 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 169.) 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 213.

runtimeVersion

argumentos

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


API no navegador AIR.SWF

213

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 211. 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 169. 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 210. 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:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


API no navegador AIR.SWF

214

Parmetro
appID pubID

Descrio A ID do aplicativo a ser iniciado. Para obter detalhes, consulte id na pgina 184. A ID do editor do aplicativo a ser iniciado. Para obter detalhes, consulte publisherID na pgina 194. Se o aplicativo e em questo no possuir um ID do editor, defina o parmtero pubID para uma seqncia 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 211. 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 (for HTML developers). 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.

Last updated 27/4/2011

215

Captulo 16: Atualizao de aplicativos do AIR


Os usurios podem instalar ou atualizar um aplicativo 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 194. 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 auto-assinado para um certificado comercial de autenticao de cdigo ou de um certificado auto-assinado 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 160. 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 AIR cria arquivos de registro quando um aplicativo 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 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).

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos do AIR

216

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 218.

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 a ID do aplicativo e a 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 a ID do aplicativo e a ID do editor, consulte Arquivos descritores do aplicativo do AIR na pgina 169.) 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 seqncia 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos do AIR

217

Antes do AIR 2.5, a seqncia 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 seqncia de caracteres da verso deve ser uma seqncia 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 seqncia 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 169.

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 165 para obter mais informaes. Consulte Comandos do ADT na pgina 133 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos do AIR

218

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 subseqentes. 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 uma ID de aplicativo e uma ID de editor que correspondem s 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 178. 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 222. 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:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos do AIR

219

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)

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos do AIR

220

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 222. 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";

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos do AIR

221

} 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.";

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos do AIR

222

} 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 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos do AIR

223

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 223 Incluso de arquivos de estrutura em um aplicativo do AIR baseado em HTML na pgina 223 Exemplo bsico: Uso da verso ApplicationUpdaterUI na pgina 224

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:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos do AIR

224

<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 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:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos do AIR

225

<?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 AIR 2.5 usando a classe Updater do AIR diretamente.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos do AIR

226

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 seqncia 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos do AIR

227

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 seqncia 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 seqncia 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 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 223 e Incluso de arquivos de estrutura em um aplicativo do AIR baseado em HTML na pgina 223), voc precisa instanciar um objeto atualizador, conforme a seguir: Exemplo do ActionScript:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos do AIR

228

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 seqncia 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 226). 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 231).

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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos do AIR

229

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 226) antes de usar o atualizador (antes de chamar o mtodo initialize() do objeto atualizador, descrito em Inicializao da estrutura de atualizao na pgina 231). 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos do AIR

230

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 booleano 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 228). 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 seqncia 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos do AIR

231

Inicializao da estrutura de atualizao


Depois de definir as propriedades de configurao (consulte Exemplo bsico: Uso da verso ApplicationUpdaterUI na pgina 224), 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 228.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos do AIR

232

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 230). 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 booleano. Configure para true se existir uma verso disponvel diferente do aplicativo atual; caso contrrio false (a verso a mesma). version Uma seqncia 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 seqncia

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 seqncia 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 226.

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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos do AIR

233

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 AIR.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Atualizao de aplicativos do AIR

234

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 seqncias de caracteres localizadas para um idioma. Essas seqncias 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.

Last updated 27/4/2011

235

Captulo 17: 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 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 235. 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Visualizao do cdigo-fonte

236

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 seqncia 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 booleano que especifica se o Visualizador do Cdigo-Fonte deve ser uma janela modal (verdadeiro) ou nomodal (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).

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Visualizao do cdigo-fonte

237

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>

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Visualizao do cdigo-fonte

238

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 235).

Last updated 27/4/2011

239

Captulo 18: 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Depurao com o AIR HTML Introspector

240

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>

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Depurao com o AIR HTML Introspector

241

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:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Depurao com o AIR HTML Introspector

242

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 240). Voc pode configurar a "hot key" como uma tecla que no seja a tecla F12; consulte Configurao do AIR Introspector na pgina 242.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Depurao com o AIR HTML Introspector

243

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 240.

Para limpar o console, clique com o boto direito do mouse no texto e selecionar Limpar console.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Depurao com o AIR HTML Introspector

244

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 242. 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.)

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Depurao com o AIR HTML Introspector

245

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.)

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Depurao com o AIR HTML Introspector

246

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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Depurao com o AIR HTML Introspector

247

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.)

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Depurao com o AIR HTML Introspector

248

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)};

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Depurao com o AIR HTML Introspector

249

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.

Last updated 27/4/2011

250

Captulo 19: 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

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Localizao de aplicativos AIR

251

Localizao do nome e da descrio do aplicativo no instalador do aplicativo 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 AIR na pgina 172.

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:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Localizao de aplicativos AIR

252

<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 258. Retorna os idiomas na cadeia de cdigo de idiomas. Consulte Definio da cadeia de cdigo de idiomas na pgina 257. Retorna as chaves do grupo e os valores correspondentes como um objeto. Consulte Obteno de recursos para um cdigo de idiomas especfico na pgina 258. Obtm a seqncia definida para um recurso. Consulte Obteno de recursos para um cdigo de idiomas especfico na pgina 258. Define o local do diretrio de compactados. Consulte Personalizao de configuraes HTML Localizer do AIR na pgina 256. Define o prefixo usado pelos atributos do localizer usados nos elementos HTML DOM. Consulte Personalizao de configuraes HTML Localizer do AIR na pgina 256 Define a ordem de idiomas na cadeia de cdigo de idiomas. Consulte Definio da cadeia de cdigo de idiomas na pgina 257. 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 257. Atualiza o HTML DOM (ou um elemento DOM) com seqncias 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 253. Para obter mais informaes sobre o mtodo update(), consulte Atualizao de elementos DOM para uso de cdigo de idiomas atual na pgina 255.

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 257.

Definio de grupos de recursos


A estrutura de localizao HTML faz a leitura de verses localizadas de seqncias 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 256.) Esse diretrio incluir os arquivos de localizao. Esse diretrio conhecido como o diretrio de compactaes.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Localizao de aplicativos AIR

253

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 258. 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 seqncia em cada linha. Por exemplo, o seguinte define o valor de seqncia "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 252). 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).

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Localizao de aplicativos AIR

254

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 subseqente do aplicativo. O aplicativo pode usar as seqncias de recursos em qualquer cdigo de idiomas da cadeia de cdigo de idiomas. Se um cdigo de idiomas especfico no definir uma seqncia de recursos, o aplicativo usar a prxima seqncia 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 257.

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 seqncias 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"/>

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Localizao de aplicativos AIR

255

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 255. 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 256.

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 seqncias 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 seqncias 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 seqncia "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 seqncia "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:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Localizao de aplicativos AIR

256

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 seqncia. O valor do parmetro path pode ser algum dos seguintes:

Uma seqncia que define o caminho relativo para o diretrio do aplicativo, como "locales" Uma seqncia 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) Caminhos dos objetos File (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 seqncia 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_");

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Localizao de aplicativos AIR

257

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 254. 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 253.) 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 subseqentes). 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 seqncia "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";

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Localizao de aplicativos AIR

258

Obteno de recursos para um cdigo de idiomas especfico


O mtodo getString() do objeto Localizer retorna a seqncia 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 seqncia 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 seqncia para substituir as tags numeradas na seqncia de substituio. Por exemplo, considere uma chamada para a funo em que o parmetro templateArgs seja ["Ral", "4"] e a seqncia 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 seqncia 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 seqncias localizadas de outras maneiras. Por exemplo, voc pode usar uma seqncia 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 seqncia 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 seqncia "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 seqncia "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:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Localizao de aplicativos AIR

259

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 seqncia "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 seqncia, para um cdigo de idiomas determinado. O arquivo de compactao interpretado como arquivo UTF-8. O mtodo inclui os seguintes parmetros:

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Localizao de aplicativos AIR

260

Parmetro
resourceFileName templateArgs

Descrio Nome de arquivo do arquivo de recurso (como "about.html"). Opcional. A matriz de seqncia para substituir as tags numeradas na seqncia 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 seqncia 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 seqncia "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

Last updated 27/4/2011

261

Captulo 20: 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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Variveis de ambiente do caminho

262

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.

Last updated 27/4/2011

CONSTRUINDO APLICATIVOS NO ADOBE AIR


Variveis de ambiente do caminho

263

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.

Last updated 27/4/2011

Vous aimerez peut-être aussi