Personal tools

Views

AIR:Release Notes

From Adobe Labs

Adobe AIR 1.0 Beta 3 Release Notes

December 12 , 2007

These release notes document installation issues and known issues related to the Beta 3 version of Adobe AIR 1.0.

Table of contents

Documentation for this release

For a complete list of Adobe AIR Beta 3 documentation (developer's guides, reference, and quick start samples), see http://labs.adobe.com/wiki/index.php/AIR:Documentation.

Supported Platforms

The Adobe AIR Beta 3 release is supported on:

Installing Adobe AIR

AIR runtime expiration dates

The Adobe AIR Alpha 1 and Beta 1 runtimes have expired, so all applications created for these previous versions should be updated to work with Adobe AIR Beta 3. Adobe AIR Beta 2 will expire June 1, 2008, and Adobe AIR Beta 3 will expire November 1, 2008.

Running Adobe AIR Beta 2 and Beta 3 side-by-side

You can install both Adobe AIR Beta 2 and Adobe AIR Beta 3 on the same computer and you can run both Beta 2 and Beta 3 applications at the same time. However, you should make sure to install Adobe AIR Beta 2 before Adobe AIR Beta 3. Installing Adobe AIR Beta 2 after Adobe AIR Beta 3 will cause the subsequent installation of AIR applications to fail.

Uninstall Alpha 1 and Beta 1 before installing Beta 3

Because Adobe AIR Alpha 1 and Adobe AIR Beta 1 have expired, you should uninstall them to avoid conflicting with the latest version:

To uninstall the Apollo 1.0 Alpha 1 runtime on Windows:

  1. In the Windows Start menu, select Settings > Control Panel.
  2. Select the Add or Remove Programs control panel.
  3. Select “Adobe Apollo 1.0 Alpha1” to uninstall the Apollo runtime.
  4. Click the Change/Remove button.

To uninstall the Apollo 1.0 Alpha 1 runtime on Mac OS:

  1. Delete the /Library/Frameworks/Adobe Apollo.framework directory.
  2. Delete the /Library/Receipts/Adobe Apollo.pkg file.
  3. Empty the trash.

To uninstall the AIR 1.0 Beta 1 runtime on Windows:

  1. In the Windows Start menu, select Settings > Control Panel.
  2. Select the Add or Remove Programs control panel.
  3. Select “Adobe AIR 1.0 Beta 1” to uninstall the AIR runtime.
  4. Click the Change/Remove button.

To uninstall the AIR 1.0 Beta 1 runtime on Mac OS:

  1. There is an added application to uninstall the runtime on the Macintosh. Double-Click the “Adobe AIR Uninstaller” from your <User>/Applications directory.

Uninstalling Adobe AIR Beta 3

Once you have installed Adobe AIR Beta 3, you can uninstall it by:

To uninstall the runtime on Windows:

  1. In the Windows Start menu, select Settings > Control Panel.
  2. Select the Add or Remove Programs control panel.
  3. Select “Adobe AIR” to uninstall the AIR runtime.
  4. Click the Change/Remove button.

To uninstall the runtime on Mac:

Note: Uninstalling AIR Beta 3 will also uninstall any previous installed AIR runtime.

Beta 1 or Beta 2 Seamless Installation after you have installed Beta 3

Trying to install Beta 1 or Beta 2 applications through Seamless installation once you have installed Beta 3 will fail. Re-create your Beta 1 and Beta 2 installation badges based on the Beta 3 SDK.

Note: Seamless Installation requires Flash Player 9 Update 3 (version 9.0.115) to work.

Updating your application to Adobe AIR Beta 3

Changes to the application descriptor (application.xml) file

The following changes apply to this release:

An example would be:

<?xml version="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/1.0.M6">
    <id>SampleApp</id>
    <version>1.2</version>
    <filename>Sample</filename>
    <description>Sample app description</description>
    <copyright>Sample app copyright information</copyright>
    <name>Sample Application </name>
    <initialWindow>
         <title>Main Window</title>
         <content>SampleApplication.swf</content>
         <systemChrome>standard</systemChrome>
         <transparent>false</transparent>
         <visible>true</visible>
         <minimizable>true</minimizable>
         <maximizable>true</maximizable>
         <resizable>true</resizable>
         <width>800</width>
         <height>600</height>
         <x>150</x>
         <y>150</y>
    </initialWindow>
    <fileTypes>	 
 <fileType>
   <name>AIR.TextFile</name>
   <extension>aptxt</extension>
   <description>AIR Text File</description>
   <contentType>application/vnd.AIR.text-file</contentType>
   <icon>
       <image16x16>icons/Doc1/txt_16.png</image16x16>     
       <image32x32>icons/Doc1/txt_32.png</image32x32>
       <image48x48>icons/Doc1/txt_48.png</image48x48>
           <image128x128>icons/Doc1/txt_128.png</image128x128>
   </icon>	    
 </fileType>
 <fileType>
   <name>AIR.ImageFile</name>
   <extension>apimg</extension>
   <description>AIR Image File</description>
   <contentType>application/vnd.AIR.image-file</contentType> 
    <icon>
           <image16x16>icons/Doc2/ft_16_16.png</image16x16>     
        <image32x32>icons/Doc2/ft_32_32.png</image32x32>
        <image48x48>icons/Doc2/ft_48_48.png</image48x48>
          <image128x128>icons/Doc2/ft_128_128.png</image128x128>
    </icon>	    
  </fileType>	  
</fileTypes>
</application>

Migrating Adobe AIR projects created in FlexBuilder 2.0.1 to FlexBuilder 3.0 Moxie

AIR applications developed using Flex Builder 2.0.1 and the Alpha version of AIR (referred to by its code name Apollo), are not supported in Flex and Flex Builder 3. To port your AIR applications to the new version, you need to do the following:

If you're using Flex Builder:

  1. Create a new AIR project in Flex Builder.
  2. Copy and paste the application code from your old Apollo project’s main MXML file into the new AIR project MXML file. Note that the AIR application container (ApolloApplication) has been changed to WindowedApplication.
  3. If you made any additions or customizations to the application descriptor file in your Flex Builder 2.0.1 project, they will need to be replicated in the application descriptor of your new AIR project in Flex Builder 3.0.
  4. Add your project’s assets into the new project using the Flex Builder project navigator.
  5. Update any remaining code that refers to the ApolloApplication container.

If you're using the Flex SDK:

  1. Recreate the application.xml file.
  2. Update your code with the new name for the AIR application container (WindowedApplication).

API Changes in Adobe AIR Beta 3

For detailed information about these APIs, please consult the Language Reference doc.

New Methods/Properties/Constants

File

HTML

Mouse

Drag and Drop

Media

DRM

Security

NativeApplication (formerly Shell)

Local SQL DB

DRM

Removed Methods/Properties/Constants

URLRequest

Local SQL DB

HTML

NativeWindow

API changes

URI Schemes

File

Drag and Drop

Mouse

Service Monitor

Screen

NativeApplication (formerly Shell)

Local SQL DB

URLRequest

URLMonitor

Updater

HTML

EncryptedLocalStore

Seamless Installation Update

For AIR Beta 3 the badge detection logic (AIRBadge.as) and badge file (badge.fla) have been updated. To update your existing badge while keeping your existing badge look and feel, take your badge.fla and the AIR Beta 3 AIRBadge.as file and create a new badge. Change the “airversion” variable setting to 1.0.M6. The new badge is now written in ActionScript 3 and requires Flash Authoring CS3.

Note: Seamless Installation requires Flash Player 9 Update 3 (version 9.0.115) to work.

For additional information about the new functionality please go to the FAQ: http://labs.adobe.com/wiki/index.php/AIR:Developer_FAQ#Browser_API_and_Seamless_Install.28Badge.29_Feature_FAQ

Migrating local database files to Adobe AIR Beta 3

The BLOB affinity has changed in Beta 3 from previous releases. When BLOB affinity is used in Beta 3, any data set in a parameter is serialized to a ByteArray before storing the value. This means that previous database files that contain ByteArray explicitly in code will need to migrate the data (or if possible not use a ByteArray to serialize the data before setting a parameter). If code is serializing several objects to a ByteArray() before setting a parameter, the data must be migrated using an M05 version of the runtime. The following code shows an example of migrating a Beta 2 database with BLOB affinity to Beta 3.

var con:SQLConnection = new SQLConnection();
var sql:SQLStatement = new SQLStatement();
               
con.open(File.applicationDirectory.resolvePath("itemCacheM5.db"));
sql.sqlConnection = con;
sql.text = "select * from items;";
sql.execute();
var result:SQLResult = sql.getResult();

sql.text = "update items set itemData = :data where itemID = :id;";
con.begin();
for (var i:int=0; i<result.data.length; i++)
{
  var ba:ByteArray = new ByteArray();
  ba.writeObject(result.data[i].itemData);
  sql.parameters[":data"]= ba;
  sql.parameters[":id"] = result.data[i].itemID;
  sql.execute();
}
con.commit();

ISQLUserDefinedFunction and SQLUserDefinedFunctionType to be deprecated

ISQLUserDefinedFunction and SQLUserDefinedFunctionType to be deprecated in the final AIR release. Please stop using them.

Tips and Tricks

Screen capture of AIR applications

When trying to screen capture AIR applications that contain transparent windows, the resulting output might not be visible. Some screen capture applications will allow you to capture layered windows that will result in the correct output. Examples of how to capture AIR applications that contain transparent windows:

Opening an AIR application with Safari

In Safari, clicking on a link to install an AIR application will download it to your desktop first rather than installing the app. You can then double-click on the downloaded .air file to install the application.

Setting the MIME type on your Web server for AIR applications

In order for client browsers to recognize an AIR application when being downloded, the Web Server hosting the AIR applications need to map the following MIME Content Type “application/vnd.adobe.air-application-installer-package+zip” to the AIR extension “.air”. For example, for an Apache Web Server you will add to the AddType section: AddType application/vnd.adobe.air-application-installer-package+zip .air

Debugging Mode

The debugging mode is enabled when launching an application from ADL, unless the -nodebug flag is specified. When in debugging mode, the runtime makes additional checks and generates additional debugging information. In case of an error, debugging messages may get displayed. The debugging mode can cause an application to run more slowly but can be helpful to isolate errors.

Spry 1.6 and the Adobe AIR user agent string

Spry 1.6 currently does not recognize the AIR user agent sent in HTMLLoader. For additional information, see: http://labs.adobe.com/technologies/spry/air.html.

Known Issues in Adobe AIR Beta 3

HTML support

The following are known issues with HTML support:

Flash content in HTML

Failing to package AIR applications through FlexBuilder/ADT with Verisign certificates or certificates that have no extensions

When packaging AIR applications through FlexBuilder or ADT with Verisign-issued Authenticode certificates or certificates that have no extensions, you might receive an error like:

unexpected failure: null
java.lang.NullPointerException
        at com.adobe.pki.PKIContext.getCRLsFromCert (PKIContext.java:210)
        at com.adobe.pki.PKIContext.harvestCRLsFromChain (PKIContext.java:89)
        at com.adobe.pki.PKIContext.VerifyCertPath(PKIContext.java:184)
 ...

Please follow these directions to package your AIR applications:

  1. Download the correct ADT tool from: http://www.adobe.com/go/getadt
  2. Copy this file to: <Location of AIR SDK Directory>\lib and replace the previous version
  3. You can now execute the following command to create your AIR package:
 adt -package -storetype pkcs12 -keystore myCertificate -storepass myPassword application.xml <myApp>.swf  <myOtherFiles>

Start Application after installation not auto launching

If your application is not auto launching even if the “Start application after installation” option is selected, please make sure that the <name> and <filename> values are the same.

Garbage Collection in FlexBuilder Profiler feature on Mac

On Mac OS, using the Run Garbage Collector button in FlexBuilder Profiler sometimes doesn't have the same effect as calling System.gc(). The workaround is to use System.gc() on Mac.

NativeApplication.undo() and NativeApplication.redo()

NativeApplication.undo() and NativeApplication.redo() are not working in this release.

NativeMenu.clone()

Invoking NativeMenu.clone() may cause a crash.

MouseEvent.buttonDown is always true

MouseEvent.buttonDown is always true for any MouseEvent.

Setting fullscreen or Interactive displayState while the Window is not visible

Setting fullscreen or Interactive displayState while the Window is not visible will cause rendering problems or possible crash.

Object scaling

If the stage scaleMode is not set to “NO_SCALE”, the content drawn into the stage will be scaled even in scenarios were it does not need to be (i.e. drawing an object smaller that the window display area should not be scaled).

F1-F12 key events

F1-F12 keys will not fire an event when typing in input fields.

Printing through Context Menu

For Beta 2, there is not default “Print” option in the context menu.

SQL API insert and commit

The execution of SQL APIs insert and commit are slower in Mac OS X than on Windows.

Binding file extensions on Parallels

Trying to bind a file extension through setAsDefaultApplication() on a Windows system in Parallels does not have any effect.

Calling NativeApplication.removeAsDefaultApplication() not working

Calling NativeApplication.removeAsDefaultApplication() is not unbinding the extension to a specified application and it causes an ActionScript error #2004 on Mac.

Reloading changed PDFs on Mac

On Mac, reloading a PDF that has changed may hang your application.

Moving a window beyond the menu bar on a Mac

You can move a window under the menu bar so that it can never be grabbed and moved again.

AIR Beta 2 update check on Mac OS 10.5 (Leopard)

If you only have the ADobe AIR Beta2 runtime installed on Mac OS 10.5 (Leopard), you might see the following error come up: “This application requires a version of AIR which is no longer supported. Please contact the application author for an updated version” . Once Beta 3 is installed you will no longer see this error message.

Calling FileReferece.uploadUnencoded with custom headers on Mac OS 10.5 (Leopard)

On Mac OS 10.5 (Leopard), uploading with FileReference with custom headers set in the URLRequest does not work properly.

Transparent apps on Mac OS 10.5 (Leopard)

You might see some drawing issues with transparent apps on Mac OS 10.5 (Leopard)

rollOut and mouseLeave not working properly on Mac OS 10.5 (Leopard)

rollOut and mouseLeave are not working properly on Mac OS 10.5. Clicking and dragging out of a window makes the app think the mouse is still down.

LocalConnection.allowDomain not working properly on a per-application basis

There is a bug in LocalConnection.allowDomain() that makes it impossible to grant permission on a per-app basis. Domains of the form "app#<appid>" do not work properly in LocalConnection.allowDomain(), having no effect. To enable app-to-app LocalConnection communication in this release, it is necessary to allow *all* domains to access the LocalConnection, using allowDomain("*"). Be aware that this may have security implications, as all applications and all non-application content will then be able to call methods on the LocalConnection endpoint.

AIR SDK badge install sample files missing 'www' in URL

In the badge install sample files (default_badge.html and red_badge.html), located in the samples/badge folder of the SDK, there is a URL to the AIR download page on adobe.com:

"http://adobe.com/go/getair/"

This link should be:

"http://www.adobe.com/go/getair/"

The URL without 'www' works in Firefox but not in Internet Explorer. Update these URLs when using these sample badge install files for your own AIR applications.


Updated Readme for the AIR SDK

This text updates the readme file that is included in the AIR SDK download file.

Adobe AIR SDK

README FILE

Beta 3

What's included in the SDK

BIN

adl.exe - The AIR Debug Launcher (ADL) allows you to run an AIR application without first packaging and installing it. adt.bat - The AIR Developer Tool (ADT) packages your application as an AIR file for distribution.

FRAMEWORKS

AIRAliases.js - Provides "alias" definitions that allow you to access the ActionScript runtime classes. servicemonitor.swf - Provides AIR applications with an event-based means of responding to changes in network connectivity to a specified host.

LIB

adt.jar - The adt executable file, which is called by the adt.bat file. Descriptor.1.0.M5.xsd and Descriptor.1.0.M6.xsd - The application schema file (one each for the current and previous beta release milestones).

RUNTIME

The AIR runtime - The runtime is used by ADL to launch your AIR applications before they have been packaged or installed.

SAMPLES

This folder contains a sample application descriptor file, a sample of the seamless install feature (badge.swf), and the default AIR application icons.

SRC

This folder contains the source files for the seamless install sample.

TEMPLATES descriptor-template.xml - A template of the application descriptor file, which is required for each AIR application.


Getting Started with the AIR SDK

  1. Build your HTML files using the editor of your choice. Arrange them as you would on a web server, in a single folder with relative references.
  2. If you're using the AIR APIs, include a <script> reference to the AIRAliases.js file.
  3. Use ADT to test your application with the debugger.
  4. Use ADL to build an application installer that can be distributed to other people.
  5. If you're distributing your AIR application from a web page, refer to the topic "Distributing and installing using the seamless install feature" in "Developing Adobe AIR Applications with HTML and Ajax".

More information about all of these steps is available in the "Developing Adobe AIR Applications with HTML and Ajax". See the next section for the locations of the AIR documentation.

If you want to build Flex-based AIR applications, download the Flex SDK, which is located here: http://labs.adobe.com/technologies/flex/sdk/flex3sdk.html?e=labs_adobeflexbuilder3

AIR SDK Documentation

The following Adobe AIR HTML developer documentation is available for Beta 3 (the current release) in the LiveDocs format:

Downloading Adobe AIR HTML documentation

You can download the Adobe AIR HTML documentation from the following location:


Copyright © 2007 Adobe Systems Incorporated and its Licensors. All Rights Reserved.

Adobe and the Adobe logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries.

Protected by U.S. patent 6,879,327. Patents pending in the U.S. and/or other countries.

<Adobeip#0000299>

Other notices, terms and conditions pertaining to third party software are located at http://www.adobe.com/go/thirdparty/ and incorporated by reference herein.

"Companion Materials" are not Adobe software. These materials are provided "as is" with no warranties (express or implied) and are not eligible for support from Adobe. Please see the license agreement accompanying such materials for further information.

Retrieved from "http://labs.adobe.com/wiki/index.php/AIR:Release_Notes"