| The Apache Flex SDK |
| =================== |
| |
| The Apache Flex SDK is the evolution of the popular Adobe Flex SDK. The Apache |
| Flex SDK is an application development framework for easily building Flash-based |
| applications for mobile devices, web browsers, and desktop platforms. |
| Currently supported platforms include: |
| |
| Microsoft Windows |
| Mac OS X |
| Apple iOS |
| Google Android |
| RIM BlackBerry |
| (Linux) |
| |
| Linux support is currently experimental and you may run into issues. The Apache |
| Flex project would like to see a fully supported Linux release, but we need |
| help from the community in order to do that. Please help out if you can. |
| |
| For more information about the Apache Flex project, please visit: |
| |
| http://flex.apache.org/ |
| |
| The Apache Flex SDK 4.15 is a follow up release to version 4.14.1. It is |
| compatible with most code written for the original Adobe Flex 4.6 SDK. |
| |
| |
| |
| Installing the Apache Flex SDK |
| ============================== |
| |
| The Apache Flex SDK Installer is an AIR application that simplifies the |
| download and installation of the Apache Flex SDK and its (required) components. |
| It is aimed at anyone who wants to use the latest release of the Apache Flex |
| SDK, but who might not necessarily be familiar with the tools and procedures |
| required to compile the Apache Flex SDK from source code. The application will |
| grab the binary distribution of the SDK from apache.org or one of its mirrors, |
| install it onto your computer and prepare it for use with your favourite IDE |
| such as Adobe Flash Builder or JetBrains IntelliJ IDEA. |
| |
| You can get the Apache Flex SDK Installer from the Apache Flex website at: |
| |
| http://flex.apache.org/installer.html |
| |
| Starting with the Apache Flex SDK 4.12, Linux users can install the binary |
| distribution using ANT. More information about installing the binary package |
| with ANT can be found on our wiki at: |
| |
| https://cwiki.apache.org/confluence/display/FLEX/Installation+help#Installationhelp-Antinstaller |
| |
| |
| |
| Building the Apache Flex SDK from source |
| ======================================== |
| |
| The Apache Flex SDK is a large project. It requires build tools which must be |
| installed on your system and it depends on some external software. The external |
| software is downloaded as part of the build process. |
| |
| There are two ways to get the SDK source. |
| 1) from a git repository |
| 2) from a source package distribution |
| |
| The following steps are all you need for a fully functional SDK: |
| - Prepare your system |
| - install external software |
| - set environment variables |
| - Get the source code |
| - Build the SDK |
| - Prepare the SDK for use with an IDE |
| - Optional steps: |
| - Flash Player configuration |
| - Other locale support |
| |
| |
| Prepare your system |
| ------------------- |
| |
| Before building the Apache Flex SDK you must install the following software and |
| set the corresponding environment variables. Make sure to use absolute paths, |
| as relative paths will result in build errors. |
| |
| The environment variables PLAYERGLOBAL_HOME, AIR_HOME, FLASHPLAYER_DEBUGGER, |
| TLF_HOME, BLAZEDS_HOME and ADOBE_EXTENSION_MANAGER can also be set in a |
| property file called env.properties. See the env-template.properties file |
| for instructions. |
| |
| The Adobe Flash Player and Adobe AIR have non Apache compatible licenses so |
| they can not be bundled with the Apache Flex SDK and need to be installed |
| separately. |
| |
| The Adobe Flash Player ‘playerglobal.swc’ is needed to compile all the |
| components with the exception of the ‘airframework’ and ‘airspark’ |
| components, which require ‘airglobal.swc’ from the AIR Integration Kit. The |
| AIR Integration kit is also needed to build and debug mobile and desktop |
| applications. The Adobe Flash Player content debugger is used by the ant |
| ‘checkintests’ target and other pieces of the test subsystem to run compiled |
| applications. |
| |
| |
| --------------------------------------------------------------------- |
| SOFTWARE ENVIRONMENT VARIABLE |
| --------------------------------------------------------------------- |
| |
| Java SDK 1.6 or greater (* 1) JAVA_HOME |
| (for Java 1.7 see note at (* 2)) |
| |
| Ant 1.7.1 or greater (* 1) ANT_HOME |
| (for Java 1.7 see note at (* 2)) |
| |
| Adobe AIR Integration Kit (* 3) AIR_HOME |
| |
| Adobe Flash Player Content Debugger (* 4) FLASHPLAYER_DEBUGGER |
| |
| Adobe Flash Player playerglobal swcs (* 5) PLAYERGLOBAL_HOME |
| |
| Optional: Text Layout Framework (* 6) TLF_HOME |
| |
| Optional: Adobe Extension Manager CS5 (* 7) ADOBE_EXTENSION_MANAGER |
| |
| Optional: Flex Messaging Common (* 8) BLAZEDS_HOME |
| |
| --------------------------------------------------------------------- |
| |
| * 1) |
| The bin directories for ANT_HOME and JAVA_HOME should be added to your PATH. |
| |
| On Windows, set PATH to |
| |
| PATH=%PATH%;%ANT_HOME%\bin;%JAVA_HOME%\bin |
| |
| On the Mac (bash), set PATH to |
| |
| export PATH='$PATH:$ANT_HOME/bin:$JAVA_HOME/bin' |
| |
| On Linux make sure your path includes ANT_HOME and JAVA_HOME. |
| |
| * 2) |
| If you are using Java SDK 1.7 or greater on a Mac you must use Ant 1.8 or |
| greater. If you use Java 1.7 with Ant 1.7, ant reports the java version as |
| 1.6 so the JVM args for the data model (-d32/-d64) will not be set correctly |
| and you will get compile errors. |
| |
| * 3) |
| The Adobe AIR integration kit for Windows can be downloaded from: |
| |
| http://airdownload.adobe.com/air/win/download/20.0/AdobeAIRSDK.zip |
| |
| The Adobe AIR integration kit for Mac can be downloaded from: |
| |
| http://airdownload.adobe.com/air/mac/download/20.0/AdobeAIRSDK.tbz2 |
| |
| The Adobe AIR integration kit for Linux can be downloaded from: |
| |
| http://airdownload.adobe.com/air/lin/download/2.6/AdobeAIRSDK.tbz2 |
| |
| Download the AIR SDK for your platform and unzip it. Set AIR_HOME to the |
| absolute path of the AIR SDK directory. |
| |
| This version of the Apache Flex SDK was certified for use with Adobe AIR 16 |
| and is compatible with version 3.1 and up. It has been fully tested on AIR 3.7, |
| 4 and 16. |
| |
| * 4) |
| The Adobe Flash Player content debuggers can be found here: |
| |
| http://www.adobe.com/support/flashplayer/downloads.html |
| |
| This version of the Apache Flex SDK was certified for use with Adobe Flash |
| Player 11.1, and is compatible with version 10.2 and up. It has been tested |
| with versions 11.1, 11.7, 13.0 and 16.0 on Windows and Mac. It has been |
| compiled, but not fully tested, with other Adobe Flash Player versions. |
| It has not been fully tested on Linux. |
| |
| On Windows, set FLASHPLAYER_DEBUGGER to the absolute path including the |
| filename of the FlashPlayerDebugger.exe. Note the filename of flash player |
| debugger may be different, e.g. C:\MyPath\FlashPlayerDebugger.exe. |
| |
| On the Mac, set FLASHPLAYER_DEBUGGER to the absolute path of |
| 'Flash Player Debugger.app/Contents/MacOS/Flash Player Debugger' |
| |
| On Linux, set FLASHPLAYER_DEBUGGER to the absolute path of flashplayerdebugger. |
| |
| * 5) |
| The Adobe Flash Player playerglobal.swc for 11.1 can be downloaded from: |
| |
| http://download.macromedia.com/get/flashplayer/updaters/11/playerglobal11_1.swc |
| |
| Set PLAYERGLOBAL_HOME to the absolute path of the player directory (not |
| including the version subdirectory). The target-player option controls which |
| PLAYERGLOBAL_HOME subdirectory is used. |
| |
| Additional information about downloading and setting up this and/or other |
| versions of the Adobe Flash Player can be found in the section |
| 'Adobe Flash Player Version Support' below. |
| |
| * 6) |
| The build scripts assume that the root folder containing the source code for |
| Apache Flex Text Layout Framework ('flex-tlf') is at the same level as the SDK |
| root folder ('flex-sdk'). See 'Getting the source code', below. If this is not |
| the case on your system, then you must set the TLF_HOME environment variable to |
| point to your TLF root folder. If you are using a released artifact, the |
| source should be included in the artifact, so setting TLF_HOME is not |
| required. |
| |
| * 7) |
| The Adobe Extension Manager is only required for those creating releases or |
| testing changes to the flash-integration SWC. Note that if you change APIs on |
| classes that flash-integration depends on, you may need to update |
| flash-integration. |
| |
| On Windows, download the Adobe Extension Manager from: |
| |
| http://download.macromedia.com/pub/dw_exchange/extension_manager/win/AdobeExtensionManager5All.zip |
| |
| and set ADOBE_EXTENSION_MANAGER to the absolute path of |
| 'Adobe Extension Manager CS5.exe' |
| |
| On Mac, download the Adobe Extension Manager from: |
| |
| http://download.macromedia.com/pub/dw_exchange/extension_manager/mac/AdobeExtensionManager5All.dmg |
| |
| and set ADOBE_EXTENSION_MANAGER to the absolute path of |
| 'Adobe Extension Manager CS5.app/Contents/MacOS/Adobe Extension Manager CS5' |
| |
| On Linux, no Adobe Extension Manager exists. |
| |
| * 8) |
| The build scripts assume that the root folder containing the source code for Apache |
| Flex BlazeDS ('flex-blazeds') is at the same level as the SDK root folder |
| ('flex-sdk'). See 'Getting the source code', below. If this is not |
| the case on your system, then you must set the BLAZEDS_HOME environment variable |
| to point to your BLAZEDS root folder. If you are using a released artifact, the |
| source should be included in the artifact, so setting BLAZEDS_HOME is not |
| required. |
| |
| |
| Get the source code |
| ------------------- |
| |
| You can get the source directly from the source code repository (Apache Flex |
| uses git for SCM). |
| |
| Clone the latest source ('develop' branch) using the following commands: |
| |
| git clone https://git-wip-us.apache.org/repos/asf/flex-sdk.git flex-sdk |
| cd flex-sdk |
| git checkout develop |
| |
| The Apache Flex SDK also requires source code from the Apache Flex Text Layout |
| Framework (TLF). To get the latest source for TLF ('develop' branch), use the |
| following commands: |
| |
| git clone https://git-wip-us.apache.org/repos/asf/flex-tlf.git flex-tlf |
| cd flex-tlf |
| git checkout develop |
| |
| The Apache Flex SDK also requires source code from Apache Flex BlazeDS. To get |
| the latest source for Apache Flex BlazeDS (‘master’ branch), use the |
| following commands: |
| |
| git clone https://git-wip-us.apache.org/repos/asf/flex-blazeds.git flex-blazeds |
| cd flex-blazeds |
| |
| Another option to get the source is to download a released source package. |
| |
| For further information visit: |
| |
| http://flex.apache.org/download-source.html |
| |
| |
| Build the SDK |
| ------------- |
| |
| When you have all the prerequisites in place and the environment variables set, |
| use these commands: |
| |
| cd <flex-sdk> |
| ant main |
| |
| to download the third party dependencies and build the source. You will be |
| prompted to acknowledge and/or confirm some of the downloads. Since the |
| third-party dependencies take a little while to download and they don't change |
| very often, they are not cleaned with the regular 'clean' target. |
| |
| If you would like to build the RSLs, use: |
| |
| ant frameworks-rsls |
| |
| To clean the build of everything other than the downloaded third-party |
| dependencies, use: |
| |
| ant clean |
| |
| To clean the build of everything, including the downloaded third-party |
| dependencies, use: |
| |
| ant super-clean |
| |
| To generate a source distribution package and a binary distribution package, |
| use: |
| |
| ant -Dbuild.number=<YYYYMMDD> -Dbuild.noprompt= release |
| |
| The packages can then be found in the <flex-sdk>\out directory. |
| |
| To build the ASDoc package, use: |
| |
| ant asdoc-package |
| |
| To get a brief listing of all the targets, use: |
| |
| ant -projecthelp |
| |
| |
| |
| Prepare the SDK for use with an IDE |
| ----------------------------------- |
| |
| To create an SDK for Flash Builder or any other IDE, run: |
| |
| cd <flex.dir> |
| ant frameworks-rsls |
| ant -f installer.xml |
| |
| If you want to set the Flash Player and AIR versions to something other |
| than their defaults, pass the versions to the ant script like so: |
| |
| ant -f installer.xml -Dflash.sdk.version=16.0 -Dair.sdk.version=16.0 |
| |
| On Mac/Linux the AIR and Flash Player version can be changed, after the SDK |
| has been compiled, by running: |
| |
| ./ide/setFlashPlayerVersion.sh ./ 20.0 |
| ./ide/addAIRtoSDK.sh 20.0 ./ |
| |
| |
| |
| Using the Binary Distribution |
| ============================= |
| |
| In order to use the binary distribution of the SDK, follow the instructions in |
| the 'Prepare the SDK for use with an IDE' section above. |
| |
| |
| |
| Flash Player Configuration |
| ========================= |
| |
| For testing, the Adobe Flash Player's mm.cfg file must have the following |
| entries |
| |
| ErrorReportingEnable=1 |
| TraceOutputFileEnable=1 |
| |
| and a FlashPlayerTrust file must allow local SWFs to access local files. |
| |
| More information about these settings can be found here: |
| |
| http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7c95.html |
| |
| |
| |
| Other Locale Support |
| ==================== |
| |
| The Apache Flex SDK defaults to using the en_US locale and SDK error messages |
| are by default displayed in American English. |
| |
| To compile the SDK for another locale either: |
| |
| Change the locale in the build.properties file to have a value other than |
| 'en_US'. For this new locale to take effect, the SDK needs to be recompiled. For |
| example, to use the Australian English locale change locale to have a value of |
| 'en_AU' like so: |
| |
| locale = en_AU |
| |
| OR |
| |
| Compile the SDK with a -Dlocale=<locale> option, where <locale> is the new |
| locale to compile the SDK against. |
| |
| To compile all supported locales, which may take some time, use: |
| |
| ant other.locales |
| |
| The list of supported locales currently include: |
| da_DK el_GR en_GB fi_FI it_IT nb_NO pt_PT zh_CN |
| de_CH en_AU en_US fr_CH ja_JP nl_NL ru_RU zh_TW |
| de_DE en_CA es_ES fr_FR ko_KR pt_BR sv_SE |
| |
| The Apache Flex SDK has only been tested for the en_US locale. However, you are |
| unlikely to run into any issues with a SDK compiled for another locale. |
| |
| |
| Adobe Flash Player Version Support |
| ================================== |
| |
| The Apache Flex SDK defaults to using the Adobe Flash Player 11.1. The SDK can |
| be used with Flash Player versions 10.2 and up. |
| |
| It is recommended that you update to the latest version of Adobe Flash Player. |
| Newer versions of the Adobe Flash player address security vulnerabilities, fix |
| bugs/issues, increase stability, and support new features. |
| |
| To use the SDK for another version of the Adobe Flash Player either: |
| |
| Change the flex-config.xml configuration file to specify another version of the |
| Adobe Flash Player. |
| |
| OR |
| |
| Change the playerglobal.version in the build.properties file to have a value |
| other than '11.1'. For this change to take effect, the SDK needs to be |
| recompiled. For example, to compile against the latest version of the Adobe |
| Flash Player, set the value of playerglobal.version to be '20.0' like so: |
| |
| playerglobal.version = 20.0 |
| |
| OR |
| |
| Compile the SDK with a -Dplayerglobal.version=<version> option, where <version> |
| is the Adobe Flash Player version to compile the SDK against. |
| |
| Different versions of the Adobe Flash Player require different versions of |
| playerglobal.swc. |
| |
| These can be found at: |
| |
| http://download.macromedia.com/get/flashplayer/installers/archive/playerglobal/playerglobal10_2.swc |
| http://download.macromedia.com/get/flashplayer/installers/archive/playerglobal/playerglobal10_3.swc |
| |
| and |
| |
| http://download.macromedia.com/get/flashplayer/updaters/<version.major>/playerglobal<version.major>_<version.minor>.swc |
| |
| (e.g. http://download.macromedia.com/get/flashplayer/updaters/11/playerglobal11_1.swc) |
| |
| Copy the target playerglobal.swc to the directory: |
| |
| frameworks/libs/player/<version.major>.<version.minor>/playerglobal.swc |
| |
| On OSX, running the script: |
| |
| ./ide/checkAllPlayerGlobals.sh |
| |
| will download any new or missing player global swcs. |
| |
| |
| Software Dependencies |
| ===================== |
| |
| The Apache Flex SDK uses third-party code that will be downloaded as part of |
| the build. In addition, you can choose to download optional third-party code |
| if you would like to take advantage of the features offered, and you agree to |
| the license terms. |
| |
| The following dependencies have licenses which are, or are compatible with, the |
| Apache Version 2.0 license. You will not be prompted to acknowledge the |
| download. Most of the jars are installed in lib/external. |
| |
| batik - http://archive.apache.org/dist/xmlgraphics/batik/batik-1.6.zip |
| commons-collections - http://archive.apache.org/dist/commons/collections/binaries/commons-collections-3.0.tar.gz |
| commons-discovery - http://archive.apache.org/dist/commons/discovery/binaries/commons-discovery-0.2.tar.gz |
| commons-logging - http://archive.apache.org/dist/commons/logging/binaries/commons-logging-1.0.4.tar.gz |
| javacc - http://java.net/projects/javacc/downloads/download/javacc-5.0.tar.gz |
| velocity - http://archive.apache.org/dist/velocity/engine/1.4/velocity-1.4.tar.gz |
| xalan - http://archive.apache.org/dist/xml/xalan-j/binaries/xalan-j_2_6_0-bin.tar.gz |
| xerces - http://archive.apache.org/dist/xerces/j/Xerces-J-bin.2.9.1.zip |
| |
| The following dependencies have licenses which Apache considers to be |
| reciprocal licenses. These files are installed in lib/external |
| frameworks/libs respectively. |
| |
| saxon9 - http://sourceforge.net/projects/saxon/files/Saxon-B/9.1.0.8/saxonb9-1-0-8j.zip/download |
| osmf.swc (Open Source Media Framework v2.0; used for video components) - http://sourceforge.net/projects/osmf.adobe/files/OSMF%201.0%20%28final%20source%2C%20ASDocs%2C%20PDF%20guides%2C%20and%20release%20notes%29/OSMF_1.0.zip/download |
| |
| saxon9 is released under the Mozilla Public License Version 1.0: |
| osmf.swc is released under the Mozilla Public License Version 1.1: |
| |
| http://www.mozilla.org/MPL/ |
| |
| The following dependencies have licenses which Apache considers to be |
| incompatible with the Apache License Version 2.0. You will be prompted to read |
| and agree to the license terms of the dependency before the software can be |
| downloaded to your system. These are optional components which enable |
| additional features. They are installed in libs/external/optional. |
| |
| adt.jar, afe.jar, aglj40.jar, flex-fontkit.jar and rideau.jar (provide embedded font support) |
| |
| These jars are extracted from: |
| |
| http://fpdownload.adobe.com/pub/flex/sdk/builds/flex4.6/flex_sdk_4.6.0.23201B.zip |
| |
| and are released under an Adobe license: |
| |
| http://www.adobe.com/products/eulas/pdfs/adobe_flex_software_development_kit-combined-20110916_0930.pdf |
| |
| |
| |
| Thanks for using the Apache Flex SDK. Enjoy! |
| |
| The Apache Flex Project |
| <http://flex.apache.org> |