Build the ActionScript side of your extension into a SWC
file. The SWC file is an ActionScript library — an archive file
that contains your ActionScript classes and other resources, such
as its images and strings.
When you package a native extension, you need both the SWC file
and a separate library.swf file, which you extract from the SWC
file. The SWC file provides the ActionScript definitions for authoring
and compilation. The library.swf provides the ActionScript implementation
used by a specific platform. If different target platforms of your
extension require different ActionScript implementations, create
multiple SWC libraries and extract the library.swf file separately
for each platform. A best practice, however, is that all the ActionScript
implementations have the same public interfaces. (Only one SWC file
can be included in the ANE package.)
The SWC file contains a file called library.swf. For more information,
see
The SWC file and SWF files in the ANE package
.
Use one of the following ways to build the SWC file:
-
Use Adobe Flash Builder to create a Flex library project.
When
you build the Flex library project, Flash Builder creates a SWC
file. See
Create Flex library projects
.
Be
sure to select the option to include Adobe AIR libraries when you
create your Flex library project.
Ensure that the SWC is
compiled to the correct version of the SWF format. Use SWF 11 for
AIR 2.7, SWF 13 for AIR 3, SWF 14 for AIR 3.1, and so on. You can
set the SWF file format version in the project’s properties. Select
ActionScript Compiler and enter this Additional Compiler Argument:
-swf-version 17
Note:
You
can use
swfdump
in the Flex SDK bin directory to
check the SWF file format version of any SWF file:
swfdump myFlexLibraryProjectSWF.swf
-
Use the command-line tool acompc to build a Flex library
project for AIR. This tool is the component compiler provided with
the Flex SDK. If you are not using Flash Builder, use acompc directly.
See
Using compc, the component compiler
.
For
example:
acompc -source-path $HOME/myExtension/actionScript/src
-include-classes sample.extension.MyExtensionClass sample.extension.MyExtensionHelperClass
-swf-version=13
-output $HOME/myExtension/output/sample.extension.myExtension.swc
SWF version compatibility
The SWF version
specified when compiling the ActionScript library is one of the factors,
along with extension descriptor namespace, that determines whether the
extension is compatible with an AIR application. The SWF version
of the extension cannot exceed the SWF version of the main application
SWF file:
Compatible AIR application version
|
ANE SWF version
|
Extension namespace
|
3.0+
|
10-13
|
ns.adobe.com/air/extension/2.5
|
3.1+
|
14
|
ns.adobe.com/air/extension/3.1
|
3.2+
|
15
|
ns.adobe.com/air/extension/3.2
|
3.3+
|
16
|
ns.adobe.com/air/extension/3.3
|
3.4+
|
17
|
ns.adobe.com/air/extension/3.4
|
3.5+
|
18
|
ns.adobe.com/air/extension/3.5
|
3.6+
|
19
|
ns.adobe.com/air/extension/3.6
|
3.7+
|
20
|
ns.adobe.com/air/extension/3.7
|
Note:
The platform options (platform.xml)
file requires the
ns.adobe.com/air/extension/3.1
namespace
or later. If you are using the
‑platformoptions
flag
to package your ANE, you must specify
ns.adobe.com/air/extension/3.1
or
later and a SWC version greater than or equal to 14. Some platform
options file features require later AIR namespace and SWF versions.
|
|
|