gradle vs flash builder build, ane/native extension not inluded

Matthias Keller's Avatar

Matthias Keller

04 Feb, 2016 06:04 PM

Hello Yennick and everyone else, I continued my little textadventure in creating an ios-autobuild using gradlefx for our project but I stumbled across another issue:

While the flash-builder succeed on packaging the project, the gradle build invoking adt failed with error message: "libX.a are required to have universal iOS libraries." (-> log is attached) on the same directory

Obviously either the gradlefx and Flashbuilder configuration differs or gradlefx invokes compile/packer differently than Flashbuilder. I triple checked the paths and configured parameter (gradlefx file and FB project settings). My special conditions:
- libX.a cannot be compiled as 64 Bit code (according to our in-house ANE developer); I guess the "universal iOS lib" refers to a kind of 64 Bit, and the error message can be read as "provide a ANE with 64 Bit (libX.a is included in our ANE)".
- libX.a should work with air 14 and do successfully build on FB with Air14 Flex4.13.
- I had successfully generated an ipa file, successfully uploaded to and launched on my IPad *but* a clean (gradle) rebuild destroyed my illusion. Could my FB builds influenced my gradle builds? (The source but not the build/package directories were the same.)

I tried different attempts: a) include everything (to get missing files) or parts
b) hardcode path to used sdk /Applications/ (as done in FB).

Any suggestion or comment is warmly welcome; do I need to provide a compiler flag (which e.g. is default in FB) to enforce 32 Bit compatibility (saying, yes, I don't want using universal libs)? Do I need to include my ane-file with a special options saying compiler/adt to not use univeral libs?

Best regards,

  1. Support Staff 1 Posted by Yennick Trevels on 04 Feb, 2016 06:38 PM

    Yennick Trevels's Avatar


    I think the reason is because you've set 'nonLegacyCompiler' to true. Therefore the new AIR compiler will be used when packaging the project. This compiler is faster than the legacy compiler, but compiles to 64-bit, so that it is compatible with 64-bit iOS.

    Quote from Adobe's release notes:

    Please note that support for creating universal IPA binaries will only be available in the new compiler. The legacy compiler is not (and will not be) compatible with iOS 64-bit. Because of this, it will be removed with version 16 of the AIR SDK.

    So what you probably actually want to do is turn this property off by setting it to false.

  2. 2 Posted by Matthias Keller on 05 Feb, 2016 09:06 AM

    Matthias Keller's Avatar

    Hi, thanks for your insane fast response :), I already tried to toggle the "nonLegacyCompiler"-switch (I missed to mention that, sorry; the way you explained it, makes playing with this switch pointless... :) I was/am a bit frustrated and out of ideas.)

    I attached parts of the config file, maybe it helps; I call
    gradle clean && gradle --info --console rich releaseIOS -Pversioning=gittag
    (where releaseIOS task dependsOn packageMobile, versioning is a variable I evaluate to set project.config.versionNumber)

  3. Support Staff 3 Posted by Yennick Trevels on 07 Feb, 2016 10:51 AM

    Yennick Trevels's Avatar

    Hi Matthias,

    I can't find the issue, everything seems to indicate that something was compiled with AIR 16 (or with the new adt compiler), but I can't pinpoint what.

    Also, one thing I noticed which is probably unrelated to your issue, but which got my eye:

    "airMobile.targetDevice = true": Quite sure 'true' isn't a valid value here. the targetDevice GradleFx property is actually the "-device" adt option, so expects the same values. For more on this, see:

Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:


Already uploaded files

  • lastloglines.txt 2.5 KB

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts


? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac