Welcome to the developer release notes for Adobe AIR 2.5. This update includes a new mobile platform support for Android, and bug fixes that improve the security, stability, performance, and compatibility of AIR.
Installing/uninstalling Adobe AIR and installing AIR applications
|
|
Windows |
Macintosh |
Linux |
Android |
|
Processor |
Minimum: Intel® Pentium® III 1GHz or faster processor Recommended: Pentium 4 2GHZ or faster |
Intel Core™ Duo 1.83GHz or faster processor. |
Minimum: Intel® Pentium® III 1GHz or faster processor Recommended: Pentium 4 2GHZ or faster |
ARMv7 processor with Vector FPU Minimum 550Mhz OpenGL ES2.0 H.264 & AAC H/W Decoders |
|
Operating System |
Microsoft® Windows® XP Home, Professional, or Tablet PC Edition with Service Pack 2 or 3 (including 64 bit editions), Windows Server® 2003, Windows Vista® Home Premium, Business, Ultimate, or Enterprise (including 64-bit editions) with Service Pack 1, or Windows 7 (including 64 bit editions) |
Mac OS 10.4, 10.5 or Mac OS 10.6 (Snow Leopard) |
Fedora Core 12, Ubuntu 9.10, openSUSE 11.2 |
Android 2.2 (FroYo) |
|
RAM |
Minimum: 512MB RAM; Recommended: 1GB RAM |
Minimum: 512MB RAM; Recommended: 1GB RAM |
1 GB RAM |
256MB RAM |
Note: Windows 2000 and Mac PowerPC are not supported as of AIR 2. Users can install and run AIR 1.5 applications, but will not be able to install or update to AIR 2 or later releases. Mac OS 10.4 running on an Intel processor is supported for running AIR 2 applications, but is not supported as development environment with the AIR SDK, version 2 or later.
|
Supported desktop environments |
GNOME and KDE |
|
Package management systems |
RPM or Debian |
|
Minimum GTK+ version |
2.6 |
|
Window managers |
Metacity (default for GNOME) and KWin (default for KDE) |
|
Transparency |
Support for transparency in AIR applications requires a compositing window manager and additional X server extensions. The following are supported: Compositing window managers: Beryl, Compiz, Compiz-fusion X server extensions: Composite, Render, Shape |
|
Flash Player |
Seamless (badge) installation from the web requires Flash Player 10.0.15.3 or later |
Libraries required to run AIR 2 on Linux
A list of libraries required to run AIR 2 on Linux are listed in the following Adobe Knowledge Base (KB) article: http://kb2.adobe.com/cps/838/cpsid_83888.html
Adobe AIR 2.5 installation and runtime user experience supports the following languages:
Fixed issue in previous AIR 2.5 SDK that prevented Flex-mojos plugins from working properly.
StageWebView allows developers to render HTML content inside mobile AIR applications using the native web browser provided by the platform. To support simulation of mobile applications, the new StageWebView API is also implemented in the desktop profiles using AIR's WebKit. This capability is also currently enabled for the desktop profiles of AIR as well.
CSS shadow support (-webkit-box-shadow and -text-shadow) allows you to create shadow effects to both text and HTML borders without the need of creating graphics.
CSS font-face support is enabled in this version of AIR, with support for OpenType and TrueType fonts. WOFF and SVG fonts are not currently supported.
AIR 2.5 supports hardware decoding of H.264 video on Windows desktop, notebook and netbook systems. With supported hardware and driver combination running on Windows XP, Windows Vista and Windows 7, AIR applications can now use the GPU to decode video and run with a lot less CPU impact. For example, our internal testing with the NVIDIA Ion netbook shows that a 1080p video utilizing 65-70% CPU before can now run perfectly smooth with GPU acceleration and an average of 19% CPU utilization.
Supported hardware for this feature includes some recent NVIDIA, AMD/ATI, Intel graphics cards and some Broadcom video decoders.
The -screensize argument can be used to specify the simulated screen size to use while using ADL with an application running under the mobileDevice profile. For information on using ths argument, see the AIR Debug Launcher topic in the Building Adobe AIR Applications guide.
AIR for Android conforms to the AIR mobile device profile. Not all APIs that are supported on the desktop are supported on mobile devices. For a list of APIs that are not supported see Device profiles.
Application developers must specify any required Android permissions in the application descriptor of the AIR application. The Android operating system protects features that have security or privacy implications with a permission system. If a permission required to access a feature is not specified, attempts to use that feature will fail. Also, Android displays the specified permissions to the user before installing your application.
To specify Android permissions, add an <android> tag under the <application> tag:
<android>
<manifestAdditions>
<![CDATA[
<manifest>
<uses-permission android:name="android.permission.PERMISSION_NAME" />
</manifest>
]]>
</manifestAdditions>
</android>
Replace PERMISSION_NAME with the name of the required permission. Add an additional <uses-permission> tag for each required permission
The following permissions are relevant to the features available to AIR applications on Android:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
NetworkInfo class is supported on Android. It can be used to find network interfaces using the method NetworkInfo.networkInfo.findInterfaces().
However NetworkInterface.mtu is returned as -1 on Android.
In order to access network information, you must specify the following android tag under <application> tag in application descriptor.
<android>
<manifestAdditions>
<![CDATA[
<manifest>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
</manifest>
]]>
</manifestAdditions>
</android>
By using this feature an application can be made invokable from browser or native android application. When the application is invoked from browser/android-app, an InvokeEvent is dispatched to the application.
For making an application invokable from browser, add this in your application descriptor (as child of application element):
<android>
<manifestAdditions>
<![CDATA[
<manifest>
<application>
<activity>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="testapp"/>
</intent-filter>
</activity>
</application>
</manifest>
]]>
</manifestAdditions>
</android>
Now to launch your application from browser, provide the url as: testapp://. An example is:
<a href="testapp://">click here to launch air test app from browser</a>
Clicking on this link will launch your application.
If you want to pass additional arguments to your application from browser, use something like this:
<a href="testapp://arg1=value&secondArgument=someValue">click here to launch air test app from browser</a>
Once your application gets launched, fetch the arguments property of received InvokeEvent. This will contain the complete URI (testapp://arg1=value&secondArgument=someValue) and you can parse it to extract the arguments.
This feature allows you to access a phone's camera application. Once the user takes a picture or video the saved media is saved to camera roll and returned to ActionScript through a MediaEvent. Note tht the video format returned by the camera application may not be a format that can be played in an AIR application.
The ActionScript Camera class is now supported on some mobile devices. Use the Camera.isSupported property to test whether the Camera class is available on a specific device at run time. For more information, see flash.media.Camera.
Note the following in AIR for Android:
1. Only one camera on device is supported.
2. The hardware orientation of the camera is landscape, thus the video object (when attached to camera) will show upright video only in landscape mode. Camera apps should use landscape orientation.
3. The Camera object does not capture frames when the app is in background. Frame capture resumes automatically when app comes back to foreground.
The ActionScript Microphone class is now supported on some mobile devices. Use the Microphone.isSupported property to test whether the Microphone class is available on a specific device at run time. For more information, see flash.media.Microphone.
The new StageWebView API allows developers to embed HTML content inside mobile AIR applications using the native web browser provided by the platform. For more information, see flash.media.StageWebView
AIR on Android supports hardware acceleration which enables fast rendering by offloading some of the rendering tasks to the GPU. The GPU rendering mode used in AIR for Android apps is significantly different than the mode used in AIR 2.0.1 (Packager for iPhone). A larger class of AIR applications should be able to take advantage of GPU acceleration in AIR 2.5. See the GPU topic in Optimizing Performance for the Flash Platform for more information.
The AIR Developer Tool (ADT) supports new target options for building Android application packages (APK files):
You can register for Keyboard events on the NativeApplication object to detect when the user presses the device soft keys, "BACK", "MENU" and "SEARCH". Use the following key codes to detect which key is pressed.
Note that you can call the event preventDefault() method when the Back key is pressed to prevent the Back key's default behavior of returning to the previous application. The Menu and Search keys do not have default behavior.
A keyboard event is not dispatched for the Home soft key.
AIR 2.5 supports a 36x36-pixel icon to suit low-density Android screens. Previous versions of AIR already support 48x48- and 72x72-pixel icons (which you can use for medium- and high-density screens respectively). If you don't provide a matching icon size for a particular screen density (e.g: 72x72 for high-density android screens or 48x48 for medium-density screens), then the application uses the icon that is largest and closest to the target icon size.
The ADT -certificate command allows you to specify the number of years that the created certificate is valid. The argument for this is -validityPeriod <years>. By default, a certificate is created with a validity of 5 years. However, the Android Market requires that submitted Apps be signed with a certificate valid until at least 2033. You can use the -validtyPeriod argument to create self-signed certificates that satisfy this requirement. For more information, see the Creating a self-signed certificate topic in Building Adobe AIR Applications.
The Geolocation class provides location information to the AIR applications. In Android applications, you must specify the following permissions in the application descriptor to use Geolocation:
For more information about the Geolocation class, see Geolocation.
You can use the systemIdleMode property of the NativeApplication object to prevent a device from going into its power-saving modes, such as screen dimming or going to slep. In Android applications, you must specify both the following permissions in the application descriptor to prevent screen dimming:
<android>
<manifestAdditions>
<![CDATA[
<manifest>
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
</manifest>
]]>
</manifestAdditions>
</android>
For more information about the systemIdleMode property, see NativeApplication.systemIdleMode.
You can use URIs with the sms: and tel: URI schemes with navigateToURL() in order to open the device text message and phone dialer application.
The "sms:" and "tel:" URI schemes can only be used by content running in the application security sandbox. If a URI using an sms: or tel: scheme is invoked from any other sandbox, a security exception is thrown.
navigateToURL(new URLRequest('sms:1234567890'));
The feature lets the user to connect to an SSL site for which the validation of server certificate fails using Android cert store, by explicitly asking the user for permission to connect. Certificate can be trusted for the session only.
After the user selects text in a text field, the application shows a menu for text operations.
Long press on the text field also shows the menu for text operations like cut, copy, paste, Input Method etc
To allow a user to interact with text fields in full-screen mode, full-screen mode must be set using FULL_SCREEN_INTERACTIVE.
Note: Please avoid using Spark text fields, there are many known issues with it.
Using this feature, your application can allow the user to browse for an image from the phone's media library.
On devices with accelerometer support, AIR applications can detect screen orientation changes. Three new properties are available on the Stage class:
The deviceOrientation property returns the current device orientation. The Stage object dispatches an orientationChange event when the orientation of the Stage changes. The Stage can reorient due to device rotation, or opening and closing of the hardware keyboard. Note that an ORIENTATION_CHANGING event is not dispatched by AIR applications on Android.
For details, see the Screen Orientation topic in the ActionScript 3.0 Developer's Guide.
You must update your application descriptor file to the 2.5 namespace in order to access the new AIR 2.5 APIs and behavior. If your application does not require the new AIR 2.5 APIs and behavior, you are not required to update the namespace. However, we recommend all users start using the AIR 2.5 namespace even if you are not yet taking advantage of the new 2.5 capabilities. To update the namespace, change the xmlns attribute in your application descriptor to:
<application xmlns="http://ns.adobe.com/air/application/2.5">
The <version> tag in the AIR application descriptor is not allowed for namespaces 2.5 & above. Instead two new tags have been introduced: <versionNumber> and <versionLabel>.
<versionNumber> is mandatory. Use the format <0-999>.<0-999>.<0-999> to specify a version number. For example, the following are all legal settings:
The version number is evaluated for application updates. An updated version of the application must have a version number value higher than the previous versions.
<versionLabel> is optional. The version label is shown to users whenever the application version is displayed. If not specified, the value the version number is displayed.
Note: <version> tag must still be used for namespaces below 2.5.
The updateDescriptor.xml file must also be updated to the 2.5 namespace. If an application is updated from 2.0 to 2.5 namespace, you must maintain two updateDescriptor.xml files. One update descriptor must use namespace 1.0 and is for for users who have not updated to the 2.5 namespace version of the application. The second update descriptor must use namespace 2.5 and is for users who have updated to a 2.5 namespace version of application.
Updating to an AIR 2.5 version (or later) of an application from an application created in a version of AIR earlier than 2.5 requires an intermediate update step. Consider the following scenario:
In this case, in order to be able to update from version 1 to version 2, an intermediary update step must be added as follows
Please refer to the following tech note for installer troubleshooting:
Adobe Community Help is Adobe's next generation help experience. It's an AIR application that provides the following features:
Community Help is installed by default in Creative Suite CS5 and Flash Builder 4. If you're using the AIR SDK separate from those tools, you can install Community Help yourself here: Install Adobe Community Help.
You can find links to all of the AIR documentation on the Adobe Developer Connection.
The AIR Help and Support page is a search portal for AIR information from Adobe and the AIR developer community. You'll also find great new articles and tutorials and links to current support issues.
In AIR 2 and later versions, installation logs for the runtime and for individual applications are created by default. The file is named "Install.log" on Linux and Windows. The file is named "system.log" on Mac OS. This log file is cumulative, meaning that a new log is appended at the end of the existing log file whenever an attempt, successful or unsuccessful, is made to install or update the AIR runtime or an AIR application. The size of the log file is limited to 0.5MB and the file is truncated when it becomes too large.
The location of this file differs from platform to platform:
Adobe AIR 2.5 includes security improvements described in Security Bulletin APSB10-22.
To report a feature request, please submit and vote on ideas using the Adobe AIR Ideas website.
To report a bug, please report the issue using the Adobe AIR feedback bug feedback form.
Sign in to your account