This is on Flex Mobile 4.5.1 + AIR 2.7, with an iOS target. Verified in both ADL and on-device.
From the mxmlc compiler docs
For the library-path option (which takes an entire folder), we have the following spec:
The compiler only links in those classes for the SWC file that are required.
For the include-libraries option (which only takes a single SWC), we have:
Links all classes inside a SWC file to the resulting application SWF file, regardless of whether or not they are used.
By default the Flash Builder IDE sets up your SWC includes to use library-path inside the .actionScriptProperties. I tried adding an include-libraries option to .actionScriptProperties after library-path (still inside the compiler tag, without removing the matching library-path entries), first using the syntax presented on this StackOverflow post and then using the syntax under the Implicit FileSets section of this Adobe documentation. In both cases, the unreferenced classes from my SWC files were still stripped out (inaccessible via getDefinitionByName()).
However, upon explicitly appending my SWC files to the compiler command line arguments, my unreferenced classes were once again available at runtime.
Is it not possible to do this via .actionScriptProperties? Or is the syntax different? What'd I miss?