OK the important part is here
<!-- compiler.external-library-path: list of SWC files or directories to compile against but to omit from linking-->
<external-library-path>
<path-element>libs/player/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}/playerglobal.swc</path-element>
</external-library-path>
where you install the Flex SDK
the path ${flex_sdk}/libs/player/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}/playerglobal.swc
is used with external-library-path
when you mentioned
I've replaced playerglobal.swc by redtamarin.swc and I've also included redtamarin.swc in my final SWF.
and you use
-swf-version=11
are you sure in this path
${flex_sdk}/libs/player/10.2/playerglobal.swc
that the SWC is the redtamarin.swc
renamed to playerglobal.swc
?
yes that can be confusing the SWF version is not equals to the player version
SWF30 is for Flash Player / AIR 19.0 for example
also another thing to look into is there
<!-- swf-version: specifies the version of the compiled SWF file.-->
<swf-version>11</swf-version>
<!-- target-player: specifies the version of the player the application is targeting. Features requiring a later version will not be compiled into the application. The minimum value supported is "9.0.0".-->
<target-player>29.0</target-player>
while using -swf-version=11
should be enough, try also to add -target-player=10.2
ideally try those combos
-swf-version=11 -target-player=10.2
-swf-version=12 -target-player=10.3
-swf-version=13 -target-player=11.0
-swf-version=14 -target-player=11.1
-swf-version=15 -target-player=11.2
-swf-version=16 -target-player=11.3
-swf-version=17 -target-player=11.4
-swf-version=18 -target-player=11.5
-swf-version=19 -target-player=11.6
-swf-version=20 -target-player=11.7
-swf-version=21 -target-player=11.8
the "simpler combo would be
-swf-version=13 -target-player=11.0
as it is easier to remember
in any case you should also be able to use
-swf-version=9
with whatever Adobe Flex SDK / Apache Flex SDK version
as long as you replace the path
${flex_sdk}/libs/player/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}/playerglobal.swc
with a redtamarin.swc
renamed to playerglobal.swc
for example if you use flex_sdk_4.6.zip
then you will have
${flx_sdk)/frameworks/libs/player/11.1/playerglobal.swc
you could do that
$ mv ${flx_sdk)/frameworks/libs/player/11.1/playerglobal.swc ${flx_sdk)/frameworks/libs/player/11.1/playerglobal.swc.old
$ cp redtamarin.swc ${flx_sdk)/frameworks/libs/player/11.1/playerglobal.swc
after that you could use -swf-version=14 -target-player=11.1
but using the default should be enough
alternatively if you want to preserve the current playerglobal.swc
"as is
$ mkdir ${flx_sdk)/frameworks/libs/player/9.0/
$ cp redtamarin.swc ${flx_sdk)/frameworks/libs/player/9.0/playerglobal.swc
and compile with -target-player=9.0