Today we’re releasing Flash Player 14 and the AIR 14 Runtime and SDK. This a major quarterly releases that includes new functionality, bug fixes, and security updates. We recommend taking a look at our release notes or visiting the Flash Player announcement or AIR announcement page for download links and additional details.
The new features for AIR and Flash Player are:
- Anisotropic Filtering
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 currently only captive runtime packaging is allowed for x86 architecture. This means all APK targets (apk, apk-debug and apk-captive-runtime) will forcibly be packaged with captive runtime. Feedback on this approach is encouraged.
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 -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 a new parameter “-arch” with value “x86” and place it before “-storetype”. Click “OK” to apply changes.
Except for RTMPE and DRM, all other features and capabilities are completely functional and supported. Native extensions written for x86 platforms can also be packaged and used by an app for x86 devices. To support this, a new ANE platform ‘Android-x86’ is now available.
The 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> </platforms> </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 encourage developers to report issues to http://bugbase.adobe.com, to ensure that we are able to continue to improve the packager in future releases.
To enable this feature, please use “-useLegacyAOT no” in the ADT command, before the signing options. As of now, this feature is not available within Flash Pro but it can still be used with Flash builder by adding the parameter -useLegacyAOT under the “Customize launch” option.
Here is an example 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 -keystore -storetype pkcs12 -storepass xxxx HelloWorld.ipa Helloworld -app.xml HelloWorld.swf
For more information, please visit Faster compiling with AIR for iOS
- 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 functionality of this feature:
- Gesture eventsTouch events
- Accelerometer events
- Customize the AIR gamepad screen by applying your own skins
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.
Live samples of AIR Gamepad can be tested using the following links:
For more information, please visit Android devices with AIR as gamepads