Professional Documents
Culture Documents
http://help.adobe.com/zh_CN/legalnotices/index.html
2011/10/13
iii
1 : Adobe AIR
2 : Adobe AIR
Adobe AIR
.................................................................................................. 2
Adobe AIR
.................................................................................................. 3
AIR
Adobe AIR
........................................................................................ 4
.................................................................................................. 4
3 : AIR API
AIR ActionScript 3.0
................................................................................... 6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Flex SDK
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
SDK
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5 : AIR
Flash Builder Flex AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6 : AIR
AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7 : AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2011/10/13
ADOBE AIR
iv
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
AIR AIR
AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
8 : AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
AIR
TV AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
AIR
AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
9 : Adobe AIR
AIR (ANE)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
NativeProcess ActionScript
ActionScript SWC
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
ANE
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
10 : ActionScript
Flex SDK AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
ADL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
ADL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
ADL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
12 : AIR Developer Tool (ADT)
ADT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
ADT
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
ADT
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
ADT
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
2011/10/13
ADOBE AIR
13 : AIR
AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
ADT AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
ADT AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
ADT
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
14 : AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
AIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
15 :
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
16 : AIR.SWF API
badge.swf
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
badge.swf AIR
air.swf
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
AIR
AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
17 : AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
18 :
Source Viewer
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
AIR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
2011/10/13
ADOBE AIR
vi
20 : AIR
AIR
AIR HTML HTML
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
21 :
Bash shell Linux Mac OS
Windows
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
2011/10/13
1 : Adobe AIR
Adobe AIR Web Internet (RIA)
Adobe Flex Adobe Flash SWF ActionScript 3.0
AIR AIR HTML JavaScript Ajax HTML
Adobe AIR (http://www.adobe.com/cn/devnet/air/) Adobe AIR
JavaScript Ajax
Flash/Flex/ActionScript
HTML/JavaScript/CSS/Ajax
AIR
AIR iOS AIR iOS AIR
AIR AIR
Web
Web
C C++
API
AIR API
AIR Flash
Flex HTML Ajax
AIR Adobe AIR
(http://www.adobe.com/go/learn_air_relnotes_cn)
2011/10/13
2 : Adobe AIR
Adobe AIR AIR
AIR
AIR
Adobe AIR Adobe
Adobe
AIR AIR SDKAdobe Flash Builder Adobe Flex SDK AIR SDK
AIR
Adobe AIR
Windows
1 http://get.adobe.com/cn/air
2
3
Mac
1 http://get.adobe.com/cn/air
2
3
4 (Authenticate) Mac OS
Linux
Linux AIR 2.7 Linux AIR AIR 2.6 SDK
1 http://kb2.adobe.com/cps/853/cpsid_85304.html
2
chmod +x AdobeAIRInstaller.bin
Linux
2011/10/13
ADOBE AIR
Adobe AIR
3
4
1 AIR http://kb2.adobe.com/cps/853/cpsid_85304.html
rpm Debian
2 AIR
a Debian
sudo dpkg -i <path to the package>/adobeair-2.0.0.xxxxx.deb
b rpm
sudo rpm -i <path to the package>/adobeair-2.0.0-xxxxx.i386.rpm
AIR 1.5.3
sudo rpm -U <path to the package>/adobeair-2.0.0-xxxxx.i386.rpm
AIR 2 AIR
Adobe AIR
Windows
1 Windows >
2 Windows
2011/10/13
ADOBE AIR
Adobe AIR
3 Adobe AIR
4 /
Mac
1
2 > Adobe AIR
3
ADT -uninstallRuntime 134 ADT uninstallRuntime
AIR
AIR
AIR
1 AIR
2 Install Now
3 AIR
Windows Windows
Mac OS Applications
Macintosh HD/Users/JoeUser/Applications/
AIR
http://www.adobe.com/go/learn_air_relnotes_cn
Adobe AIR
Adobe Adobe AIRAdobe Adobe AIR
2011/10/13
ADOBE AIR
Adobe AIR
AIR AIR
Adobe
2011/10/13
3 : AIR API
Adobe AIR Adobe Flash Player SWF
ActionScript 3.0
Adobe AIR API
ActionScript 3.0
Adobe Flash Platform ActionScript 3.0
HTML
HTML AIR JavaScript API AIRAliases.js JavaScript
AIR API API
Adobe AIR HTML
HTML Adobe AIR API
HTML
AIRAliases.js JavaScript HTML Adobe AIR API
ActionScript 3.0
AIR
ARecord
flash.net.dns
2.0
AAAARecord
flash.net.dns
2.0
ApplicationUpdater
air.update
1.5
ApplicationUpdaterUI
air.update
1.5
AudioPlaybackMode
flash.media
3.0
AutoCapitalize
flash.text
3.0
BrowserInvokeEvent
flash.events
1.0
CameraPosition
flash.media
3.0
CameraRoll
flash.media
2.0
CameraRollBrowseOptions
flash.media
3.0
CameraUI
flash.media
2.5
CertificateStatus
flash.security
2.0
CompressionAlgorithm
flash.utils
1.0
2011/10/13
ADOBE AIR
AIR API
ActionScript 3.0
AIR
DatagramSocket
flash.net
2.0
DatagramSocketDataEvent
flash.events
2.0
DNSResolver
flash.net.dns
2.0
DNSResolverEvent
flash.events
2.0
DockIcon
flash.desktop
1.0
DownloadErrorEvent
air.update.events
1.5
DRMAuthenticateEvent
flash.events
1.0
DRMDeviceGroup
flash.net.drm
3.0
DRMDeviceGroupErrorEvent
flash.net.drm
3.0
DRMDeviceGroupEvent
flash.net.drm
3.0
DRMManagerError
flash.errors
1.5
EncryptedLocalStore
flash.data
1.0
ExtensionContext
flash.external
2.5
File
flash.filesystem
1.0
FileListEvent
flash.events
1.0
FileMode
flash.filesystem
1.0
FileStream
flash.filesystem
1.0
FocusDirection
flash.display
1.0
GameInput
flash.ui
3.0
GameInputControl
flash.ui
3.0
GameInputControlType
flash.ui
3.0
GameInputDevice
flash.ui
3.0
GameInputEvent
flash.ui
3.0
GameInputFinger
flash.ui
3.0
GameInputHand
flash.ui
3.0
Geolocation
flash.sensors
2.0
GeolocationEvent
flash.events
2.0
HTMLHistoryItem
flash.html
1.0
HTMLHost
flash.html
1.0
HTMLLoader
flash.html
1.0
HTMLPDFCapability
flash.html
1.0
HTMLSWFCapabiltiy
flash.html
2.0
HTMLUncaughtScriptExceptionEvent
flash.events
1.0
HTMLWindowCreateOptions
flash.html
1.0
2011/10/13
ADOBE AIR
AIR API
ActionScript 3.0
AIR
Icon
flash.desktop
1.0
IFilePromise
flash.desktop
2.0
ImageDecodingPolicy
flash.system
2.6
InteractiveIcon
flash.desktop
1.0
InterfaceAddress
flash.net
2.0
InvokeEvent
flash.events
1.0
InvokeEventReason
flash.desktop
1.5.1
IPVersion
flash.net
2.0
IURIDereferencer
flash.security
1.0
LocationChangeEvent
flash.events
2.5
MediaEvent
flash.events
2.5
MediaPromise
flash.media
2.5
MediaType
flash.media
2.5
MXRecord
flash.net.dns
2.0
NativeApplication
flash.desktop
1.0
NativeDragActions
flash.desktop
1.0
NativeDragEvent
flash.events
1.0
NativeDragManager
flash.desktop
1.0
NativeDragOptions
flash.desktop
1.0
NativeMenu
flash.display
1.0
NativeMenuItem
flash.display
1.0
NativeProcess
flash.desktop
2.0
NativeProcessExitEvent
flash.events
2.0
NativeProcessStartupInfo
flash.desktop
2.0
NativeWindow
flash.display
1.0
NativeWindowBoundsEvent
flash.events
1.0
NativeWindowDisplayState
flash.display
1.0
NativeWindowDisplayStateEvent
flash.events
1.0
NativeWindowInitOptions
flash.display
1.0
NativeWindowRenderMode
flash.display
3.0
NativeWindowResize
flash.display
1.0
NativeWindowSystemChrome
flash.display
1.0
NativeWindowType
flash.display
1.0
NetworkInfo
flash.net
2.0
2011/10/13
ADOBE AIR
AIR API
ActionScript 3.0
AIR
NetworkInterface
flash.net
2.0
NotificationType
flash.desktop
1.0
OutputProgressEvent
flash.events
1.0
PaperSize
flash.printing
2.0
PrintMethod
flash.printing
2.0
PrintUIOptions
flash.printing
2.0
PTRRecord
flash.net.dns
2.0
ReferencesValidationSetting
flash.security
1.0
ResourceRecord
flash.net.dns
2.0
RevocationCheckSettings
flash.security
1.0
Screen
flash.display
1.0
ScreenMouseEvent
flash.events
1.0
SecureSocket
flash.net
2.0
SecureSocketMonitor
air.net
2.0
ServerSocket
flash.net
2.0
ServerSocketConnectEvent
flash.events
2.0
ServiceMonitor
air.net
1.0
SignatureStatus
flash.security
1.0
SignerTrustSettings
flash.security
1.0
SocketMonitor
air.net
1.0
SoftKeyboardType
flash.text
3.0
SQLCollationType
flash.data
1.0
SQLColumnNameStyle
flash.data
1.0
SQLColumnSchema
flash.data
1.0
SQLConnection
flash.data
1.0
SQLError
flash.errors
1.0
SQLErrorEvent
flash.events
1.0
SQLErrorOperation
flash.errors
1.0
SQLEvent
flash.events
1.0
SQLIndexSchema
flash.data
1.0
SQLMode
flash.data
1.0
SQLResult
flash.data
1.0
SQLSchema
flash.data
1.0
SQLSchemaResult
flash.data
1.0
2011/10/13
ADOBE AIR
10
AIR API
ActionScript 3.0
AIR
SQLStatement
flash.data
1.0
SQLTableSchema
flash.data
1.0
SQLTransactionLockType
flash.data
1.0
SQLTriggerSchema
flash.data
1.0
SQLUpdateEvent
flash.events
1.0
SQLViewSchema
flash.data
1.0
SRVRecord
flash.net.dns
2.0
StageAspectRatio
flash.display
2.0
StageOrientation
flash.display
2.0
StageOrientationEvent
flash.events
2.0
StageText
flash.text
3.0
StageTextInitOptions
flash.text
3.0
StageWebView
flash.media
2.5
StatusFileUpdateErrorEvent
air.update.events
1.5
StatusFileUpdateEvent
air.update.events
1.5
StatusUpdateErrorEvent
air.update.events
1.5
StatusUpdateEvent
air.update.events
1.5
StorageVolume
flash.filesystem
2.0
StorageVolumeChangeEvent
flash.events
2.0
StorageVolumeInfo
flash.filesystem
2.0
SystemIdleMode
flash.desktop
2.0
SystemTrayIcon
flash.desktop
1.0
TouchEventIntent
flash.events
3.0
UpdateEvent
air.update.events
1.5
Updater
flash.desktop
1.0
URLFilePromise
air.desktop
2.0
URLMonitor
air.net
1.0
URLRequestDefaults
flash.net
1.0
XMLSignatureValidator
flash.security
1.0
2011/10/13
ADOBE AIR
11
AIR API
AIR
flash.desktop
flash.display
Clipboard
supportsFilePromise
2.0
ClipboardFormats
BITMAP_FORMAT
1.0
FILE_LIST_FORMAT
1.0
FILE_PROMISE_LIST_FORMAT
2.0
URL_FORMAT
1.0
childSandboxBridge
1.0
parentSandboxBridge
1.0
assignFocus()
1.0
autoOrients
2.0
deviceOrientation
2.0
nativeWindow
1.0
orientation
2.0
orientationChange
2.0
orientationChanging
2.0
setAspectRatio
2.0
setOrientation
2.0
softKeyboardRect
2.6
supportedOrientations
2.6
supportsOrientationChange
2.0
owner
2.6
listOwnedWindows
2.6
LoaderInfo
Stage
NativeWindow
NativeWindowInitOptions owner
2011/10/13
2.6
ADOBE AIR
12
AIR API
AIR
flash.events
Event
HTTPStatusEvent
KeyboardEvent
CLOSING
1.0
DISPLAYING
1.0
PREPARING
2.6
EXITING
1.0
HTML_BOUNDS_CHANGE
1.0
HTML_DOM_INITIALIZE
1.0
HTML_RENDER
1.0
LOCATION_CHANGE
1.0
NETWORK_CHANGE
1.0
STANDARD_ERROR_CLOSE
2.0
STANDARD_INPUT_CLOSE
2.0
STANDARD_OUTPUT_CLOSE
2.0
USER_IDLE
1.0
USER_PRESENT
1.0
HTTP_RESPONSE_STATUS
1.0
responseHeaders
1.0
responseURL
1.0
commandKey
1.0
controlKey
1.0
2011/10/13
ADOBE AIR
13
AIR API
AIR
flash.net
FileReference
NetStream
URLRequest
URLStream
extension
1.0
httpResponseStatus
1.0
uploadUnencoded()
1.0
drmAuthenticate
1.0
onDRMContentData
1.5
preloadEmbeddedData()
1.5
resetDRMVouchers()
1.0
setDRMAuthenticationCredentials()
1.0
authenticate
1.0
cacheResponse
1.0
followRedirects
1.0
idleTimeout
2.0
manageCookies
1.0
useCache
1.0
userAgent
1.0
httpResponseStatus event
1.0
2011/10/13
ADOBE AIR
14
AIR API
AIR
flash.printing
PrintJob
active
2.0
copies
2.0
firstPage
2.0
isColor
2.0
jobName
2.0
lastPage
2.0
maxPixelsPerInch
2.0
paperArea
2.0
printableArea
2.0
printer
2.0
printers
2.0
selectPaperSize()
2.0
showPageSetupDialog()
2.0
start2()
2.0
supportsPageSetupDialog
2.0
terminate()
2.0
pixelsPerInch
2.0
printMethod
2.0
Capabilities
languages
1.1
LoaderContext
allowLoadBytesCodeExecution
1.0
Security
APPLICATION
1.0
KeyLocation
D_PAD
2.5
PrintJobOptions
flash.system
flash.ui
AIR URLRequest
AIR Flex
Adobe AIR Adobe Flex MX
FileEvent
FileSystemComboBox
FileSystemDataGrid
FileSystemEnumerationMode
2011/10/13
ADOBE AIR
15
AIR API
FileSystemHistoryButton
FileSystemList
FileSystemSizeDisplayMode
FileSystemTree
FlexNativeMenu
HTML
Window
WindowedApplication
WindowedSystemManager
Flex 4 spark AIR
Window
WindowedApplication
AIR Flex Flex AIR
2011/10/13
16
Adobe AIR SDK 16 AIR SDK 125 AIR Developer Tool (ADT)
Adobe Dreamweaver CS3 CS4 CS5 Dreamweaver AIR
AIR SDK
Adobe AIR SDK
AIR Debug Launcher (ADL) AIR 121 AIR Debug Launcher
(ADL)
AIR Development Tool (ADT) AIR 125 AIR Developer Tool
(ADT)
AIR Java JRE JDK 1.5 Java
/http://java.sun.com/ Java JRE Java JDK
ADT 2GB
AIR Java
AIR SDK
AIR SDK
Windows AIR SDK
AIR SDK
AIR SDK AIR SDK
AIR SDK
2011/10/13
ADOBE AIR
17
/Users/<userName>/Applications/AIRSDK
ADL ADT AIR SDK bin PATH
Linux AIR SDK
SDK tbz2
SDK SDK tar -jxvf <path to AIR-SDK.tbz2>
AIR SDK AIR
AIR SDK
AIR SDK
SDK
bin
frameworks
libs AIR
projects SWF SWC
include
include C
install
lib
AIR SDK
runtimes
AIR
ADL AIR
Android AIR APK Android
APK Android Market
Android AIR
samples
(badge.swf) AIR
templates
descriptor-template.xml - AIR
154 AIR
AIR XML
Flex SDK
Adobe Flex Adobe AIR
2011/10/13
ADOBE AIR
18
Flex SDK
AIR Java JRE JDK 1.5 Java
http://java.sun.com/ Java JRE JDK
AIR Java
ditto
AIR SDK Flex SDK ditto air_sdk_folder flex_sdk_folder
4 AIR bin
SDK
Android iOS SDK
Android SDK Android SDK AIR 2.6 Android
2011/10/13
19
5 : AIR
Flash Builder Flex AIR
Adobe AIR Adobe Flash Builder
SWF AIRHello World
Flash Builder Adobe AIR
www.adobe.com/go/air_cn
AIR
Flash Builder AIR
Flash Builder Flex Builder AIR Flex
1 Flash Builder
2 > >Flex
3 AIRHelloWorld
4 Flex AIR
Adobe Flash Player Web
Adobe AIR
Desktop
AIR
Hello World MXML (AIRHelloWorld.mxml)
Project Navigator
Flex AIR MXML WindowedApplication MXML WindowedApplication
2011/10/13
ADOBE AIR
20
AIR
3 Label WindowedApplication
<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>
2 Flash Builder
3 XML systemChrome transparent initialWindow "<!--"
"-->"
4 systemChrome none
<systemChrome>none</systemChrome>
5 transparent true
<transparent>true</transparent>
2011/10/13
ADOBE AIR
21
AIR
AIR
> >AIRHelloWorld
AIR
Flash Builder
AIR
Hello World AIR AIR
bin SWF XML AIR
1
2 >
3 AIRHelloWorld AIRHelloWorld.mxml
4 AIR
5
6
7
8 AIRHelloWorld.air AIR
Flash Builder Project Navigator AIR
2011/10/13
ADOBE AIR
22
AIR
1 Flash
2 AIR Adobe AIR FLA
3 15-20
4 Hello World
5 HelloAIR
Hello World
2011/10/13
ADOBE AIR
23
AIR
1 >
2 Adobe AIR
a
b /
c 1024-RSA 1024 2048-RSA 2048
d ...
C:/Temp/mycert.pfx
e Flash
b Adobe AIR
143 AIR
4 AIR (application.air)
5
6
7
AIR for Android Adobe Labs Flash Professional CS5 for Android
Android Android SDK Android SDK
3 HelloWorld.fla
Hello, World!
1 >AIR Android
2
HelloWorld.apk
2011/10/13
ADOBE AIR
24
AIR
HelloWorld
IDHelloWorld
0.0.1
3
AIR Android Marketplace
Android 2033
Android
Android SDK ADB
4 Android
AIR for Android
5
Android
iOS AIR
AIR 2.6 iOS 4.2
Adobe iOS iOS iOS
Apple iOS iOS iOS
Provisioning Portal Apple
ID
1 HelloWorld.as
2011/10/13
ADOBE AIR
25
AIR
2
package{
import
import
import
import
flash.display.Sprite;
flash.text.TextField;
flash.text.TextFormat;
flash.text.TextFieldAutoSize;
3 amxmlc
amxmlc HelloWorld.as
SWF HelloWorld.swf
amxmlc 237
amxmlc
iOS iTunes
1
2 PNG Icon_29.png Icon_57.png Icon_512.png
3 PNG 2929 5757 512512
PNG
iPhone iPhone PNG
1 Default.png PNG
Default.png D
2 320 480
71
2011/10/13
ADOBE AIR
26
AIR
2 XML
<?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>
4 ADL
adl HelloWorld-app.xml -screensize iPhone
IPA
ADT IPA Apple P12 Apple
2011/10/13
ADOBE AIR
27
AIR
iOS
1 iTunes
2 iTunes iTunes >
mobileprovision
56 iOS
3 iTunes iTunes
4 IPA iTunes
5 USB
6 iTunes
7 iTunes Hello World
iPhone
iTunes
ID
Default.png 25
PNG iPhone
Hello World!
1 Hello World
/ iPhone
2 iPhoto Mac OS
Photos
3 PNG Default.png
4 26 IPA
2011/10/13
ADOBE AIR
28
AIR
3 Hello World!
Adobe AIR
1 Dreamweaver hello_world.html
2 >Air
AIR
3 hello_world.html
4
Adobe AIR
5 AIR
Dreamweaver
7
8
2011/10/13
ADOBE AIR
29
AIR
AIR
Dreamweaver AIR
9 AIR
2 .air
Adobe AIR
AIR
1 Dreamweaver hello_world.html
2011/10/13
ADOBE AIR
30
AIR
2 / AIR
Ctrl+Shift+F12 (Windows) Cmd+Shift+F12 (Macintosh)
World
AIR SDK AIR Debug Launcher (ADL) AIR Developer Tool
(ADT) ADL ADT AIR SDK bin 16 AIR SDK
extendedDesktop HTML AIR tv
1 HelloWorld
2 HelloWorld-app.xml XML
3 HelloWorld.html HTML
4 AIR SDK frameworks AIRAliases.js
AIR
AIR XML
<application xmlns="...">
<id></id>
<versionNumber></versionNumber>
<filename></filename>
<initialWindow>
<content></content>
<visible></visible>
<width></width>
<height></height>
</initialWindow>
</application>
1 HelloWorld-app.xml
2 <application> AIR
<application xmlns="http://ns.adobe.com/air/application/2.7"> 2.7
3 <id>
2011/10/13
ADOBE AIR
31
AIR
<id>examples.html.HelloWorld</id> ID ID AIR
ID
4 <versionNumber>
<versionNumber>0.1</versionNumber>
AIR 2 <version> <versionNumber>
5 <filename>
<filename>HelloWorld</filename>
6 <initialWindow>
<content>HelloWorld.html</content> AIR HTML
<visible>true</visible>
<width>400</width>
<height>200</height>
7
<?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>
154 AIR
HTML
HTML AIR
1 HelloWorld.html HTML
<html>
<head>
<title>Hello World</title>
</head>
<body onLoad="appLoad()">
<h1>Hello World</h1>
</body>
</html>
2011/10/13
ADOBE AIR
32
AIR
4
HelloWorld.html
<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>
1
2
adl HelloWorld-app.xml
AIR air.trace()
154 AIR
AIR
ADT AIR AIR
Adobe AIR AIR
AIR ADT
VeriSign Thawte AIR
AIR
AIR AIR AIR
AIR ActionScript AIR HTML
2011/10/13
ADOBE AIR
33
AIR
adt -package -storetype pkcs12 -keystore sampleCert.pfx HelloWorld.air
HelloWorld-app.xml HelloWorld.html AIRAliases.js
keystore
AIR
XML
<application xmlns="...">
<id>...</id>
<versionNumber>...</versionNumber>
<filename></filename>
<initialWindow>
<content></content>
<visible></visible>
<width></width>
<height></height>
</initialWindow>
</application>
1 HelloWorld-app.xml XML
2011/10/13
ADOBE AIR
34
AIR
2 <application> AIR
<application xmlns="http://ns.adobe.com/air/application/2.7"> 2.7
3 <id>
<id>samples.flex.HelloWorld</id> ID ID AIR
DNS "com.company.AppName"
ID
4 <versionNumber>
<versionNumber>1.0</versionNumber>
AIR 2 <version> <versionNumber>
5 <filename>
<filename>HelloWorld</filename>
6 <initialWindow>
<content>HelloWorld.swf</content> AIR SWF
<visible>true</visible>
<width>400</width>
<height>200</height>
7
<?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>
154 AIR
1 HelloWorld.mxml MXML
2011/10/13
ADOBE AIR
35
AIR
2 Label WindowedApplication
3 Label text "Hello AIR"
4
1 AIR
2
amxmlc HelloWorld.mxml
amxmlc HelloWorld.swf
amxmlc
2011/10/13
ADOBE AIR
36
AIR
adl HelloWorld-app.xml
AIR
AIR
ADT AIR AIR
Adobe AIR AIR
AIR ADT
AIR
AIR AIR
AIR AIR AIR
ActionScript AIR HTML
adt -package -storetype pkcs12 -keystore sampleCert.pfx HelloWorld.air
HelloWorld-app.xml HelloWorld.swf
keystore Enter
AIR AIR
46 AIR
2011/10/13
ADOBE AIR
37
AIR
AIR
XML
<application xmlns="...">
<id>...</id>
<versionNumber>...</versionNumber>
<filename></filename>
<initialWindow>
<content></content>
</initialWindow>
<supportedProfiles>...</supportedProfiles>
</application>
1 HelloWorld-app.xml XML
2 <application> AIR
<application xmlns="http://ns.adobe.com/air/application/2.7"> 2.7
3 <id>
<id>samples.android.HelloWorld</id> ID ID AIR
DNS "com.company.AppName"
4 <versionNumber>
<versionNumber>0.0.1</versionNumber>
5 <filename>
<filename>HelloWorld</filename>
6 <initialWindow>
<content>HelloWorld.swf</content> AIR HTML
7 <supportedProfiles>
<supportedProfiles>mobileDevice</supportedProfiles>
8
<?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>
2011/10/13
ADOBE AIR
38
AIR
HelloWorld.as
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 );
}
}
}
1 AIR
2
amxmlc HelloWorld.as
amxmlc HelloWorld.swf
amxmlc
adl HelloWorld-app.xml
80 ADL
APK
ADT AIR APK
Android
2011/10/13
ADOBE AIR
39
AIR
certificate
AIR
adt -package -target apk -storetype pkcs12 -keystore sampleCert.p12 HelloWorld.apk HelloWorld-app.xml
HelloWorld.swf
keystore Enter
74 AIR
AIR
Android Market AIR Android SDK
adt -installRuntime -platform android -platformsdk
adt -installApp -platform android -platformsdk path-to-android-sdk -package path-to-app
2011/10/13
40
6 : AIR
AIR
AIR
API NativeProcess
AIR
SWF
1 MXML ActionScript
2
3
4 ActionScript
5
6 air AIR
HTML
1 HTML JavaScript
2
3
4
5 air AIR
AIR
1 ActionScript HTML JavaScript
2
3 extendedDesktop
4 ActionScript
5
2011/10/13
ADOBE AIR
41
AIR
6 native
Mac Windows
VMWare
AIR
1 ActionScript HTML JavaScript
2
3 extendedDesktop
4 ActionScript
5
6 bundle
7 AIR SDK
Mac Windows VMWare
AIR
AIR
application AIR 1.5
AIR 3.0 AIR 1.5 AIR 3.0
WebKit
application xmlns :
<application xmlns="http://ns.adobe.com/air/application/3.0">
158 application
ID
<id>com.example.MyApplication</id>
<name>My Application</name>
<filename>MyApplication</filename>
2011/10/13
ADOBE AIR
42
AIR
169 id
165 filename
176 name
182 version
183 versionLabel
183 versionNumber
SWF HTML
<initialWindow>
<content>MyApplication.swf</content>
</initialWindow>
height
maximizable
maxSize
minimizable
minSize
renderMode AIR 3 auto cpu direct gpu
AIR renderMode
auto cpu
2011/10/13
ADOBE AIR
43
AIR
direct StageVideo
Stage3D true
gpu
resizable
systemChrome systemChrome
title
transparent alpha
visible
width
x
y
162 content
168 height
175 maximizable
175 maxSize
176 minimizable
176 minimizable
176 minSize
178 renderMode
179 resizable
181 systemChrome
182 title
182 transparent
183 visible
184 width
184 x
185 y
2011/10/13
ADOBE AIR
44
AIR
fileTypes
AIR NativeApplication setAsDefaultApplication()
-bundle
installFolder
programMenuFolder Windows
163 customUpdateUI
167 fileTypes
172 installFolder
177 programMenuFolder
NativeProcess extendedDesktop
supportedProfile
<supportedProfiles>desktop extendedDesktop</supportedProfiles>
180 supportedProfiles
extendedDesktop
AIR
<extensions>
<extensionID> com.example.extendedFeature</extensionID>
<extensionID> com.example.anotherFeature</extensionID>
</extensions>
16x16
2011/10/13
ADOBE AIR
45
AIR
<icon>
<image16x16>assets/icon16.png</image16x16>
<image32x32>assets/icon32.png</image32x32>
<image48x48>assets/icon48.png</image48x48>
<image128x128>assets/icon128.png</image128x128>
</icon>
168 icon
169 imageNxN
android
aspectRatio
autoOrients
fullScreen
iPhone
renderMode AIR 3
requestedDisplayResolution
softKeyboardBehavior
AIR
IDE Flash Builder Flash Professional Dreamweaver
IDE AIR Debug Launcher (ADL) Flash
Debugger (FDB)
De MonsterMonster Debugger
218 AIR HTML
ADL
ADL AIR ADL
ActionScript
adl myApplication-app.xml
ADL AIR
adl -extdir extensionDirs myApplication-app.xml
2011/10/13
ADOBE AIR
46
AIR
trace
trace ADL trace() trace
ActionScript
//ActionScript
trace("debug message");
JavaScript
//JavaScript
air.trace("debug message");
4 FDB
5 continue [Enter]
AIR SWF ActionScript AIR HTML
JavaScript
ADL -nodebug
adl myApp.xml -nodebug
FDB help
<fdb>help [Enter]
FDB Flex
AIR
AIR SWF HTML
AIR
2011/10/13
ADOBE AIR
47
AIR
ASCII
2011/10/13
ADOBE AIR
48
AIR
ADT AIR
AIR ADT
AIR
AIR
180 AIR
-migrate 130 ADT migrate
180
AIR 1.5.3
AIR
AIR 1.1 SDK 1.1
AIR ADT
AIR supportedProfiles 186
180 supportedProfiles
AIR 154 AIR
ID
AIR 1.5.3 ID AIR 1.5.3 ID
AIR ID
ID publisherID
ID META-INF/AIR publisherid
ID ID AIR 1.5.3
AIR
AIR API
OSID /
AIR 1.5.3
ID ID ID AIR
Flash AIR ID
AIR 1.5.3 ID publisherID
AIR ID ID
ADT
AIR ADT AIR ActionScript MXML
2011/10/13
ADOBE AIR
49
AIR
myApp-app.xml
myApp.swf
ADT keystore Enter
AIRI AIR
AIRI AIR
adt -sign -storetype pkcs12 -keystore ../codesign.p12 myApp.airi myApp.air
SWF HTML
AIR AIRI
ADT Windows EXE
Windows ADT Mac OS DMG Mac OS ADT Linux DEB RPG
Linux AIR 2.6 SDK ADT
AIR
NativeProcess
AIR ActionScript
AIR HTML
File.openWithDefaultApplication()
File.openWithDefaultApplication()
AIR
updater
2011/10/13
ADOBE AIR
50
AIR
AIR 2
Mac
Linux chmod
-package
adt -package AIR_SIGNING_OPTIONS
-target native
[WINDOWS_INSTALLER_SIGNING_OPTIONS]
installer_file
app_xml
[file_or_dir | -C dir file_or_dir | -e file dir ...] ...
AIR
Windows
-target ADT 125 AIR Developer Tool (ADT)
DMG Mac OS
adt -package
-storetype pkcs12
-keystore myCert.pfx
-target native
myApp.dmg
application.xml
index.html resources
EXE Windows
adt -package
-storetype pkcs12
-keystore myCert.pfx
-target native
myApp.exe
application.xml
index.html resources
EXE
adt -package
-storetype pkcs12
-keystore myCert.pfx
-target native
-storetype pkcs12
-keystore myCert.pfx
myApp.exe
application.xml
index.html resources
2011/10/13
ADOBE AIR
51
AIR
-package
-extdir extension-directory
ANE
ADT 125 AIR Developer Tool (ADT)
DMG Mac OS
adt -package
-storetype pkcs12
-keystore myCert.pfx
-target native
myApp.dmg
application.xml
-extdir extensionsDir
index.html resources
AIR AIRI
ADT AIR AIRI AIR
ADT -package
adt -package
-target native
[WINDOWS_INSTALLER_SIGNING_OPTIONS]
installer_file
air_file
AIR
AIR AIR
AIR
AIRI ADT -package
adt AIR_SIGNING_OPTIONS
-package
-target native
[WINDOWS_INSTALLER_SIGNING_OPTIONS]
installer_file
airi_file
AIR
AIRI
AIR
AIR DMG Mac OS
adt -package -target native myApp.dmg myApp.air
2011/10/13
ADOBE AIR
52
AIR
AIR EXE
adt -package -target native -storetype pkcs12 -keystore myCert.pfx myApp.exe myApp.air
Internet
NativeProcess API
File.openWithDefaultApplication()
USB
Adobe
.air
AIR API
AIR AIR API
Windows
2011/10/13
ADOBE AIR
53
AIR
Windows
Windows Windows ADT bundle
adt -package
-keystore ..\cert.p12 -storetype pkcs12
-target bundle
myApp
myApp-app.xml
myApp.swf icons resources
myApp
URI AIR SDK
Windows
fileTypes
Windows MSDN Library: File Types and File Associations
URI
URI URL
URI MSDN Library: Registering an Application to a URL Protocol
Mac OS X
Mac OS X Macintosh ADT bundle
adt -package
-keystore ../cert.p12 -storetype pkcs12
-target bundle
myApp.app
myApp-app.xml
myApp.swf icons resources
myApp.app myApp.app
Applications URI
Mac OS X info.plist
2011/10/13
ADOBE AIR
54
AIR
AIR
AIR AIR
CD-ROM AIR AIR
API Web ActionScript AIR Adobe AIR
AIR
AIR AIR
AIR
1 AIR
Adobe AIR
2
Windows AIR
Program Files
/
Mac OS Applications
AIR
AIR ID ID
3
Mac OS
Windows Linux
ActionScript JavaScript 197 AIR
AIR
Windows
Linux
Mac OS /Applications
AIR 2.6 AIR Linux
2011/10/13
ADOBE AIR
55
AIR
AIR
AIR API AIR AIR API Adobe SWF air.swf
AIR SDK AIR
Web air.swf
AIR
<allowBrowserInvocation>true</allowBrowserInvocation>
Adobe AIR
AIR
Adobe AIR (http://www.adobe.com/go/learn_air_admin_guide_cn)
AIR AIR
Mac (/private/var/log/system.log)
Mac
2011/10/13
56
7 : AIR
AIR AIR AIR
Android APK iOS IPA
RIMBlackBerry Tablet OS
AIR 2.6 SDK iOS AIR 2.6+ iOS 4
Android
AIR 2.6+ Android Android ADB AIR SDK lib/android/bin
AIR SDK ADB ADB
Android Android SDK
<manifestAdditions> AIR
Android SDK AIR_ANDROID_SDK_HOME -platformsdk SDK
AIR ADT SDK <manifestAdditions>
AIR 2.5 Google Android SDK AIR_ANDROID_SDK_HOME
Android SDK ADT -platformsdk Android
SDK
141 ADT
237
iOS
iOS Apple iOS
iOS iOS Provisioning Portal Apple
ID
2011/10/13
ADOBE AIR
57
AIR
AIR 4
14
2011/10/13
ADOBE AIR
58
AIR
AIR Android
Android READ_PHONE_STATE Android
65 Android
44
57
Android
URL
AIR File
Android iOS
2011/10/13
ADOBE AIR
59
AIR
Android
iOS
File.applicationDirectory
URL
File.applicationStorageDirectory
File.desktopDirectory
SDCard
File.documentsDirectory
SDCard
File.userDirectory
SDCard
File.createTempDirectory()
File.createTempFile()
UI
Adobe Flex http://labs.adobe.com/technologies/flex/mobile/
AIR
AIR
AIR for Android Android APK AIR
Android
ActionScript MXML
AIR 2.5
Android (.apk)
Android AIR
Android
Adobe Flash Builder Adobe Flash Professional CS5
AIR APK Android Market
2011/10/13
ADOBE AIR
60
AIR
iTunes
Apple iOS Provisioning Portal ID
ID
ID
P12 keystore
ActionScript MXML
ActionScript MXML
2.6
ADT IPA
iTunes
iOS iTunes IPA
AIR Apple
AIR
Android android
iOS iPhone
AIR
AIR
application AIR 2.7
AIR 2.7
Android AIR
iPhone
application xmlns
2011/10/13
ADOBE AIR
61
AIR
AIR 2.0 SDK Packager for iPhone SDK iOS 3 iOS 3 AIR
158 application
ID
Android ID
Android AIR ID air. Android AIR ID
com.example.MyApp Android air.com.example.MyApp
<id>com.example.MyApp</id>
<name>My Application</name>
<filename>MyApplication</filename>
ID Android ID
A ID3-goats.1-boatair.A3_goats.A1_boat
ID Android Market AIR
Apple ID 5RM86Z4DJM.com.example.helloWorld
com.example.helloWorld
Apple ID 96LPVWEASL.com.example.* ID
com.example.helloWorld com.example.anotherApp com.example ID
ID
ID ID ID
169 id
165 filename
176 name
2011/10/13
ADOBE AIR
62
AIR
c AIR a.b.c
182 version
183 versionLabel
183 versionNumber
SWF
initialWindow content SWF SWF
HTML
<initialWindow>
<content>MyApplication.swf</content>
</initialWindow>
initialWindow
aspectRatio portrait landscape
<aspectRatio>landscape</aspectRatio>
autoOrients
false
<autoOrients>true</autoOrients>
fullScreen
<fullScreen>true</fullScreen>
GPU
<renderMode>gpu</renderMode>
2011/10/13
ADOBE AIR
63
AIR
GPU
Flex GPU
PixelBender
Alpha
GPU
GPU
softKeyboardRect
GPU
AIR 2.6 iOS GPU AIR 2.0
161 aspectRatio
161 autoOrients
167 fullScreen
178 renderMode
supportedProfiles mobileDevice
Adobe Debug Launcher (ADL) ADL
ADL -profile
supportedProfiles ADL
<supportedProfiles>mobileDevice desktop</supportedProfiles>
180 supportedProfiles
186
121 AIR Debug Launcher (ADL)
mobileDevice
AIR
<extensions>
<extensionID> com.example.extendedFeature</extensionID>
<extensionID> com.example.anotherFeature</extensionID>
</extensions>
2011/10/13
ADOBE AIR
64
AIR
softKeyboardBehavior none
softKeyboardRect SoftKeyboardEvent
pan
<softKeyboardBehavior>pan</softKeyboardBehavior>
pan softKeyboardBehavior
GPU
179 softKeyboardBehavior
Stage.softKeyboardRect
SoftKeyboardEvent
Android
Android android Android Android
APK ADT Android Manifest.xml AIR
AIR android Manifest.xml
Android
AIR Android
manifest
manifest
package
android:versionCode
android:versionName
xmlns:android
activity
activity
android:label
android:icon
2011/10/13
ADOBE AIR
65
AIR
application
application
android:theme
android:name
android:label
android:windowSoftInputMode
android:configChanges
android:screenOrientation
android:launchMode
uses-sdk
uses-sdk
Android
Android
Android
Android
Android
AIR android Android
PERMISSION_NAME Android
<android>
<manifestAdditions>
<![CDATA[
<manifest>
<uses-permission android:name="android.permission.PERMISSION_NAME" />
</manifest>
]]>
</manifestAdditions>
</android>
INTERNET
READ_PHONE_STATE AIR
RECORD_AUDIO
WAKE_LOCK DISABLE_KEYGUARD SystemIdleMode
WRITE_EXTERNAL_STORAGE
2011/10/13
ADOBE AIR
66
AIR
<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" />
Android
Android Manifest.permission
Android URI
URI Android AIR URI Android
Android URI
URI
2011/10/13
ADOBE AIR
67
AIR
InvokeEvent arguments
StageWebView URI URL
Android
Android
Android
Android
Android Android
Android
supports-screens
uses-configuration
uses-feature
Android
uses-feature
Android Market
<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>
Android
<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>
2011/10/13
ADOBE AIR
68
AIR
Android Android
Android Android
<android>
<manifestAdditions>
<![CDATA[
<manifest android:installLocation="preferExternal"/>
]]>
</manifestAdditions>
</android>
Android
File.userDirectory
File.documentsDirectory Android SD SDCard
2011/10/13
ADOBE AIR
69
AIR
AIR 3+
AIR 3 32 AIR 16
<colorDepth> 16
<android>
<colorDepth>16bit</colorDepth>
<manifestAdditions>...</manifestAdditions>
</android>
16
iOS
iOS <iPhone> iPhone InfoAdditions
requestedDisplayResolution
InfoAdditions Info.plist
Wi-Fi
<InfoAdditions>
<![CDATA[
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleBlackOpaque</string>
<key>UIRequiresPersistentWiFi</key>
<string>NO</string>
]]>
</InfoAdditions>
InfoAdditions CDATA
Info.plist Apple
iOS InfoAdditions
AIR Info.plist
CFBundleDisplayName
CTAutoOrients
CFBundleExecutable
CTInitialWindowTitle
CFBundleIconFiles
CTInitialWindowVisible
CFBundleIdentifier
DTPlatformName
CFBundleInfoDictionaryVersion
DTSDKName
CFBundlePackageType
MinimumOSVersion
CFBundleResourceSpecification
NSMainNibFile
CFBundleShortVersionString
UIInterfaceOrientation
CFBundleSupportedPlatforms
UIStatusBarHidden
CFBundleVersion
UISupportedInterfaceOrientations
2011/10/13
ADOBE AIR
70
AIR
iOS
iPad InfoAdditions UIDeviceFamily UIDeviceFamily
<string>1</string> iPhone iPod Touch <string>2</string>
iPad iPad
<key>UIDeviceFamily</key>
<array>
<string>2</string>
</array>>
179 requestedDisplayResolution
iOS URI
URI URI
CFBundleURLTypes InfoAdditions com.example.app URI
example://foo URL
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>example</string>
</array>
<key>CFBundleURLName</key>
<string>com.example.app</string>
</dict>
</array>
2011/10/13
ADOBE AIR
71
AIR
iOS
InfoAdditions
UIRequiredDeviceCapabilities
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>microphone</string>
<string>still-camera</string>
</array>
AIR
telephony
camera-flash
wifi
video-camera
sms
accelerometer
still-camera
location-services
auto-focus-camera
gps
front-facing-camera
microphone
AIR
UIApplicationExitsOnSuspend YES
<key>UIApplicationExitsOnSuspend</key>
<true/>
29x29
iOS
36x36
Android
48x48
Android, iOS
57x57
iOS
72x72
Android, iOS
114x114
iOS
512x512
iOS
2011/10/13
ADOBE AIR
72
AIR
<icon>
<image36x36>assets/icon36.png</image36x36>
<image48x48>assets/icon48.png</image48x48>
<image72x72>assets/icon72.png</image72x72>
</icon>
Android
Android Launcher Launcher 36x36
48x48 72x72 PNG
iOS
iOS
iOS
InfoAdditions
<InfoAdditions>
<![CDATA[
<key>UIPrerenderedIcon</key>
<true/>
]]>
</InfoAdditions>
168 icon
169 imageNxN
Android
iOS
iOS
Default.png
URL
2011/10/13
ADOBE AIR
73
AIR
UILaunchImageFile
640x960
iPad (1024x748) (768x1004) iPad
URL
example://
Default.png
320 x 480
iPhone
Default@2x.png
640 x 960
iPhone
Default-Portrait.png
768 x 1004
iPad
Default-PortraitUpsideDown.png
768 x 1004
iPad
Default-Landscape.png
1024 x 748
iPad
Default-LandscapeRight.png
1024 x 748
iPad
Default-example.png
320 x 480
Default-example@2x.png
640 x 960
Default-example~ipad.png
768 x 1004
Default-example-Landscape.png
1024 x 748
2011/10/13
ADOBE AIR
74
AIR
1 iOS
/
2 iPhoto
allowBrowserInvocation
customUpdateUI
fileTypes
height
installFolder
maximizable
maxSize
minimizable
minSize
programMenuFolder
resizable
systemChrome
title
transparent
visible
width
x
y
AIR
ADT -package AIR -target
Android
Android AIR Android (APK) AIR
2011/10/13
ADOBE AIR
75
AIR
iOS
iOS AIR iOS (IPA) AIR
ADT ipa-app-store Apple
ipa-ad-hoc
Apple
ADT
AIR SDK 2.6 iOS Android ActionScript MXML
Android APK
APK
APK ADT apk apk-debug
apk-emulator
adt -package
-target apk
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
ADT
shell 237
myApp-app.xml
myApp.swf
ADT keystore Enter
2011/10/13
ADOBE AIR
76
AIR
APK
APK -extdir
ANE
adt -package
-target apk
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
-extdir extensionsDir
myApp.swf icons
AIR APK
AIR APK apk-captive-runtime
ANE
adt -package
-target apk-captive-runtime
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
Adobe
RAM
ADT INTERNET BROADCAST_STICKY AIR
APK
apk-debug
adt -package
-target apk-debug
-connect 192.168.43.45
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
2011/10/13
ADOBE AIR
77
AIR
adt -package
-target apk-debug
-listen 7936
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
Android
APK Android
Android APK APK
ADT package apk-emulator
adt -package -target apk-emulator -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp-app.xml
myApp.swf icons
iOS
iOS ADT SWF iOS
1 iPhone
2 ADT IPA
adt -package
-target [ipa-test | ipa-debug | ipa-app-store | ipa-ad-hoc]
-provisioning-profile PROFILE_PATH
SIGNING_OPTIONS
TARGET_IPA_FILE
APP_DESCRIPTOR
SOURCE_FILES
-extdir extension-directory
-connect
-connect IP_ADDRESS IP
-target ipa-debug -connect 192.0.32.10
2011/10/13
ADOBE AIR
78
AIR
-connect HOST_NAME
-target ipa-debug -connect bobroberts-mac.example.com
-connect
IP wifi
80 AIR
Default.png
-extdir extension-directory ANE
Resources IPA
Resources
iOS
iOS ADT package ios-debug
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
ADT
shell 237
myApp-app.xml
myApp.swf Default.png
Apple
-connect IP Flash (FDB)
81 Flash
iOS Apple
iOS Apple ADT package ios-app-store
Apple
2011/10/13
ADOBE AIR
79
AIR
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
ADT
shell 237
myApp-app.xml
myApp.swf Default.png
Apple
Apple Application Loader Apple Mac OS X
ADT
shell 237
myApp-app.xml
myApp.swf Default.png
Apple
iOS
iOS -extdir ADT ipa-app-store ipa-debug
2011/10/13
ADOBE AIR
80
AIR
AIR
AIR ADL
Flash
ADL
Adobe Debug Launcher (ADL)
ADL supportedProfiles
ADL ADL -profile supportedProfiles
supportedProfiles -profile
ADL ADL
ADL ADL
autoOrients true
ADL -screensize
ADL Motorola Droid
121 ADL
2011/10/13
ADOBE AIR
81
AIR
ADL API
Speex AAC
RTMPE
ActionScript SWF
PixelBender
ADL
Trace
trace ADL
trace
trace
SWF trace
Android trace
Android Android SDK Android Debug Bridge (ADB)
Android trace
iOS trace
iOS trace Flash (FDB)
Flash
Flash
Android android:permission.INTERNET
SWF
Android -target apk-debug iOS -target ipa-debug -connect
USB IP Flash
TCP 7935
2011/10/13
ADOBE AIR
82
AIR
Flash Professional
1 AIR Android
2
Android
Android
Android SDK
3
4 AIR Android
5 Flash Professional > >ActionScript 3
Flash Professional
6
7 Adobe AIR Flash IP
FDB
Flash Debugger (FDB)
AMXMLC FDB ADT
Flex AIR SDK bin
1
2 amxmlc
amxmlc -debug DebugExample.as
3 apk-debug 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
IP -connect IP
4
Android ADT -installApp
adt -installApp -platform android -package DebugExample.apk
iOS iTunes
5 FDB
fdb
6 FDB run
2011/10/13
ADOBE AIR
83
AIR
7
8 Adobe AIR -
connect IP
TCP 7935
USB FDB
AIR 2.6 Android
USB -listen -connect -listen
TCP 7936 Flash (FDB) -p FDB FDB
Flash AIR Android SDK
3 apk-debug -listen
adt -package -target apk-debug -listen -storetype pkcs12 -keystore ../../AndroidCert.p12 DebugExample.apk
DebugExample-app.xml DebugExample.swf
4 USB USB
5
ADT -installApp
adt -installApp -platform android -package DebugExample.apk
7
8 -p FDB
fdb -p 7936
9 FDB run
2011/10/13
ADOBE AIR
84
AIR
10 FDB
11 FDB break continue
(fdb) run
Player connected; session starting.
Set breakpoints and then type 'continue' to resume the session.
[SWF] Users:juser:Documents:FlashProjects:DebugExample:DebugExample.swf - 32,235 bytes after
decompression
(fdb) break clickHandler
Breakpoint 1 at 0x5993: file DebugExample.as, line 14
(fdb) continue
AIR AIR
AIR AIR
Android Android Market
Web
Android AIR Market
iOS Apple
AIR
AIR
ADT AIR AIR Android
iOS iTunes Apple
AIR iOS
ADT AIR
AIR ADT IDE
ADT
AIR ADT AIR SDK -installRuntime
adt -installRuntime -platform android -device deviceID -package path-to-runtime
-device -platform
android
AIR AIR
2011/10/13
ADOBE AIR
85
AIR
iOS AIR
iOS AIR
1 iTunes
2 iTunes iTunes >
mobileprovision
3 iTunes iTunes
4 IPA iTunes
5 USB
6 iTunes
7 iTunes Hello World
iPhone
iTunes
ID
AIR
AIR AIR ADT
adt -launchApp -platform android -device deviceID -appid applicationID
AIR
AIR ADT AIR
-uninstallRuntime
adt -uninstallRuntime -platform android -device deviceID
-uninstallApp
adt -uninstallApp -platform android -device deviceID -appid applicationID
-device -platform
android
AIR SDK
AIR AIR
2011/10/13
ADOBE AIR
86
AIR
Android
1 Android SDK AVD Manager
Windows Android SDK SDK Setup.exe
Mac OS Android SDK android
2 Settings Force https://
3 Available Packages Android SDK
4 Android SDK Android 2.2 Install Selected
5 Virtual Devices New
6
API Android 2.2 API 8
SD 1024
HVGA
7 Create AVD
Virtual Device
Virtual Device
http://developer.android.com/guide/developing/tools/othertools.html#android
http://developer.android.com/guide/developing/tools/emulator.html
AIR
AIR
Market
AIR AIR Updater
Android AIR
Android Market Market AIR
Market
APK
AIR ID
versionNumber versionLabel
2011/10/13
ADOBE AIR
87
AIR
Android Market
iOS AIR
iTunes AIR Apple
AIR
Apple ID
IPA Apple Bundle ID
iOS 3 iOS 3
2 AIR 2.6
2011/10/13
88
8 : AIR
Adobe AIR Adobe AIR
AIR SWF HTML AIR
AIR AIR
AIR
AIR AIR
tv AIR AIR
extendedTV AIR
186 ActionScript Adobe Flash Platform
AIR 90
AIR
AIR
Adobe Adobe
Adobe
AIR Adobe Flash Access
Flash Access
HTTP Flash Media Server RTMP
HTTP
AIR RTMPE RTMP Flash
2011/10/13
ADOBE AIR
89
AIR
Stage 3D
AIR 3 AIR Stage 3D Stage3D ActionScript API 2D 3D
GPU API API GPU
Stage3D ActionScript API
3D Stage 3D
AIR
2011/10/13
ADOBE AIR
90
AIR
AIR
AIR
AIR
AIR 112 Adobe AIR
Adobe AIR
AIR
Adobe
H.264
24 30
8M bps
192 Kbps
11
H.264
StageVideo
AIR H.264 StageVideo
ActionScript 3.0 StageVideo
StageVideo API
StageVideo
Video H.264 AIR AIR StageVideo
Video StageVideo
StageVideo H.264
StageVideo Flash Platform
2011/10/13
ADOBE AIR
91
AIR
AIR Internet
AIR AIR
Capabilities.serverString
AIR AIR
CPU
2011/10/13
ADOBE AIR
92
AIR
H.264
AAC
MP4
AIR
AAC
Internet
mp3
SWF
mp3 H.264
AIR
H.264
AIR
/
E-AC-3 Dolby
Digital
DTS Digital Surround
DTS Express
DTS-HD High Resolution
Audio
DTS-HD Master Audio
Speex
Speex H.264
AIR Speex
Sorenson Spark On2 VP6
NellyMoser
NellyMoser H.264
AIR NellyMoser
Sorenson Spark On2 VP6
AIR 2D CPU
AIR
alpha
2011/10/13
ADOBE AIR
93
AIR
X Y cacheAsBitmapMatrix
Matrix
Matrix
cacheAsBitmap true
AIR Matrix
AIR Matrix
BitmapData
AIR
Bitmap bitmapData
dispose()
myBitmap.bitmapData.dispose();
BitmapData
dispose()
null
PNG JPEG
PNG JPEG AIR
AIR JPEG
2011/10/13
ADOBE AIR
94
AIR
JPEG
PNG alpha
AIR
AIR Stage
Capabilities.screenResolutionX
Capabilities.screenResolutionY
540p
960
540
720p
1280
720
1080p
1920
1080
Capabilities.screenResolutionY
stage.stageWidth = Capabilities.screenResolutionX;
stage.stageHeight = Capabilities.screenResolutionY;
Adobe 7.5%
2011/10/13
ADOBE AIR
95
AIR
1920
1632
918
1080
1920 x 1080
AIR
7.5
960 x 540
816 x 460
72
40
1280 x 720
1088 x 612
96
54
1920 x 1080
1632 x 918
144
81
FULL_SCREEN_INTERACTIVE TOP_LEFT
screenResolutionX screenResolutionY
2011/10/13
ADOBE AIR
96
AIR
Stage resize
Stage.align StageAlign.TOP_LEFT
stage.align = StageAlign.TOP_LEFT;
0,0 ActionScript
NO_SCALE FULL_SCREEN_INTERACTIVE
AIR
ADDED_TO_STAGE
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;
}
RESIZE
RESIZE
FULL_SCREEN_INTERACTIVE
private function onResize(evt:Event):void
{
if ((Capabilities.screenResolutionX == stage.stageWidth) &&
(Capabilities.screenResolutionY == stage.stageHeight))
{
// Calculate and save safe viewing area dimensions.
}
}
Capabilities.screenResolutionX screenResolutionY
2011/10/13
ADOBE AIR
97
AIR
AIR AIR
2 Capabilities.screenResolutionX Capabilities.screenResolutionY
3
ActionScript Flash
AIR
KeyboardEvent.KEY_DOWN ActionScript 3.0
ActionScript
ActionScript 3.0
Keyboard.UP
Keyboard.DOWN
Keyboard.LEFT
Keyboard.RIGHT
Keyboard.ENTER
2011/10/13
ADOBE AIR
98
AIR
AIR
AIR
Keyboard KeyboardEvent.KEY_DOWN
Keyboard
Stage.focus Stage.assignFocus() DisplayObject
AIR
AIR
SWF
SWF
AIR AIR AIR
20
120 Hz 30 60
100 200
2011/10/13
ADOBE AIR
99
AIR
AIR 3
97
AIR
AIR
AIR
AIR
_sans
_serif
Pro
_typewriter
AIR
2011/10/13
ADOBE AIR
100
AIR
RyoGothicPlusN-Regular
sans
ja
RyoTextPlusN-Regular
serif
ja
AdobeGothicStd-Light
sans
ko
AdobeHeitiStd-Regular
sans
zh_CN
AdobeSongStd-Light
serif
zh_CN
AdobeMingStd-Light
serif
zh_TW
zh_HK
AIR
Adobe
AIR
TLF Adobe
TLF TLFTextField
AIR AIR
AIR
TLF
AIR
2011/10/13
ADOBE AIR
101
AIR
AIR AIR
AIR
AIR AIR AIR
AIR 101
AIR
AIR
flash.events.Event.EXITING
HTTP cookie
AIR HTTP cookie cookie AIR AIR cookie
Cookie cookies
AIR cookie cookie
AIR
ActionScript URLRequest.manageCookies
HTTP cookie
manageCookies true URLRequest.requestHeaders HTTP cookie
URLRequest
2011/10/13
ADOBE AIR
102
AIR
AIR
Adobe Flash Platform AIR
Flash Professional
Flash Professional AIR AIR
ActionScript 3.0 tv extendedTV AIR
186
AIR
> >
2011/10/13
ADOBE AIR
103
AIR
ADL
Flash Builder
Flash Builder 4.5 Flash Builder AIR Flash Builder AIR
AIR
AIR WindowedApplication
MXML ActionScript 3.0
supportedProfiles tv extendedTV
<supportedProfiles>tv</supportedProfiles>
ADL
2011/10/13
ADOBE AIR
104
AIR
TV AIR
AIR TV
extendedTV
extensions
TV
AIR
AIR
application
application xmlns
<application xmlns="http://ns.adobe.com/air/application/2.5">
158 application
ID
<id>com.example.MyApp</id>
<name>My Application</name>
<filename>MyApplication</filename>
169 id
165 filename
176 name
versionNumber versionNumber
0.1.2 999.999.999
1 1.0
versionLabel
<versionNumber>1.23.7<versionNumber>
<versionLabel>1.23 Beta 7</versionLabel>
2011/10/13
ADOBE AIR
105
AIR
182 version
183 versionLabel
183 versionNumber
SWF
initalWindow content SWF TV SWF
HTML
<initialWindow>
<content>MyApplication.swf</content>
</initialWindow>
initialWindow TV
fullScreen
fullScreen
<fullScreen>true</fullScreen>
167 fullScreen
visible
visible initialWindow AIR visible AIR
visible true
false visible
ActionScript NativeWindow
<supportedProfiles>tv extendedTV</supportedProfiles>
extendedTV
<supportedProfiles>extendedTV</supportedProfiles>
supportedProfiles
supportedProfiles tv extendedTV
2011/10/13
ADOBE AIR
106
AIR
extendedTV
AIR
<extensions>
<extensionID> com.example.extendedFeature</extensionID>
<extensionID> com.example.anotherFeature</extensionID>
</extensions>
<icon>
168 icon
169 imageNxN
allowBrowserInvocation
aspectRatio
autoOrients
customUpdateUI
fileTypes
height
installFolder
maximizable
2011/10/13
ADOBE AIR
107
AIR
maxSize
minimizable
minSize
programMenuFolder
renderMode
resizable
systemChrome
title
transparent
visible
width
x
y
AIR
ADT
AIR ADT AIR AIR SDK 2.5 ADT TV
ActionScript MXML ADT -certificate
package airn
adt -package -storetype pkcs12 -keystore ../codesign.p12 -target airn myApp.airn myApp-app.xml myApp.swf
icons -extdir C:\extensions
2011/10/13
ADOBE AIR
108
AIR
AIRI AIRN
adt -package -storetype pkcs12 -keystore ../codesign.p12 -target airn myApp.airn myApp.airi
Adobe AIR
AIR
ADL
Adobe Debug Launcher (ADL)
ADL supportedProfiles
ADL
ADL -profile supportedProfiles
supportedProfiles -profile
tv
adl -profile tv myApp-app.xml
2011/10/13
ADOBE AIR
109
AIR
ADL tv extendedTV
StageVideo AIR StageVideo Video
StageVideo ADL
ADL
adl -profile extendedTV -extdir C:\extensionDirs myApp-app.xml
myApp-app.xml
-extdir
ANE
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
2011/10/13
ADOBE AIR
110
AIR
ADL TV TV ADL
ADL -screensize
Trace
TV trace ADL
Flash Professional
AIR Flash Professional
Adobe AIR MAX 2010
1 Flash
Flash Professional FLA SWF
AIRI
3 AIRI
Flash Builder
AIR Flash Builder
2 AIRI
3 AIRI SWF
SWF Flash Builder bin-debug bin-debug
SWF AIRI SWF
Windows
2011/10/13
ADOBE AIR
111
AIR
2 ZIP
3 bin-debug SWF SWF
4
5 .airi
Mac
1 AIRI
2 bin-debug SWF SWF
Adobe AIR for TV MAX 2010 AIRI
Mac telnet bin-debug SWF
2 DevMaster
3 DevMaster IP AIR
4 DevMaster
5 DevMaster
6 AIR
7 AIR
AIR
Flash Builder
2011/10/13
112
9 : Adobe AIR
Adobe AIR ActionScript API API
Adobe AIR
ActionScript
AIR ActionScript
ActionScript
ActionScript
ActionScript
ActionScript
AIR (ANE)
ANE ANE
ANE
ActionScript
AIR ANE
ANE SWC
ActionScript
AIR ANE
NativeProcess ActionScript
ActionScript 3.0 NativeProcess AIR
NativeProcess
ActionScript API
NativeProcess ActionScript
NativeProcess AIR
NativeProcess
2011/10/13
ADOBE AIR
113
Adobe AIR
ActionScript SWC
SWC ActionScript SWC SWF SWC
ActionScript ActionScript
ANE SWC ANE ActionScript SWF
ANE SWC ANE
SWC
AIR 3
AIR
AIR
2011/10/13
ADOBE AIR
114
Adobe AIR
1
2 ANE
3 .
AIR <extensions>
<extensions>
<extensionID>com.example.Extension1</extensionID>
<extensionID>com.example.Extension2<extensionID>
</extensions>
ANE
ANE
6 ANE
7
>
ActionScript
1 ANE .ane .swc Flash Professional
2011/10/13
ADOBE AIR
115
Adobe AIR
2 FLA >ActionScript
3 ActionScript 3.0
4 SWC
5 SWC
SWC ActionScript 3.0
6 SWC
7
Android APK
adt -package
-target apk
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
-extdir extensionsDir
iPhone iOS
adt -package
-target ipa-ad-hoc
-storetype pkcs12 -keystore ../AppleDistribution.p12
-provisioning-profile AppleDistribution.mobileprofile
myApp.ipa
myApp-app.xml
myApp.swf icons Default.png
-extdir extensionsDir
AIRN AIR
adt -package -storetype pkcs12 -keystore ../codesign.p12 -target airn myApp.airn myApp-app.xml myApp.swf
icons -extdir extensionsDir
ANE
2011/10/13
ADOBE AIR
116
Adobe AIR
AIR .air
ActionScript API
ANE
ADT -target
-target
Mac OS X Windows
-target native
-target bundle
AIR
-target airn
Android
-target apk
Android
iOS
-target ipa-ad-hoc
iOS
ANE
ANE ANE
ANE
AIR AIR
2011/10/13
117
10 : ActionScript
ActionScript MXML AIR Adobe Flash Builder Adobe
amxmlc mxmlc
acompc compc
aasdoc asdoc
Flex AIR AIR air-config.xml flex-config.xml
Flex SDK
Flex SDK frameworks Flex amxmlc
air-config.xml AIR AIR mxmlc flex-config.xml
Flex AIR
Ant
2011/10/13
ADOBE AIR
118
ActionScript
-load-config=project-config.xml
-load-config+=project-config.xml -library-path
amxmlc MXML
RunningMan.mxml RunningMan-config.xml
amxmlc RunningMan.mxml
RunningMan-config.xml MXML
amxmlc
amxmlc ActionScript MXML
AIR MXML
amxmlc myApp.mxml
AIR ActionScript
amxmlc myApp.as
amxmlc library-path+=/libs/libOne.swc,/libs/libTwo.swc
-- myApp.mxml
AIR MXML
amxmlc -external-library-path+=../lib/myLib.swc -runtime-shared-libraries=myrsl.swf -- myApp.mxml
Java mxmlc.jar
java flex2.tools.Compiler +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] - myApp.mxml
2011/10/13
ADOBE AIR
119
ActionScript
AIR (Flex)
acompc AIR acompc amxmlc
acompc load-config
acompc -load-config
ParticleLib-config.xml
acompc -load-config ParticleLib-config.xml -output ParticleLib.swc
2011/10/13
ADOBE AIR
120
ActionScript
acompc
myLib-config.xml
AIR
acompc -load-config myLib-config.xml -output lib/myLib.swc
lib
2011/10/13
121
fdb
ADL
ADL
adl application.xml
application.xml
ADL
adl [-runtime runtime-directory]
[-pubid publisher-id]
[-nodebug]
[-atlogin]
[-profile profileName]
[-screensize value]
[-extdir extension-directory]
application.xml
[root-directory]
[-- arguments]
[]
ID ID
2011/10/13
ADOBE AIR
122
-atlogin
-atlogin InvokeEvent reason login standard
profile supportedProfiles
-profile
180 supportedProfiles 186
480
720 x 480
720 x 480
720
1280 x 720
1280 x 720
1080
1920 x 1080
1920 x 1080
Droid
480 x 816
480 x 854
FWQVGA
240 x 432
240 x 432
FWVGA
480 x 854
480 x 854
HVGA
320 x 480
320 x 480
iPad
768 x 1004
768 x 1024
iPhone
320 x 460
320 x 480
iPhoneRetina
640 x 920
640 x 960
iPod
320 x 460
320 x 480
NexusOne
480 x 762
480 x 800
QVGA
240 x 320
240 x 320
SamsungGalaxyS
480 x 762
480 x 800
SamsungGalaxyTab
600 x 986
600 x 1024
WQVGA
240 x 400
240 x 400
WVGA
480 x 800
480 x 800
widthXheight:fullscreenWidthXfullscreenHeight
NexusOne
2011/10/13
ADOBE AIR
123
-screensize 480x762:480x800
-extdir extension-directory
ANE
C:\extensionDirs\
extension1.ane\
META-INF\
ANE\
Android-ARM\
library.swf
extension1.jar
extension.xml
signatures.xml
catalog.xml
library.swf
mimetype
extension2.ane\
META-INF\
ANE\
Android-ARM\
library.swf
extension2.jar
extension.xml
signatures.xml
catalog.xml
library.swf
mimetype
-extdir
-extdir
ADT ADL -extdir ADT ANE
AIR_EXTENSION_PATH 141 ADT
application.xml 154 AIR ADL
root-directory
-- arguments --
AIR invoke
ADL
adl myApp-app.xml
tick tock
adl myApp-app.xml -- tick tock
2011/10/13
ADOBE AIR
124
Nexus One
adl -profile mobileDevice -screensize NexusOne myMobileApp-app.xml
name="SDK_HOME" value="C:/AIRSDK"/>
name="ADL" value="${SDK_HOME}/bin/adl.exe"/>
name="APP_ROOT" value="c:/dev/MyApp/bin-debug"/>
name="APP_DESCRIPTOR" value="${APP_ROOT}/myApp-app.xml"/>
<target name="test">
<exec executable="${ADL}">
<arg value="${APP_DESCRIPTOR}"/>
<arg value="${APP_ROOT}"/>
</exec>
</target>
ADL
ADL
ADL AIR
AIR ADL
ADL
XML
<content>
SWF HTML
10
-profile
11
-screensize
2011/10/13
125
Android .apk
AIR (ANE)
AIR
AIR
AIR ADT
ADT ADT
ADT
ADT
-migrate AIR
-certificate
-checkstore keystore
-installApp AIR
-launchApp AIR
-appVersion AIR
2011/10/13
ADOBE AIR
126
-uninstallApp AIR
-installRuntime AIR
-runtimeVersion AIR
-uninstallRuntime AIR
-version ADT
-help
ADT
135 ADT
137
137
138
ADT package
-package
AIR
adt -package
AIR_SIGNING_OPTIONS
-target packageType
NATIVE_SIGNING_OPTIONS
output
app_descriptor
FILE_OPTIONS
adt -package
-target packageType
DEBUGGER_CONNECTION_OPTIONS
-airDownloadURL URL
NATIVE_SIGNING_OPTIONS
output
app_descriptor
-platformsdk path
FILE_OPTIONS
AIR AIRI
adt -package
-target packageType
NATIVE_SIGNING_OPTIONS
output
input_package
ANE AIR_SIGNING_OPTIONS
adt -package
AIR_SIGNING_OPTIONS
-target ane
output
ANE_OPTIONS
2011/10/13
ADOBE AIR
127
-target
air AIR air AIR AIRI -target
airn
ane AIR
Android
apk Android Android
apk-debug Android SWF
apk-profile Android
iOS
ipa-ad-hoc iOS
ipa-app-store Apple iOS
ipa-debug iOS SWF
ipa-test iOS
ipa-debug-interpreter ActionScript
ipa-test-interpreter ActionScript
native
EXE Windows
DMG Mac
DEB Ubuntu Linux AIR 2.6
RPM Fedora OpenSuse Linux AIR 2.6
DEBUGGER_CONNECTION_OPTIONS
apk-debug ipa-debug 137
NATIVE_SIGNING_OPTIONS
AIR AIR_SIGNING_OPTIONS 135 ADT
2011/10/13
ADOBE AIR
128
AIR
output -target
app_descriptor
AIR application.xml
ADT -package
SWF AIR
adt package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.swf components.swc
HTML AIR
adt package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.html AIRAliases.js image.gif
2011/10/13
ADOBE AIR
129
/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
/devRoot/myApp ADT
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
/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
2011/10/13
ADOBE AIR
130
ADT JRE
ADT prepare
-prepare AIRI AIRI -sign AIRI AIR
package AIRI
-prepare
adt -prepare output app_descriptor FILE_OPTIONS
output AIRI
app_descriptor
AIR application.xml
FILE_OPTIONS 137
ADT sign
-sign AIRI ANE
-sign
adt -sign AIR_SIGNING_OPTIONS input output
ADT migrate
-migrate AIR
2011/10/13
ADOBE AIR
131
180
AIR
AIR -package -sign -
migrate
-migrate
adt -migrate AIR_SIGNING_OPTIONS input output
input AIR
output
AIR
ADT checkstore
-checkstore keystore
adt -checkstore SIGNING_OPTIONS
ADT certificate
-certificate
adt -certificate -cn name -ou orgUnit -o orgName -c country -validityPeriod years key-type output password
-cn
-ou
-o
-c ISO-3166 /
-validityPeriod
key_type 1024-RSA 2048-RSA
output
password AIR
ADT installApp
-installApp
adt -installApp -platform platformName -platformsdk path-to-sdk -device deviceID -package fileName
2011/10/13
ADOBE AIR
132
-device
ADT 14 ADT
2
Android Android ADB
adb devices
ADT appVersion
-appVersion
adt -appVersion -platform platformName -platformsdk path_to_sdk -device deviceID -appid applicationID
-device
ADT 14 ADT
2
Android Android ADB
adb devices
ADT launchApp
-launchApp
adt -launchApp -platform platformName -platformsdk path_to_sdk -device deviceID -appid applicationID
-device
ADT 14 ADT
2
Android Android ADB
adb devices
2011/10/13
ADOBE AIR
133
ADT uninstallApp
-uninstallApp
adt -uninstallApp -platform platformName -platformsdk path_to_sdk -device deviceID -appid applicationID
-device
ADT 14 ADT
2
Android Android ADB
adb devices
ADT installRuntime
-installRuntime AIR
AIR
adt -installRuntime -platform platformName -platformsdk path_to_sdk -device deviceID -package fileName
-device
ADT 14 ADT
2
Android Android ADB
adb devices
ADT runtimeVersion
-runtimeVersion AIR
adt -runtimeVersion -platform platformName -platformsdk path_to_sdk -device deviceID
2011/10/13
ADOBE AIR
134
-device
ADT 14 ADT
2
Android Android ADB
adb devices
ADT uninstallRuntime
-uninstallRuntime AIR
adt -uninstallRuntime -platform platformName -platformsdk path_to_sdk -device deviceID
-device
ADT 14 ADT
2
Android Android ADB
adb devices
ADT help
ADT -help
adt -help
help
<>
() help
ALL_CAPS
| ( A | B ) A B
? 0 1
* 0
+ 1
2011/10/13
ADOBE AIR
135
ADT
ADT
ADT
ADT Java (JCA) AIR keystore keystore
keystore AIR
AIR
-alias aliasName
-storetype type
-keystore path
-storepass password1
-keypass password2
-providerName className
-tsa url
keystore
keystore Windows keystore
Java Keytool
keytool -list -storetype Windows-MY
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
ADT
CN=TestingCert,OU=QE,O=Adobe,C=US
Keystore
Java
JKS
1.2
PKCS12
1.4
2011/10/13
ADOBE AIR
136
Keystore
Java
PKCS11
1.5
KeychainStore
Mac OS X Keychain
1.5
Windows-MY
Windows-ROOT
MSCAPI
1.6
-keystore keystore
-storepass keystore ADT
-keypass AIR ADT
ADT
-keypass -storepass
Enter
.p12
-storetype pkcs12 -keystore cert.p12
Java keystore
-alias AIRcert -storetype jks
Java keystore
-alias AIRcert -storetype jks -keystore certStore.keystore
Mac OS X keychain
-alias AIRcert -storetype KeychainStore -providerName Apple
Windows keystore
-alias cn=AIRCert -storeype Windows-MY
Java providerName
-alias AIRCert -storetype pkcs11 -providerName tokenProviderName
2011/10/13
ADOBE AIR
137
files_and_dirs AIR
-C
C file_or_dir ADT
ADT . -C assets
-C dir dir
C dir
ADT
-C release/bin lib/feature.swf release/bin/lib/feature.swf lib
apk-debug
-connect -listen USB
-connect
-connect hostString
-connect
hostString Flash FDB
machinename.subgroup.example.com IP
192.168.4.122
-listen
-listen port
-listen
2011/10/13
ADOBE AIR
138
Android
apk-profile SWF
-preloadSWFPath directory
SDK SWF
directory SWF
extension-descriptor
-swc ActionScript SWC
-platform ANE -platform FILE_OPTIONS
FILE_OPTIONS 137
ANE -e
ADT
ADT
100
XML
101
102
103
104
2011/10/13
ADOBE AIR
139
105
106
transparency = true
systemChrome = standard
107
108
109
110
111
112
AIR
113
<nativeLibrary> <initializer>
supportedProfies
114
<nativeLibrary> <finalizer>
115
116
<allowBrowserInvocation> true
117
AIR
154 AIR
200
201
XML
<image32x32>icon.png</image32x32>
icon.png 32x32
202
PNG
300
301
302
<content>
SWF HTML
ADT
2011/10/13
ADOBE AIR
140
303
ADT
304
<content>
HTML SWF
305
SWF
AIR
<content>
306
180
supportedProfiles
307
nnn
2.0
ADT Java
ADT JRE
ADT
AIR
ADT
10
ADT
Internet
JRE
11
12
ADT
13
SDK
SDK ADT
SDK
14
ADT
2011/10/13
ADOBE AIR
141
15
16
GPL
AIR SDK
17
Android
400
Android sdk
Android 2.2
ADT -platformsdk
401
Android sdk
Android 2.2
ADT -platformsdk
402
XML
Android
Android 2.2
ADT -platformsdk
403
Android
AIR
Android 64
Android
404
Android
AIR
Android 64
Android
405
Android %1
manifestAdditions
406
Android %2 %1
%3
ADT
ADT
AIR_ANDROID_SDK_HOME Android SDK tools AIR 2.6 SDK
Android SDK ADT Android SDK ADT
-platformsdk ADT
2011/10/13
ADOBE AIR
142
AIR_EXTENSION_PATH ADT
ADL
ADT
2011/10/13
143
13 : AIR
AIR
(CA) AIR
AIR AIR
keystore AIR
(CPS)
AIR
ChosenSecurity (http://www.chosensecurity.com/products/tc_publisher_id_adobe_air.htm)
2011/10/13
ADOBE AIR
144
AIR
AIR
AIR AIR
AIR
AIR
AIR 1.5.3 ID ID
ID ID
AIR 1.5.3 AIR AIR ID AIR
AIR ID
ID
AIR 1.5.3 ID AIR AIR 1.5.3
ID AIR 1.5.3 ID
ID AIR
ID META-INF/AIR publisherid
ID ID AIR 1.5.3
ID
AIR API
OSID /
ID ID AIR
Flash AIR ID AIR 1.5.3
ID AIR ID
2011/10/13
ADOBE AIR
145
AIR
ChosenSecurity
Adobe AIR TC Publisher ID
GlobalSign
ObjectSign
Thawte
AIR (AIR Developer Certificate)
Apple (Apple Developer Certificate)
JavaSoft (JavaSoft Developer Certificate)
Microsoft (Microsoft Authenticode Certificate)
VeriSign
Adobe AIR ID
Microsoft ID (Microsoft Authenticode Digital ID)
Sun Java ID (Sun Java Signing Digital ID)
SSL AIR
AIR
AIR AIR
AIR
AIR Adobe
AIR
AIR Geotrust
AIR Keystore
2011/10/13
ADOBE AIR
146
AIR
Thawte AIR
1 Thawte
2 Code Signing Certificates Adobe AIR Developer Certificate
3 Thawte
Thawte
https://www.thawte.com/ssl-digital-certificates/free-guides-
whitepapers/pdf/enroll_codesign_eng.pdf
4 Thawte Firefox Keystore
5 Firefox Keystore Keystore
Firefox / ADT Flex Flash Dreamweaver .p12 (pfx)
(View Certificates)
c Mac OS Firefox-> (Preferences) -> (Advanced) -> (Encryption) ->
(View Certificates)
d Linux (Edit) -> (Preferences) -> (Advanced) -> (Encryption) ->
(View Certificates)
Keystore (Save)
g Firefox Firefox
h (Choose a Certificate Backup Password) Keystore
Keystore AIR
Keystore .p12
PKCS12
Firefox Keystore
2011/10/13
ADOBE AIR
147
AIR
AIR
AIR AIR AIR AIR
AIR
AIR
1
2 AIR
3 AIR ADT -migrate
AIR AIR AIR
ID
ID
OSID / OSID
AIR 1.5.3 AIR ID
2011/10/13
ADOBE AIR
148
AIR
(CA)
CA
(CPS)
CPS CA
(CRL)
CA
- PKI
Keystore
Java (JCA)
Keystore Java
PKCS #11
PKCS #12
(PKI)
CA
iOS
Apple iOS Adobe AIR
Apple
ADT
.p12 .pfx keystore 149 P12
keystore
2011/10/13
ADOBE AIR
149
AIR
Mac OS
Mac OS
Apple iOS Provisioning Portal
Windows
Windows Mac iPhone Windows
OpenSSL CSR
Visual C++
2 Windows CD OpenSSL bin c:\OpenSSL\bin\
3
openssl genrsa -out mykey.key 2048
OpenSSL OpenSSL
4 CSR
openssl req -new -key mykey.key -out CertificateSigningRequest.certSigningRequest
"/emailAddress=yourAddress@example.com, CN=John Doe, C=US"
-subj
CN C /
P12 keystore
P12 keystore Apple keystore
1 /
2 > Apple .cer
3
4 iPhone
iPhone < >< >
keystore
Windows Apple P12
AIR for iOS P12 Apple Apple iPhone
ADOBE AIR
150
AIR
openssl x509 -in developer_identity.cer -inform DER -out developer_identity.pem -outform PEM
2 Mac PEM
openssl pkcs12 -nocerts -in mykey.p12 -out mykey.pem
ADT AIR
-prepare AIR ADT -sign AIR AIR
-prepare -package
airi
AIR ADT -sign 130 ADT prepare
ADT -prepare
adt -prepare unsignedMyApp.airi myApp.xml myApp.swf components.swc
ADT AIR
ADT AIR -sign sign AIR airi AIR
ADT -sign
adt -sign SIGNING_OPTIONS airi_file air_file
airi_file AIR
air_file AIR
ADT -sign
adt -sign -storetype pkcs12 -keystore cert.p12 unsignedMyApp.airi myApp.air
2011/10/13
ADOBE AIR
151
AIR
AIR
AIR ADT -migrate
AIR
180
180
180 AIR 1.5.3
URL
URL
198
/ ID
Adobe AIR
1.5.3
C1
AIR
AIR
AIR
AIR
AIR
180
1.5.2
ID
C1
Adobe AIR
C1
AIR
AIR
AIR
AIR
AIR
AIR
AIR
2011/10/13
ADOBE AIR
152
AIR
1.0
C1
AIR 1.5.3
PUB ID
AIR 1.5.3
1.0
C1
2.0
C2
180
C2
adt -migrate
C1
1.0
C1
2.0
C2
1
2 AIR
3 -migrate AIR
-migrate AIR
AIR 1.5.3 ID
AIR
ADT -migrate
adt -migrate SIGNING_OPTIONS air_file_in air_file_out
ADT
air_file_in AIR
air_file_out AIR
AIR
ADT
adt -migrate -storetype pkcs12 -keystore cert.p12 myAppIn.air myApp.air
2011/10/13
ADOBE AIR
153
AIR
ADT
AIR
AIR ADT
AIR AIR
ADT ADT
ADT AIR
Adobe AIR
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
ASCII
2011/10/13
154
14 : AIR
AIR XML
AIR
descriptor-sample.xml AIR Flex SDK samples
application.xml
AIR
AIR
<?xml version="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/3.0">
<id>example.HelloWorld</id>
<versionNumber>1.0.1</versionNumber>
<filename>Hello World</filename>
<name>Example Co. AIR Hello World</name>
<description>
<text xml:lang="en">This is an example.</text>
<text xml:lang="fr">C'est un exemple.</text>
<text xml:lang="es">Esto es un ejemplo.</text>
</description>
<copyright>Copyright (c) 2010 Example Co.</copyright>
<initialWindow>
<title>Hello World</title>
<content>
HelloWorld.swf
</content>
</initialWindow>
<icon>
<image16x16>icons/smallIcon.png</image16x16>
<image32x32>icons/mediumIcon.png</image32x32>
<image48x48>icons/bigIcon.png</image48x48>
<image128x128>icons/biggerIcon.png</image128x128>
</icon>
</application>
AIR AIR
AIR 1.1
name description text
2011/10/13
ADOBE AIR
155
AIR
AIR 1.5
contentType fileType
AIR 1.5.3
publisherID ID
AIR 2.0
aspectRatio
autoOrients
fullScreen
image29x29
image57x57
image72x72
image512x512
iPhone
renderMode
supportedProfiles
AIR 2.5
version
android
extensionID
extensions
image36x36
manifestAdditions
versionLabel
versionNumber
AIR 2.6
image114x114
requestedDisplayResolution
softKeyboardBehavior
2011/10/13
ADOBE AIR
156
AIR
AIR 3.0
colorDepth
direct renderMode
XML
<application xmlns="http://ns.adobe.com/air/application/3.0">
<allowBrowserInvocation>...<allowBrowserInvocation>
<android>
<colorDepth>...</colorDepth>
<manifestAdditions
<manifest>...</manifest>
]]>
</manifestAdditions
</android>
<copyright>...</copyright>
customUpdateUI>...</
<description>
<text xml:lang="...">...</text>
</description>
<extensions>
<extensionID>...</extensionID>
</extensions>
<filename>...</filename>
<fileTypes>
<fileType>
<contentType>...</contentType>
<description>...</description>
<extension>...</extension>
<icon>
<imageNxN>...</imageNxN>
</icon>
<name>...</name>
</fileType>
</fileTypes>
<icon>
<imageNxN>...</imageNxN>
</icon>
<id>...</id>
<initialWindow>
<aspectRatio>...</aspectRatio>
<autoOrients>...</autoOrients>
<content>...</content>
<fullScreen>...</fullScreen>
<height>...</height>
<maximizable>...</maximizable>
<maxSize>...</maxSize>
<minimizable>...</minimizable>
<minSize>...</minSize>
<renderMode>...</renderMode>
<resizable>...</resizable>
<systemChrome>...</systemChrome>
<title>...</title>
<transparent>...</transparent>
2011/10/13
ADOBE AIR
157
AIR
<visible>...</visible>
<width>...</width>
<x>...</x>
<y>...</y>
</initialWindow>
<installFolder>...</installFolder>
<iPhone>
<InfoAdditions>...</InfoAdditions>
<requestedDisplayResolution>...</requestedDisplayResolution>
</iPhone>
<name>
<text xml:lang="...">...</text>
</name>
<programMenuFolder>...</programMenuFolder>
<publisherID>...</publisherID>
<softKeyboardBehavior>...</softKeyboardBehavior>
<supportedProfiles>...</supportedProfiles>
<versionNumber>...</versionNumber>
<versionLabel>...</versionLabel>
</application>
AIR
AIR
allowBrowserInvocation
Adobe AIR 1.0
AIR API
true AIR ActionScript
AIR HTML
195 AIR
158 application
true false
<allowBrowserInvocation>true </allowBrowserInvocation>
android
Adobe AIR 2.5
Android AIR APK AndroidManifest.xml AIR
android Android
158 application
2011/10/13
ADOBE AIR
158
AIR
161 colorDepth
174 manifestAdditions
Android Android
<android>
<manifestAdditions>
...
</manifestAdditions>
</android>
64 Android
AndroidManifest.xml
application
Adobe AIR 1.0
AIR
157 allowBrowserInvocation
157 android
163 copyright
163 customUpdateUI
163 description
165 extensions
165 filename
167 fileTypes
168 icon
169 id
171 initialWindow
172 installFolder
173 iPhone
176 name
177 programMenuFolder
178 publisherID
179 softKeyboardBehavior
2011/10/13
ADOBE AIR
159
AIR
180 supportedProfiles
182 version
183 versionLabel
183 versionNumber
minimumPatchLevel AIR
xmlns XML AIR
AIR 2.7,
AIR xmlns
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"
API
API
, SWF
SWF
, HTML
SWF SWF
flash.display.Loader SWF
HTML <object> <embed>
SWF
2011/10/13
ADOBE AIR
160
AIR
SWF
AIR
2011/10/13
ADOBE AIR
161
AIR
aspectRatio
Adobe AIR 2.0 iPhone Android
.
iPad
171 initialWindow
portrait landscape
<aspectRatio> landscape</aspectRatio>
autoOrients
Adobe AIR 2.0 iPhone Android
align scaleMode
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
171 initialWindow
true false
<autoOrients>true </autoOrients>
colorDepth
Adobe AIR 3
16 32
16 AIR 3 Android 16 AIR 3
32
StageVideo 32
157 android
2011/10/13
ADOBE AIR
162
AIR
16
32
<android>
<colorDepth>16bit</colorDepth>
<manifestAdditions>...</manifestAdditions>
</android>
content
Adobe AIR 1.0
content URL SWF HTML URL
ADL AIR URL
ADL root-dir
171 initialWindow
<content>TravelPlanner.swf </content>
contentType
Adobe AIR 1.0 1.1 AIR 1.5
contentType AIR 1.5 AIR 1.0 1.1
MIME MIME
Linux
166 fileType
<contentType> text/plain</contentType>
2011/10/13
ADOBE AIR
163
AIR
copyright
Adobe AIR 1.0
AIR Mac OS Mac OS
Info.plist NSHumanReadableCopyright
158 application
customUpdateUI
Adobe AIR 1.0
false AIR AIR
AIR
customUpdateUI true AIR
AIR
AIR ID ID
AIR
true false
<customUpdateUI> true</customUpdateUI>
description
Adobe AIR 1.0
AIR
AIR
AIR
description en en AIR
en en-US en
2011/10/13
ADOBE AIR
164
AIR
AIR 1.1
<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>
description
Adobe AIR 1.0
extension
Adobe AIR 1.0
166 fileType
2011/10/13
ADOBE AIR
165
AIR
<extension> png</extension>
extensionID
Adobe AIR 2.5 tv extendedTV
ActionScript ID ID
165 extensions
ActionScript ID
<extensionID> com.example.extendedFeature</extensionID>
extensions
Adobe AIR 2.5 tv extendedTV
ActionScript
158 application
165 extensionID
extensionID ActionScript ID
<extensions>
<extensionID>extension.first</extensionID>
<extensionID>extension.next</extensionID>
<extensionID>extension.last</extensionID>
</extensions>
filename
Adobe AIR 1.0
AIR
name filename
158 application
2011/10/13
ADOBE AIR
166
AIR
0x00 - x1F
x2A
"
x22
x3A
>
x3C
<
x3E
x3F
x5C
x7C
filename
<filename> MyApplication</filename>
fileType
Adobe AIR 1.0
167 fileTypes
162 contentType
164 description
164 extension
168 icon
177 name
2011/10/13
ADOBE AIR
167
AIR
<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
fileTypes AIR
AIR
AIR
NativeApplication.setAsDefaultApplication()
fileTypes
158 application
166 fileType
fileTypes fileType
<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 iPhone Android
171 initialWindow
2011/10/13
ADOBE AIR
168
AIR
true false
<fullscreen>true </fullscreen>
height
Adobe AIR 1.0
4095
<height>4095 </height>
icon
Adobe AIR 1.0
icon icon
PNG
AIR
16 32
158 application
169 imageNxN
imageNxN
2011/10/13
ADOBE AIR
169
AIR
<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
ID DNS
158 application
ID
0-9
a-z
A-Z
.
-
1 212
<id>org.example.application</id>
imageNxN
Adobe AIR 1.0
image16x16
image29x29 (AIR 2+)
image32x32
image36x36 (AIR 2.5+)
image48x48
image57x57 (AIR 2+)
image72x72 (AIR 2+)
image114x114 (AIR 2.6+)
image128x128
image512x512 (AIR 2+)
2011/10/13
ADOBE AIR
170
AIR
PNG
158 application
Unicode (UTF-8)
0x00 - x1F
x2A
"
x22
x3A
>
x3C
<
x3E
x3F
x5C
x7C
<image32x32>icons/icon32.png</image32x32>
InfoAdditions
Adobe AIR 1.0
iPhone
173 iPhone
iPhone Info.plist elements
<InfoAdditions>
<![CDATA[
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleBlackOpaque</string>
<key>UIRequiresPersistentWiFi</key>
<string>NO</string>
]]>
</InfoAdditions>
2011/10/13
ADOBE AIR
171
AIR
69 iOS
initialWindow
Adobe AIR 1.0
158 application
initialWindow AIR windows
TV
161
161
autoOrients
162
content
167
fullScreen
168
height
175
maximizable
175
maxSize
176
minimizable
176
minSize
178
renderMode
179
resizable
179
softKeyboard
Behavior
181
systemChrom
e
182
title
aspectRatio
2011/10/13
ADOBE AIR
172
AIR
TV
182
183
visible
184
width
184 x
185 y
transparent
<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
2011/10/13
ADOBE AIR
173
AIR
<installFolder>utilities/toolA</installFolder>
iPhone
Adobe AIR 2.0 iPhone
iPhone
158 application
170 InfoAdditions
179 requestedDisplayResolution
69 iOS
manifest
Adobe AIR 2.5 Android
Android
174 manifestAdditions
Android SDK
<![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>
]]>
2011/10/13
ADOBE AIR
174
AIR
64 Android
AndroidManifest.xml
manifestAdditions
Adobe AIR 2.5 Android
Android
Android Android AIR
AIR Android
manifest
package
android:versionCode
android:versionName
activity
android:label
android:icon
application
android:theme
android:name
android:label
android:windowSoftInputMode
android:configChanges
android:screenOrientation
android:launchMode
2011/10/13
ADOBE AIR
175
AIR
<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>
64 Android
AndroidManifest.xml
maximizable
Adobe AIR 1.0
Mac OS X maximizable
resizable false
171 initialWindow
true false
<maximizable>false </maximizable>
maxSize
Adobe AIR 1.0
171 initialWindow
4095
<maxSize>1024 360</maxSize>
2011/10/13
ADOBE AIR
176
AIR
minimizable
Adobe AIR 1.0
171 initialWindow
true false
<minimizable>false</minimizable>
minSize
Adobe AIR 1.0
171 initialWindow
<minSize>120 60</minSize>
name
Adobe AIR 1.0
AIR
name AIR filename
158 application
181 text
<text> AIR
AIR
name en en AIR
en en-US en
2011/10/13
ADOBE AIR
177
AIR
US AIR
name
AIR
name 228
AIR
<name>Test Application</name>
name
Adobe AIR 1.0
166 fileType
<name>adobe.VideoFile</name>
programMenuFolder
Adobe AIR 1.0
Windows Linux
158 application
2011/10/13
ADOBE AIR
178
AIR
publisherID
Adobe AIR 1.5.3
AIR 1.5.2 AIR ID
ID publisherID AIR ID
ID META-INF/AIR/publisherid
AIR 1.5.3 ID
144 AIR
158 application
ID
<publisherID>B146A943FBD637B68C334022D304CEA226D129B4.1</publisherID>
renderMode
Adobe AIR 2.0
(GPU)
171 initialWindow
auto CPU
cpu
direct CPU GPU AIR 3+
gpu
Flex GPU
<renderMode>direct</renderMode>
2011/10/13
ADOBE AIR
179
AIR
requestedDisplayResolution
Adobe AIR 2.6 iOS
iOS standard
320x480 640x960
high 640x960
173 iPhone
standard high
<requestedDisplayResolution>high</requestedDisplayResolution>
resizable
Adobe AIR 1.0
Mac OS X maximizable
resizable false
171 initialWindow
true false
<resizable>false</resizable>
softKeyboardBehavior
Adobe AIR 2.6
pan
softKeyboardBehavior none
SoftKeyboardEvent
158 application
2011/10/13
ADOBE AIR
180
AIR
<softKeyboardBehavior>none</softKeyboardBehavior>
SoftKeyboardEvent
supportedProfiles
Adobe AIR 2.0
158 application
supportedProfiles
desktop desktop AIR desktop AIR
NativeProcess
extendedDesktop AIR
NativeProcess
mobileDevice
extendedMobileDevice
tv tv AIR
extendedTV extendedTV AIRN
ActionScript
supportedProfiles
<supportedProfiles>desktop extendedDesktop</supportedProfiles>
<supportedProfiles>desktop mobileDevice</supportedProfiles>
186
63
2011/10/13
ADOBE AIR
181
AIR
systemChrome
Adobe AIR 1.0
171 initialWindow
none Flex
standard
<systemChrome>standard</systemChrome>
text
Adobe AIR 1.1
176 name
163 description
xml:lang
2011/10/13
ADOBE AIR
182
AIR
title
Adobe AIR 1.0
systemChrome standard
171 initialWindow
transparent
Adobe AIR 1.0
alpha
true false
<transparent>true</transparent>
version
Adobe AIR 1.0 2.0 AIR 2.5
2011/10/13
ADOBE AIR
183
AIR
<version>0.1 Alpha</version>
versionLabel
Adobe AIR 2.5
versionNumber versionLabel
versionNumber
158 application
<versionLabel>0.9 Beta</versionlabel>
versionNumber
Adobe AIR 2.5
158 application
0 999
<versionNumber>1.0.657</versionNumber>
<versionNumber>10</versionNumber>
<versionNumber>0.01</versionNumber>
visible
Adobe AIR 1.0
2011/10/13
ADOBE AIR
184
AIR
tv
171 initialWindow
true false
<visible>true</visible>
width
Adobe AIR 1.0
4095
<width>1024</width>
x
Adobe AIR 1.0
(0,0)
171 initialWindow
<x>120</x>
2011/10/13
ADOBE AIR
185
AIR
y
Adobe AIR 1.0
(0,0)
171 initialWindow
<y>250</y>
2011/10/13
186
15 :
Adobe AIR 2
API
extendedDesktop
mobileDevice
extendedMobileDevice
tv
extendedTV
AIR
extendedDesktop
AIR mobileDevice
Android APK
AIR extendedDesktop
exe dmg deb
rpm AIR
Accelerometer.isSupported
supportedProfiles AIR
AIR AIR
TV
Adobe AIR
2011/10/13
ADOBE AIR
187
Adobe AIR
Adobe AIR 2
AIR 2 supportedProfiles
<supportedProfiles>desktop</supportedProfiles>
desktop
extendedDesktop
mobileDevice
tv -
extendedTV -
supportedProfiles
supportedProfiles
<supportedProfiles>desktop extendedDesktop</supportedProfiles>
Adobe AIR 2
extendedDeskt mobileDevice
op
tv
extendedTV
Accelerometer (Accelerometer.isSupported)
Accessibility (Capabilities.hasAccessibility)
ActionScript 2
CacheAsBitmap
Camera (Camera.isSupported)
CameraRoll
CameraUI (CameraUI.isSupported)
ContextMenu (ContextMenu.isSupported)
(Microphone.getEnhancedMicrophone())
2011/10/13
ADOBE AIR
188
extendedDeskt mobileDevice
op
tv
extendedTV
DatagramSocket
(DatagramSocket.isSupported)
DockIcon
(NativeApplication.supportsDockIcon)
(NativeDragManager.isSupported)
EncyptedLocalStore
(EncyptedLocalStore.isSupported)
GameInput (GameInput.isSupported)
Geolocation (Geolocation.isSupported)
HTMLLoader (HTMLLoader.isSupported)
IME (IME.isSupported)
LocalConnection
(LocalConnection.isSupported)
Microphone (Microphone.isSupported)
NativeMenu (NativeMenu.isSupported)
NativeProcess (NativeProcess.isSupported)
NativeWindow
(NativeWindow.isSupported)
NetworkInfo (NetworkInfo.isSupported)
PrintJob (PrintJob.isSupported)
SecureSocket (SecureSocket.isSupported)
ServerSocket (ServerSocket.isSupported)
Shader
Stage3D (Stage.stage3Ds.length)
StageVideo
StageWebView
(StageWebView.isSupported)
(Capabilities.hasMultiChannelAudio())
(Stage.supportsOrientationChange)
(NativeApplication.supportsStartAtLogin)
2011/10/13
ADOBE AIR
189
extendedDeskt mobileDevice
op
tv
extendedTV
StorageVolumeInfo
(StorageVolumeInfo.isSupported)
SystemTrayIcon
(NativeApplication.supportsSystemTrayIco
n)
Updater (Updater.isSupported)
XMLSignatureValidator
(XMLSignatureValidator.isSupported)
ADL
Adobe AIR 2
ADL supportedProfiles
ADL
-profile ADL 121 AIR Debug Launcher (ADL)
supportedProfiles
supportedProfiles ADL
2011/10/13
190
16 : AIR.SWF API
badge.swf
SDK badge.swf SWF SWF
badge.swf AIR
AIR SDK Flex SDK badge.swf badge.swf
AIR badge.swf
badge.swf
badge.swf
default_badge.html
AC_RunActiveContent.js
2 default_badge.html
3 default_badge.html AC_FL_RunContent() JavaScript FlashVars
appname
SWF
appurl
airversion
1.0 1.0
2011/10/13
ADOBE AIR
191
AIR.SWF API
imageurl
URL
buttoncolor
FFCC00
messagecolor
FFCC00
5 default_badge.html HTML
badge.swf HTML embed wmode ("window") wmode
AIR
SWF AIR
2 badge.swf
2 Adobe AIR
3
Windows AIR
c:\Program Files\
/
Mac Applications Mac
/Applications
Linux AIR
/opt
4
5
2011/10/13
ADOBE AIR
192
AIR.SWF API
badge.swf
Flex SDK AIR SDK badge.swf SDK samples/badge
badge.fla
AIRBadge.as
getStatus()
193
runtimeVersion - "1.0.M6"
installApplication()
194 AIR
2011/10/13
ADOBE AIR
193
AIR.SWF API
air.swf
SWF air.swf API AIR air.swf
http://airdownload.adobe.com/air/browserapi/air.swf SWF air.swf API air.swf
SWF air.swf SWF
getStatus()
"available"
"unavailable"
"installed"
2011/10/13
ADOBE AIR
194
AIR.SWF API
AIR
SWF http://airdownload.adobe.com/air/browserapi/air.swf air.swf
getApplicationVersion() AIR ID ID
193 air.swf
air.swf SWF air.swf getApplicationVersion()
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.
}
}
getApplicationVersion()
appID
ID 169 id
pubID
ID 178 publisherID
ID pubID ()
callback
getApplicationVersion()
null
ID
AIR
SWF http://airdownload.adobe.com/air/browserapi/air.swf air.swf installApplication()
AIR 193 air.swf
air.swf SWF air.swf installApplication()
2011/10/13
ADOBE AIR
195
AIR.SWF API
installApplication()
url
runtimeVersion
1.0
arguments
allowBrowserInvocation true
154 AIR
NativeApplication
installApplication()
Flash Player Windows Mac OS 9 3 Linux 10
installApplication()
Mac
Windows
air.swf getApplicationVersion()
194 AIR
LocalConnection SWF Flash Player
AIR ActionScript Flash Player AIR HTML
AIR
<allowBrowserInvocation>true</allowBrowserInvocation>
154 AIR
SWF http://airdownload.adobe.com/air/browserapi/air.swf air.swf
2011/10/13
ADOBE AIR
196
AIR.SWF API
appID
ID 169 id
pubID
ID 178 publisherID
ID pubID ()
arguments
NativeApplication arguments
BrowserInvokeEvent
launchApplication()
Flash Player Windows Mac OS 9 3 Linux 10
launchApplication()
allowBrowserInvocation false launchApplication()
air.swf getApplicationVersion()
194 AIR
NativeApplication BrowserInvokeEvent
AIR ActionScript AIR HTML
AIR ActionScript
AIR HTML
LocalConnection SWF Flash
ID
2011/10/13
197
17 : AIR
AIR AIR Adobe AIR
Updater
Updater update() AIR
AIR Updater
AIR ID ID ID
AIR
147
AIR AIR
HTML
HTML ActionScript HTML HTML
JavaScript
var updater = new air.Updater();
var airFile = air.File.desktopDirectory.resolvePath("Sample_App_v2.air");
var version = "2.01";
updater.update(airFile, version);
2011/10/13
ADOBE AIR
198
AIR
Updater.update()
update() AIR
AIR ID ID update() ID ID
ID ID 154 AIR
update() version
Mac OS
Windows Linux
ADL update()
AIR
AIR 2.5 2.01 version 2 AIR 2.5
(.) .0 1.0 67.89.999
154 AIR
Adobe AIR
AIR
URL 180
151 AIR
125 ADT
URL
XML URL
URL
2011/10/13
ADOBE AIR
199
AIR
AIR
customUpdateUI
<customUpdateUI>true</customUpdateUI>
ID ID AIR
AIR 163 customUpdateUI
NativeApplication.nativeApplication load
Updater
AIR
Updater AIR
AIR 1.5 AIR
ActionScript
2011/10/13
ADOBE AIR
200
AIR
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.");
}
ActionScript
HTML
202
2011/10/13
ADOBE AIR
201
AIR
Flex
<?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";
} 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>
JavaScript
2011/10/13
ADOBE AIR
202
AIR
<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.";
}
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>
Web AIR
2011/10/13
ADOBE AIR
203
AIR
AIR
AIR
AIR AIR 2 SDK frameworks/libs/air
applicationupdater.swc ActionScript
applicationupdater.swf JavaScript
applicationupdater_ui.swc Flex 4
applicationupdater_ui.swf JavaScript
203 Flex
203 HTML AIR
204 ApplicationUpdaterUI
Flex
AIR 2 SDK frameworks/libs/air SWC Flex Flash
Flex SDK amxmlc ApplicationUpdater.swc
ApplicationUpdater_UI.swc Flex SDK lib
ApplicationUpdater.swc
amxmlc -library-path+=lib/ApplicationUpdater.swc
-- myApp.mxml
-- myApp.mxml
HTML AIR
frameworks/html
applicationupdater.swf
applicationupdater_ui.swf
2011/10/13
ADOBE AIR
204
AIR
script applicationupdater_ui.swf
<script src="applicationupdater_ui.swf" type="application/x-shockwave-flash"/>
API
ApplicationUpdaterUI
ApplicationUpdaterUI
AIR
2 AIR ApplicationUpdaterUI
ActionScript
var appUpdater:ApplicationUpdaterUI = new ApplicationUpdaterUI();
JavaScript
var appUpdater = new runtime.air.update.ApplicationUpdaterUI();
3 updateConfig.xml
<?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>
delay
4 updateConfig.xml AIR
5 updater updateConfig.xml initialize()
ActionScript
appUpdater.configurationFile = new File("app:/updateConfig.xml");
appUpdater.initialize();
JavaScript
appUpdater.configurationFile = new air.File("app:/updateConfig.xml");
appUpdater.initialize();
6 AIR version
AIR Web
1 AIR Web
2 updateDescriptor.2.5.xml
2011/10/13
ADOBE AIR
205
AIR
3 updateDescriptor.1.0.xml
<?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>
AIR 2.5
Adobe AIR
Flex (http://www.adobe.com/go/learn_air_qs_update_framework_flex_cn)
Flash (http://www.adobe.com/go/learn_air_qs_update_framework_flash_cn)
HTML (http://www.adobe.com/go/learn_air_qs_update_framework_html_cn)
AIR 2.5
AIR 2.5 AIR 2 AIR 2.5
AIR 2.5 SDK
AIR 2.5 AIR 2.5 AIR 2 AIR 2.5
AIR 2.5 SDK AIR 2.5
1 1.0 1.0.1
a AIR 2.5 Application Updater
Flash AIR applicationupdater.swc applicationupdater_ui.swc
HTML AIR applicationupdater.swf applicationupdater_ui.swf
b 1.0.1
2011/10/13
ADOBE AIR
206
AIR
AIR Web
AIR Web
XML
AIR 2.5
http://ns.adobe.com/air/framework/update/description/1.0 AIR 2.5
http://ns.adobe.com/air/framework/update/description/2.5
AIR 2.5 AIR 1.0 AIR 2.5 updater
AIR 2.5 AIR 2.5
AIR
AIR 2.5
1.0
2011/10/13
ADOBE AIR
207
AIR
AIR Web
updater
AIR 203 Flex 203 HTML AIR
updater
ActionScript
var appUpdater:ApplicationUpdater = new ApplicationUpdater();
JavaScript
var appUpdater = new runtime.air.update.ApplicationUpdater();
ApplicationUpdater ApplicationUpdaterUI
ActionScript
var appUpdater:ApplicationUpdaterUI = new ApplicationUpdaterUI();
JavaScript
var appUpdater = new runtime.air.update.ApplicationUpdaterUI();
appUpdater updater
XML
XML
updateURL URLRequest
updateURL 206 AIR
2011/10/13
ADOBE AIR
208
AIR
delay 0.25 0
updater
ApplicationUpdaterUI updateURL delay
defaultUIdialog dialog name dialog
visible True name
"checkForUpdate"
"downloadUpdate"
"downloadProgress"
"installUpdate"
"fileUpdate"
"unexpectedError"
false
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>
ApplicationUpdaterUI 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>
configurationFile
ActionScript
appUpdater.configurationFile = new File("app:/cfg/updateConfig.xml");
JavaScript
appUpdater.configurationFile = new air.File("app:/cfg/updateConfig.xml");
config-template.xml
ActionScript JavaScript
2011/10/13
ADOBE AIR
209
AIR
updateURL 206
AIR Web updater updater initialize() 210
ApplicationUpdaterUI updater
isCheckForUpdateVisible
isDownloadUpdateVisible
isDownloadProgressVisible
isInstallUpdateVisible
isFileUpdateVisible
isUnexpectedErrorVisible
ApplicationUpdaterUI True
False
AIR
1 updater 207
2 updater
3 updater AIR
4 updater
updater ApplicationUpdater
ApplicationUpdaterUI updater
updater
updater ApplicationUpdater currentState
"UNINITIALIZED" updater
"INITIALIZING" updater
"READY" updater
"BEFORE_CHECKING" updater
"CHECKING" updater
"AVAILABLE" updater
"DOWNLOADING" updater AIR
"DOWNLOADED" updater AIR
"INSTALLING" updater AIR
2011/10/13
ADOBE AIR
210
AIR
"PENDING_INSTALLING" updater
updater updater
appUpdater.initialize();
updater
UpdateEvent.INITIALIZED
ErrorEvent.ERROR
UpdateEvent.INITIALIZED
initialize() updater updater
checkNow()
appUpdater.checkNow();
checkNow() updater
UpdateEvent.CHECK_FOR_UPDATE
checkForUpdate updater checkForUpdate()
ApplicationUpdaterUI
ApplicationUpdaterUI
ApplicationUpdaterUI cancelUpdate()
ApplicationUpdaterUI updater
207
ApplicationUpdater
ApplicationUpdater preventDefault() 209
2011/10/13
ADOBE AIR
211
AIR
appUpdater.checkForUpdate();
updater
StatusUpdateEvent.UPDATE_STATUS updater
available true false
version
details ("")
"en" 206
AIR Web
StatusUpdateErrorEvent.UPDATE_ERROR updater
AIR
updater ApplicationUpdater updateStatus
downloadUpdate()
appUpdater.downloadUpdate();
updater AIR
downloadUpdate()
UpdateEvent.DOWNLOAD_START ApplicationUpdaterUI
ProgressEvent.PROGRESS
DownloadErrorEvent.DOWNLOAD_ERROR HTTP
404 - File not found 404 - errorID
subErrorID
UpdateEvent.DOWNLOAD_COMPLETE updater
ApplicationUpdater ApplicationUpdaterUI
ApplicationUpdater downloadComplete
installUpdate()
appUpdater.installUpdate(file);
2011/10/13
ADOBE AIR
212
AIR
UpdateEvent.BEFORE_INSTALL
Event preventDefault()
checkNow()
AIR
installFromAIRFile() AIR
appUpdater.installFromAIRFile();
updater AIR
installFromAIRFile()
installUpdate()
cancelUpdate()
appUpdater.cancelUpdate();
updater
ApplicationUpdaterUI
ApplicationUpdaterUI
AIR Web
2011/10/13
ADOBE AIR
213
AIR
Flex "ApplicationUpdaterDialogs"
JavaScript updater addResources()
ApplicationUpdaterUI addResources()
2011/10/13
214
18 :
Web HTML HTML AIR
Source Viewer
Source Viewer JavaScript AIRSourceViewer.js AIR SDK frameworks
Source Viewer AIRSourceViewer.js HTML
getDefault()
SourceViewer
setup()
viewSource()
Source Viewer
Source Viewer
config() Source Viewer configObject configObject Source
Viewer default exclude initialPosition modal typesToRemove typesToAdd
default
Source Viewer
JavaScript Source Viewer index.html
var viewer = air.SourceViewer.getDefault();
var configObj = {};
configObj.default = "index.html";
viewer.viewSource(configObj);
exclude
Source Viewer
JavaScript Source Viewer AIRSourceViewer.js
Images Sounds
2011/10/13
ADOBE AIR
215
initialPosition
Source Viewer x y
JavaScript [40, 60] X = 40 Y = 60 Source Viewer
var viewer = air.SourceViewer.getDefault();
var configObj = {};
configObj.initialPosition = [40, 60];
viewer.viewSource(configObj);
modal
Source Viewer (true) (false) Source Viewer
typesToAdd
Source Viewer
Source Viewer
- TXT XML MXML HTM HTML JS AS CSS INI BAT PROPERTIES CONFIG
- JPG JPEG PNG GIF
typesToExclude
JavaScript VCF VCARD Source Viewer
var viewer = air.SourceViewer.getDefault();
var configObj = {};
configObj.typesToAdd = ["text.vcf", "text.vcard"];
viewer.viewSource(configObj);
text image
typesToExclude
Source Viewer
Source Viewer
- TXT XML MXML HTM HTML JS AS CSS INI BAT PROPERTIES CONFIG
- JPG JPEG PNG GIF
JavaScript GIF XML Source Viewer
2011/10/13
ADOBE AIR
216
text image
Source Viewer
Source Viewer
Source Viewer
<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>
2011/10/13
ADOBE AIR
217
Source Viewer
SourceViewer viewSource() AIR Source Viewer
2011/10/13
218
19 : AIR HTML
Adobe AIR SDK AIRIntrospector.js JavaScript HTML
AIR
Adobe AIR HTML/JavaScript AIR HTML
HTML
DOM
JavaScript
DOM
DOM
CSS JavaScript
HTML
AIR HTML
AIR
AIR AIRIntrospector.js JavaScript AIR SDK
AIR AIRIntrospector.js HTML
HTML
AIRIntrospector.js AIR
2011/10/13
ADOBE AIR
219
AIR HTML
HTML (btn1)
<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>
btn1
2011/10/13
ADOBE AIR
220
AIR HTML
info()
error()
warn()
dumpObject
levels
dump()
testObject
AIR
AIRIntrospectorConfig JavaScript AIR
100
var AIRIntrospectorConfig = new Object();
AIRIntrospectorConfig.wrapColumns = 100;
AIRIntrospectorConfig
closeIntrospectorOnExit
true
debuggerKey
123 F12
AIR
debugRuntimeObjects
true
JavaScript
flashTabLabels
XMLHttpRequest
true
introspectorKey
122 F11
(Inspect)
showTimestamp
true
showSender
true
wrapColumns
2000
2011/10/13
ADOBE AIR
221
AIR HTML
AIR
AIR F12 Console 218
F12 220 AIR
2011/10/13
ADOBE AIR
222
AIR HTML
air.Introspector.Console 218
(Clear Console)
(Save Console To
File)
(Save Console
To Clipboard)
Console (Save Console To
File)
Ctrl+F (Windows) Command+F (Mac OS)
2011/10/13
ADOBE AIR
223
AIR HTML
HTML
HTML HTML DOM + -
HTML
(Inspect) AIR HTML
DOM HTML
2011/10/13
ADOBE AIR
224
AIR HTML
DOM
DOM
2011/10/13
ADOBE AIR
225
AIR HTML
CSS JavaScript
- HTML
- UI Ajax
2011/10/13
ADOBE AIR
226
AIR HTML
- AIR AIR
XHR
XHR XMLHttpRequest
XMLHttpRequest responseText responseXML
2011/10/13
ADOBE AIR
227
AIR HTML
AIR
iframe frame Adobe AIR HTML
ActionScript Adobe AIR HTML HTML AIR
AIRIntrospector.js (iframe)
parentSandboxBridge AIR
AIR AIR
AIR
AIR
2011/10/13
228
20 : AIR
Adobe AIR 1.1
Adobe AIR
ActionScript 3.0 Flex ActionScript 3.0
AIR
AIR 1.1 AIR
AIR 1.5
AIR
Adobe AIR 1.1
name description
2011/10/13
ADOBE AIR
229
AIR
<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>
description AIR
AIR
AIR AIR
157 AIR
AIR HTML
AIRLocalizer.js script HTML
JavaScript air.Localizer.localizer
<script>
var localizer = air.Localizer.localizer;
</script>
air.Localizer.localizer Localizer
getFile()
234
getLocaleChain()
233
getResourceBundle()
234
getString()
234
setBundlesDirectory()
2011/10/13
ADOBE AIR
230
AIR
setLocalAttributePrefix()
setLocaleChain()
233
sortLanguagesByPreference() 233
update()
Localizer
localizer
Localizer
ultimateFallbackLocale
233
HTML
fr en (_) /
en_us en-us HTML
locale
HTML getFile() 234
.properties
"Hello in English." greeting
greeting=Hello in English.
title=Sample Application
greeting=Hello in English.
exitMessage=Thank you for using the application.
color1=Red
color2=Green
color3=Blue
en
fr
title=Application Example
greeting=Bonjour en franais.
exitMessage=Merci d'avoir utilis cette application.
color1=Rouge
color2=Vert
color3=Bleu
2011/10/13
ADOBE AIR
231
AIR
legal.properties
UTF-8
AIRLocalizer.js
230 AIRLocalizer.js
Capabilities.languages
en en_US en_UK AIR HTML Localizer
en ["en", "en_US", "en_UK"]
en en_US
en-US ["en_US", "en", en_UK"]
en_US en
DOM
title local_innerHTML
"local_" "local_"
title innerHTML innerHTML (attribute) (property)
(default.properties) mainWindowTitle
<title local_innerHTML="default.mainWindowTitle"/>
localizer
innerHTML local_innerHTML
value local_value
<input type="text" value="Blue" local_value="default.btnBlue"/>
2011/10/13
ADOBE AIR
232
AIR
DOM
Localizer HTML DOM HTML
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>
JavaScript
var divElement = window.document.getElementById("colorsDiv");
air.Localizer.localizer.update(divElement);
"local_"
lblColors default.properties
"default.lblColors" innerHTML
update() resourceNotFound air.Localizer.RESOURCE_NOT_FOUND
"resourceNotFound"bundleName resourceName locale bundleName
resourceName locale
2011/10/13
ADOBE AIR
233
AIR
"locales"
appapp-storage file URL "app://languages" http URL URL
File
URL
File ActionScript
File HTML
air.Localizer.localizer.setBundlesDirectory("languages");
path BundlePathNotFoundError
("local_")
HTML
HTML 231 DOM
AIRLocalizer.js
231
Localizer setLocaleChain()
setLocaleChain() chain ["fr_FR","fr","fr_CA"]
chain IllegalArgumentsError
Localizer getLocaleChain()
2011/10/13
ADOBE AIR
234
AIR
"change" localeChain
air.Localizer.ultimateFallbackLocale "en"
air.Localizer.ultimateFallbackLocale = "fr";
bundleName
.properties
"alerts" Localizer alerts.properties
resourceName
templateArgs
templateArgs
HTML DOM
2011/10/13
ADOBE AIR
235
AIR
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);
}
Localizer getResourceBundle()
null
locale bundleName
locale
"fr"
bundleName
resourceFileName
"about.html"
templateArgs
templateArgs
["Ral", "4"]
<html>
<body>Hello, {0}. You have {1} new messages.</body>
</html>
<html>
<body>Hello, Ral. You have 4 new messages. </body>
</html>
locale
"en_GB"
resourceFileName
fr about.html document.write()
2011/10/13
ADOBE AIR
236
AIR
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);
}
HTML
2011/10/13
237
21 :
AIR SDK SDK bin
shell $PATH
echo $PATH
/usr/bin:/bin:/usr/sbin:/usr/local/bin:/usr/x11/bin
/Users/fred/SDKs/AIR
export PATH=$PATH:/Users/fred/SDKs/AIR/bin:/Users/fred/SDKs/android/tools
echo
echo $PATH
/usr/bin:/bin:/usr/sbin:/usr/local/bin:/usr/x11/bin:/Users/fred/SDKs/AIR/bin:/Users/fred/SDKs/android/too
ls
adt -version
$PATH ADT
1
cd
3
export PATH=$PATH:/Users/cward/SDKs/android/tools:/Users/cward/SDKs/AIR/bin
2011/10/13
ADOBE AIR
238
4 CTRL-SHIFT-D
5
cat .bash_profile
6
echo $PATH
SDK shell
Windows
Windows
set path
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
1
2
3
4
5
6
;C:\SDKs\AIR\bin
adt -version
AIR SDK
2011/10/13