Adobe AIR Beta Channel Update
This beta release provides access to the latest AIR runtime and SDK (with compiler) for Windows, Mac OS, iOS and Android. You can download the AIR beta here: Download Adobe AIR 14 Beta - Adobe Labs
Below are some of the key features and benefits of AIR 14. Please see our release notes for full details.
This new texture sampling filter can enhance the image quality of textures on surfaces that are at oblique viewing angles. There are two ways to enable this feature:
- In AGAL, set one of the values – "anisotropic2x", "anisotropic4x", "anisotropic8x", or "anisotropic16x" to the filter option in the sampling instructions.
- Call Context3D::setSamplerStateAt with the 3rd parameter "filter" being one of the values defined in Context3DTextureFilter - "ANISOTROPIC2X", "ANISOTROPIC4X", "ANISOTROPIC8X", or "ANISOTROPIC16X"
- New Stage3D "Standard" Profile
Developers can now request this high level profile when creating Context3D. Three new features are available in this profile:
- Multiple render target allows to you to draw geometry to multiple outputs (up to 4) during one drawing
- Floating point texture allows you to create Texture, RectangleTexture and CubeTuxture with the RGBA16F folder.
- AGAL v2 contains these improvements:
- Increased register size
- Partial derivative instructions
- Fragment depth output
- Conditional forward jump
- Intel x86 Android Support
As announced in our Flash Runtime blog, we're adding support for Intel x86 Android to AIR. An ADT command line option (-arch) has been added to allow packaging apps with Android x86 support. Please note that only captive runtime packaging is allowed for x86 architecture that means all APK targets (apk, apk-debug and apk-captive-runtime) will forcibly packaged with captive runtime. Sample APK packaging command for x86 devices:
adt -package -target ( apk | apk-captive-runtime ) -arch x86 -storetype pkcs12 -keystore abc.p12 HelloWorld.apk HelloWorld-app.xml HelloWorld.swf
adt -package -target apk-debug <debug options> -arch x86 -storetype pkcs12 -keystore abc.p12 HelloWorld.apk HelloWorld-app.xml HelloWorld.swf
Note that -arch is optional. If not specified, armv7 is assumed.
Packaging for x86 architecture in Flash Builder:
Open the debug/run configurations of the project in Flash Builder and click on "Customize launch.." button. Add new parameter "-arch" with value "x86" and place it before "-storetype". Click "OK" to apply changes.
Except RTMPE and DRM, all other features and capabilities are completely functional and supported. Native extensions written for x86 platforms could also be packaged and used by an app for x86 devices. To support that, a new ANE platform 'Android-x86' is now available. Following example highlights the usage of the same -
<extension xmlns="http://ns.adobe.com/air/extension/14.0"> <id>com.adobe.sample.ane</id>versionNumber>1.0</versionNumber> <platforms> <platform name="Android-ARM"> <applicationDeployment> <nativeLibrary>sample.jar</nativeLibrary> <initializer>com.example.ane.Extension</initializer> <finalizer>com.example.ane.Extension</finalizer> </applicationDeployment> </platform> <platform name=“Android-x86"> <applicationDeployment> <nativeLibrary>sample.jar</nativeLibrary> <initializer>com.example.ane.Extension</initializer> <finalizer>com.example.ane.Extension</finalizer> </applicationDeployment> </platform> </extension>
New packaging command for ANE:
adt -package -target ane Sample.ane extension.xml -swc Sample.swc -platform Android-ARM -C Android-ARM/ . -platform Android-x86 -C Android-x86/ .
- Improved Packaging Engine - iOS
Based on the feedback recieved from the developer community, tons of improvements and bug fixes have been made in the new packaging engine for iOS. We still encourage developers to report issues to http://bugbase.adobe.com, to ensure that we are able to deliver a solid packager with the final release. To enable this feature, please use "-useLegacyAOT no" in the ADT command, before the signing options. As of now, this feature is not available with FlashPro but it can be used with Flash builder by adding a parameter -useLegacyAOT under "Customize launch" option.
ADT command for compiling an applications using “-useLegacyAOT no":
adt -package -target ( ipa-test | ipa-debug | ipa-app-store | ipa-ad-hoc) -useLegacyAOT no -provisioning-profile <Path to profile> -keystore <path to .p12 file> -storetype pkcs12 -storepass xxxx HelloWorld.ipa Helloworld-app.xml HelloWorld.swf
- AIR Gamepad
AIR Gamepad feature enables the app developers to provide a second screen on Android mobile devices for the Flash based browser games. AIR Gamepad API enables Flash based browser apps to connect to a paired Android device running the AIR Runtime app and therefore allowing the Android devices to be used as game controllers or second-screen interfaces.
Key Functionalities of this feature:
- Gesture events
- Touch events
- Accelerometer events
- Applying skin onto AIR gamepad screen
To learn more about the AIR Gamepad APIs, please refer to the documentation found here.
To try out the Wand.swc which can be downloaded from here. To try out live samples of AIR Gamepad open the following links:
How to use this feature(workflow):
After calling the AIR Wand connect() function in the Flash application, it shows the following message pop-up at Runtime asking for PIN to make connection with Android device running the AIR Runtime app:
Fig1. Message pop-up shown by Flash game on calling connect() when launched on browser.
Now install the Adobe AIR Runtime app on the Android device or if it installed then launch the Adobe AIR Runtime app and shake the device. AIR Gamepad screen shows up in AIR Runtime app with a PIN, enter this PIN in the pop-up shown by browser and connect. After connection is established skin is displayed on Android device and user can control the Flash based browser games from the Android device.
Fig2. The AIR Gamepad screen shown by AIR Runtime App on Android device.
- AIR Gamepad APIs allow only single device pairing.
- AIR Runtime.apk has to be installed on the Android device.
- Both the Android device and the Desktop machine need to be on the same internet network.
- Only Landscape RotatedLeft orientation is supported on the Android Device.
- The skin which will be applied through applySkin() has to be in JPEG format.
- 3760138 : [AIR Gamepad] App is not getting disconnected when it is going into background.
- 3759405 : [x86]Export Release Build from Flash Builder fails to run app on Android device when -arch parameter is used.
- 3730948: Missing support for XXXHDPI icon on Android 4.4
- 3757728 : [x86]Change the position of -arch argument for packaging APKs, -arch needs to be placed before signing options.
- 3742982 : DatagramSocket not receiving packets on iOS 3727760 : Not able to debug AIR app in iOS Simulator from Flash Builder when Xcode below 5.x is installed.
- 3724627 : [IOS 7] StageText fontWeight/fontPosture API does not work 3756123 : Android+Starling throw Buffer creation failed. Internal error while createVertexBuffer
- 3755006 : [x86 Android] Workers get terminated even without calling terminate function
- Multiple stability fixes
About the Beta Channel
If you would like real-time notification for announcements related to the AIR Beta Channel please follow the Flash Runtime Announcements forums by choosing "Follow this forum" from the right-hand menu on the Forums page.
You can find instructions for getting started with this release here: AIR Labs Page