- 2013-04-16 Update: Update flash Player 11.7/air 3.7 Official edition.
- Detailed link Flashplayer 11.7 details
- 2013-03-10 Update: Update flash Player 11.6/air 3.6 release and beta 11.7.
- Detailed link Flashplayer 11.6 details
- 2012-11-07 Update: Updated flash Player 11.5/air 3.5 official release date.
- 2012-10-10 Update: Join the Flash Player 11.5/air 3.5 correspondence, join the Release date column, modify the structure of the article and part of the content.
- Detailed link Flashplayer 11.5 details
- 2012-08-27 Update: Join Flash Player 11.4/air 3.4 for the corresponding relationship.
- 2012-03-20 Update: This article only describes the Flex SDK, but the Flash IDE can also support the new Flash Player functionality by modifying the configuration file, as described here: let Flash support updated Flash Player features
- Detailed link Flashplayer 11.4 details
- 2012-04-08 Update: Add the version description of air and add the corresponding relationship for Flash Player 11.3.
- Detailed Connection Flashplayer 11.3 details
In the Flex 4.6 SDK, you can find that the framework/flex-config.xml
default-swf-version in the value becomes 14, and-target-player becomes 11.1. Remember when Flash Player 10.2 was released, in order to use the native bitmap mouse cursor feature provided by Flash 10.2, the compiler property value would need to be -swf-version
set to 11 at compile time. In this calculation, 14 of this value is for Flash Player 11.1. So what's the correspondence between-swf-version and-target-player? See table below:
Flash Player |
AIR |
Flex |
-swf-version |
-target-player |
Release date |
9 |
|
3 |
9 |
9 |
|
10.0 |
1.5 |
4.0 |
10 |
10.0.0 |
|
10.1 |
2.0/2.5 |
4.1 |
10 |
10.1.0 |
|
10.2 |
2.6 |
4.5/4.5.1 |
11 |
10.2.0 |
2011-2-9 |
10.3 |
2.7 |
|
12 |
10.3.0 |
|
11.0 |
3.0 |
|
13 |
11.0.0 |
2011-10-4 |
11.1 |
3.1 |
4.6 |
14 |
11.1 |
2011-11-7 |
11.2 |
3.2 |
|
15 |
11.2 |
2012-3-28 |
11.3 |
3.3 |
|
16 |
11.3 |
2012-6-8 |
11.4 |
3.4 |
Adobe Flex 4.6/apache Flex 4.8 |
17 |
11.4 |
2012-8-21 |
11.5 |
3.5 |
Adobe Flex 4.6/apache Flex 4.8 |
18 |
11.5 |
2012-11-06 |
11.6 |
3.6 |
Adobe Flex 4.7/apache Flex 4.9 |
19 |
11.6 |
2013-02-12 |
11.7 |
3.7 |
Adobe Flex 4.7/apache Flex 4.9 |
20 |
11.7 |
2013-04-09 |
Flash Polayer 15-swf-version 26
-target-player and-swf-version
The above form, in part, is based on targeting flash Player versions, and the latest part is my own update based on the Flash Player/air is growing. But this table is inaccurate.
Because the value of-swf-version can be supported to that extent, it is not directly related to the Flex SDK, but rather relies on the PLAYERGLOBAL.SWC (located in Frameworks/libs/player) in the Flex SDK.
Opening the Frameworks/libs/player folder of the Flex 4.6 SDK, you can see only one 11.1 subfolder with PLAYERGLOBAL.SWC for Flash Player 11.1. There are 2 functions of this SWC:
(Here is a tutorial based on Flex SDK and Flash Builder, if you use Flash Professional, you can see here: let Flash support updated Flash Player feature)
- Flash Builder uses it to provide auto-complete functionality during program writing. Of course, if you use the Mxml compiler (like me) directly, it doesn't matter much;
- During program compilation, the MXMLC compiler needs to call it.
So -target-player
, what's the job? It is used to tell the Flex compiler where to look playerglobal.swc
.
In the Actionscrip compiler settings for a project in Flash Builder 4.6, you can set -target-player
the value of the parameter. The default is "minimum version required to use the SDK". For the Flex SDK I'm currently installing, 4.6来 says this "minimum version" is 11.1.
And we can use a specific version, for example, 11.2.0.
Flash Builder will automatically go to this directory during programming, and frameworks/libs/player/11.2
playerglobal.swc
if not found, some 11.2 supported features (such as Mouseevent.right_click) will not be able to get syntax hints.
While debugging and publishing the program, the compiler uses it frameworks/libs/player/11.2/playerglobal.swc
to compile. If you still cannot find the file, the compilation will error 无法打开“D:\flex_sdks\4.6.0\frameworks\libs\player\11.2\playerglobal.swc”
, as shown in:
Out of sync
When each new release of Flash Player is released, Adobe provides the playerglobal.swc
files together, and in the release document, explains how much of this version of Flash Player corresponds -swf-version
.
Because the release of the SDK is not always synchronized with the release of Flash Player.
In the Flash 8 era, the compiler and Flash Player are fully synchronized. Because then, only the Flash IDE can generate the SWF file. When Flex came in, and Macromedia was acquired by Adobe, the development of Flash became diverse, and both flashide and flex could generate SWF files, and Flash Player grew more independent. Now, the release of Flash Cs,flash Builder,flex Sdk,flash player is completely out of sync. Especially after Adobe has given the Flex SDK to Apache, the SDK is expected to update faster. Adobe itself will hold Flash player tightly in its hands, keeping its pace to update. (As for this history, I have detailed it in the Actionscript,as3,mxml,flex,flex builder,flash Builder,flash,air,flash player relationship article)
The Flex SDK can match with different versions of Flash Player. Even with Flex SDK 3.6, you can also develop a SWF program that is supported by Flash Player 11.1. (assuming, of course, that the components provided by flex frameworks are not used, only the APIs provided by Flash Player). By using the PLAYERGLOBAL.SWC file provided by different versions of Flash Player, you can make the old Flex SDK compatible with the new-swf-version and-target-player compilation properties. Of course, you can also make the new Flex SDK compatible with the old-swf-version and-target-player.
For example, the latest version currently available from Adobe (also the final version of Adobe Flex, as later renamed the Apache Flex SDK), has a Flex SDK version of 4.6. According to Adobe, the minimum supported-target-player for this version of the Flex SDK is 11.1. This is because Frameworks/libs/player only provides the 11.1 version of the PLAYERGLOBAL.SWC. We can copy other versions of PLAYERGLOBAL.SWC to this directory and modify the Target-player tag in frameworks/flex-config.xml to change the SWF target that the Flex SDK compiles by default. Of course, a more convenient and flexible approach is to set the-target-player property in the build properties of the Flex project.
Here's an article about: Versioning in Flash Runtime (-swf-version)
SWF version corresponds to Flash Player