Using an ANE (Adobe Native Extension) in a CS Extension

Hi,
I've made a simple ANE which works with AIR on a Windows Desktop.
I'd like to use it within a CS Extension, but it does not work (ExtensionContext.createExtensionContext(...) fails.
Did anybody succeed doing this ?
Any idea welcome,
TIA,
J.

Hi,
Thanks for your answer.
We have a dll which does quite complex things.
The idea is to create to ANE to use it either from a AIR desktop application (in Windows and later on MacOS), or from a CS extension within InDesign.
The desktop application/CS extension are mainly GUI, doing it in Flex would have allowed easy and reusable development for both Windows/MacOS.
J.

Similar Messages

  • Using OpenCV inside an Adobe Native Extension for IOS

    I'm trying to use OpenCV.framework inside an Adobe Native Extension that I'm developing to use on an IOS application made in Flex.
    The problem is that I get errors while packaging the application:
        Undefined symbols for architecture armv7:
          "__ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv", referenced from:
              __ZNSt3__16vectorIiNS_9allocatorIiEEE8__appendEm in opencv2(smooth.o)
              __ZNSt3__16vectorIN2cv6Point_IiEENS_9allocatorIS3_EEE21__push_back_slow_pathIKS3_EEvRT_ in opencv2(hough.o)
              __ZNSt3__16vectorIN2cv3VecIiLi128EEENS_9allocatorIS3_EEE8__appendEm in opencv2(matrix.o)
              __ZNSt3__16vectorIN2cv3VecIiLi64EEENS_9allocatorIS3_EEE8__appendEm in opencv2(matrix.o)
              __ZNSt3__16vectorIN2cv3VecIiLi32EEENS_9allocatorIS3_EEE8__appendEm in opencv2(matrix.o)
              __ZNSt3__16vectorIN2cv3VecIiLi16EEENS_9allocatorIS3_EEE8__appendEm in opencv2(matrix.o)
              __ZNSt3__16vectorIN2cv3VecIiLi12EEENS_9allocatorIS3_EEE8__appendEm in opencv2(matrix.o)
        ld: symbol(s) not found for architecture armv7
        Compilation failed while executing : ld64
    and this is the platformoptions.xml I use to compile the ANE:
        <platform xmlns="http://ns.adobe.com/air/extension/4.0">
            <sdkVersion>8.0</sdkVersion>
            <linkerOptions>
           <option>-framework opencv2</option>
           <option>-framework UIKit</option>
           <option>-framework Foundation</option>
           <option>-framework CoreGraphics</option>
           <option>-framework Accelerate</option>
           <option>-framework AssetsLibrary</option>
           <option>-framework AVFoundation</option>
           <option>-framework CoreImage</option>
           <option>-framework CoreMedia</option>
           <option>-framework CoreVideo</option>
           <option>-framework QuartzCore</option>
        </linkerOptions>
        </platform>
    Any idea?

    Problem solved. I've added this line
    <option>-lc++</option>
    to the platformOptions.xml.
    Now OpenCV works great in my actionscript native extension.

  • Adobe Native Extensions Xcode 5?

    Dear all,
    I have a challenge. I have developed an Xcode library which I would like to make available for people who use Flash, mainly in order to create a nice interface since Flash is WAY better for creating interfaces than Xcode. Therefore I dived into creating an Adobe Native Extension as explained in this quite nice tutorial on the Adobe website. I came across many issues on the way but in the end I succeeded in creating a .ANE file which could be used in Flash. Flash clearly recognizes the names of the classes etc that are defined in the actionscript library, but as soon as it runs the scripts I get an error saying "Could not find the class <classname>". I considered me to be the most likely prolem so I decided to take a step back and build the code that is in the .zip file of the tutorial (so my hands did not touch the code other than compiling it) strangely I get the same errors again.
    There are 3 most likely things that could be at the essence of this:
    - The tutorial was written quite some time ago, by now we have Xcode 5 which might be different from the version used when writing the tutorial. Specificially it could be that some of the build settings are not compatible with adobe AIR. I am curious whether people have experience with this.
    *- I make a mistake in importing the library into my flash code.  I saw other posts on these forums where people have been making such mistakes. Some variations I tried are importing the .ANE directly (which another guy here also tried and reported that this would not work, strange but ok..) then I did it with the SWC and I also made the traditional mistake at first of not linking it externally. But after having solved that as well I am stuck. Maybe there is something else I should be aware of?
    - My Flash version and AIR versions are more modern than the ones in which this code was written, could it be that there are depreciation issues in the newer versions?
    * An interesting detail though is that I do manage to include the .ANE file of the original build which is also included in the .zip. Therefore I think it is unlikely that I make a mistake in importing the libraries, but nevertheless these things can never be truly ruled out.
    If it helps I can share the coding I used but as it is the tutorial code I do not expect that there are true mistakes in this.
    Do you have any experience in this? Or could you reproduce my error(or not and thus solving it?) Any help is appreciated!

    I'm pretty sure that you are wrong and don't understand what actually happening ;)  Native Extensions work well and users develops new one. I done myself extension using xcode 4.0 to 5.0 so everything is with it. Just need to find better tutorial. Last ANE finished 2 weeks ago that change iOS keyboard color.  Creation of ANE it's pretty simple job when you know what to do. I don't have any C++ and Objective-C background but this don't restrict me from ANE creation that works well.

  • How to use GooglePlayServices libs in Native Extension of Android AIR app?

    I am trying to use some features of Google Play Services lib but I could not make it work. I have added the reference to the google play service libs to the manifest file (from Flash Builder)
    <application android:enabled="true">
    <meta-data  android:name="com.google.android.gms.version"
                    android:value="@integer/google_play_services_version" />
    <activity android:excludeFromRecents="false">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
    </application>
    In my ANE, I have added the reference to the source of google-play-services_lib, but when I tried to call the FREFunction to check the availability of Google Play Service
    @Override
    public FREObject call(FREContext context, FREObject[] args){
         boolean result = false;
         try{
          Activity activitiy = context.getActivity();
          activityContext = activitiy.getBaseContext();
              result = isGooglePlayServiceExists();
         }catch(IllegalStateException e){
          Log.e(AneUtils.TAG, "Failed to get AIR current activity", e);
         FREObject obj = null;
        try{
            obj = FREObject.newObject(result);
        }catch(FREWrongThreadException e){
            Log.e(AneUtils.TAG, "Failed to create FREObject from [" + result + "]");
        return obj;
    private boolean isGooglePlayServiceExists(Context activityContext){
        int googlePlayServicesCheck = -1;
        try{
            googlePlayServicesCheck = GooglePlayServicesUtil.isGooglePlayServicesAvailable(activityContext);
        }catch(Exception e){
            Log.e(AneUtils.TAG, "Error getting googlePlayService state",e);
        if(googlePlayServicesCheck == ConnectionResult.SUCCESS){
             return true;
        return false;
    The ANE crashed at the line GooglePlayServicesUtil.isGooglePlayServicesAvailable(activityContext) so I really doubted the Google Play Service libs was not added.
    Has anyone successfully imported the Google Play Serivce libs into Adobe AIR Android app?
    Any advice or help will be appreciated. Thank you.

    hey sshk5,
    I have managed to make it work. The solution is quite simple, i will explain the steps below
    1. Download the latest Android SDK from ADT (including the latest version of GooglePlay lib)
    2. Check the version number of Google Play lib ( for example 412312....) something and in your FlashBuilder project, make sure you use the  exact number like
    <meta-data  android:name="com.google.android.gms.version" android:value="412312" />
    3. Use tool to merge the googlelib jar file with your native extension before importing the native extension to FlashBuilder. If you do not want to use any other tool, you can use the AIR 4.0 which will allow you to use commandline to merge jars (and even dependency resources)
    Hope it helps

  • Changing iOS device volume via adobe native extension

    hello
    I have created an ANE to control the ios device volume. When I exclude the following code, my ANE functions well, but when I include the code the and reproduce the ANE, I cannot compile the IPA.
    UIWindow *win = [UIApplication sharedApplication].keyWindow;
    MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame: CGRectZero];
    [win addSubview: volumeView];
    volumeView.showsRouteButton = NO;
    How could I make this code work with my ANE?
    Thanks

    Thank you for pointing that out; I had seen it before posting.  The key item I need is to have an ANE that controls volume but does NOT have the popup showing when setVolume is called.  To do this, you need an ANE that uses iOS's MPVolumeView (as the original poster on this thread had asked about) and hence why I added to this thread.  Are you familiar with any ANEs that specifically use MPVolumeView so that the popup isn't shown?

  • Has someone made adobe native extension for integrating with NextPeer's social plugin

    Hello, I've searched all over for an ANE wich is integrating NextPeer's social plugin, but with no results. I was wondering if someone has ever made it and if it's made where I can find it. Here is the plugin for xCode http://developers.nextpeer.com.
    Thanks,
    Martin Grigorov.

    Hello, I've searched all over for an ANE wich is integrating NextPeer's social plugin, but with no results. I was wondering if someone has ever made it and if it's made where I can find it. Here is the plugin for xCode http://developers.nextpeer.com.
    Thanks,
    Martin Grigorov.

  • IOS default native extension packaging null pointer exception

    I have an ANE that currently has a specific implementation for Android and a default implementation. Packaging up the .apk for android works fine on my android devices and packaging up a windows destop version (I created a separate desktop air application to do this) that uses the default ANE implementation works fine.
    The problem is when trying to packaging the ipa for iOS that uses the ANE. I get the following error when I try a "Export Release Build" of my mobile app for iOS. It should be using the default ANE implementation.
    Error occurred while packaging the application:
    Warning: Using default implementation for native extension '<my ane extension id here>'
    unexpected failure: null
    java.lang.NullPointerException
        at com.adobe.png.PNGUtils.updatePNGMetadata(PNGUtils.java:60)
        at com.adobe.air.ipa.IPAOutputStream.addFile(IPAOutputStream.java:557)
        at com.adobe.air.ADTOutputStream.addFileFromStream(ADTOutputStream.java:299)
        at com.adobe.air.ADTOutputStream.addFileFromStream(ADTOutputStream.java:292)
    What is missing? I've successfully packaged IPAs before but they didn't use any ANEs. This app will eventually have it's own iOS ANE implementation but it should just use the default if there is no iOS implementation available.
    Randy

    While using ipa-test-interpreter or ipa-debug-interpreter (and also removing the -platformsdk argument during IPA packaging) fixed ipa-test and ipa-debug builds, it did not fix ipa-ad-hoc or ipa-app-store builds. Our entire build automation system relies on ant based builds, so at the moment using Flex 4.6 and AIR 3.4 is basically out of the question because of the null pointer exception error that eckhoff_randy pointed out above.
    Without AIR 3.4 we do not have iOS 6 support (meaning we don't have iPhone 5 support either).
    This is a MAJOR problem. I'm not sure that 'waiting until the next release' is an acceptable answer at this point. If possible can you give me as much information as you have on this problem?
    Here's what's my output looks like:
    [exec] [Fatal Error] :1:1: Content is not allowed in prolog.
    [exec] java.io.IOException: PLIST generation failed due to SAX error:org.xml.sax.SAXParseException: Content is not allowed in prolog.
    [exec]
    at com.adobe.air.Plist.newFromString(Plist.java:351)
    [exec]
    at com.adobe.air.Plist.newFromFile(Plist.java:325)
    [exec]
    at com.adobe.air.ipa.IPAOutputStream.setSDKVersion(IPAOutputStream.java:1067)
    [exec]
    at com.adobe.air.ipa.IPAOutputStream.setPlatformSDKLocation(IPAOutputStream.java:969)
    [exec]
    at com.adobe.air.ipa.IPAPackager.setDeviceSDKDirectory(IPAPackager.java:187)
    [exec]
    at com.adobe.air.ADT.parseFileAndPathArguments(ADT.java:1423)
    [exec]
    at com.adobe.air.ADT.parseDescriptorAndFileset(ADT.java:1474)
    [exec]
    at com.adobe.air.ADT.parseInput(ADT.java:929)
    [exec]
    at com.adobe.air.ADT.parsePackage(ADT.java:672)
    [exec]
    at com.adobe.air.ADT.parseArgsAndGo(ADT.java:570)
    [exec]
    at com.adobe.air.ADT.run(ADT.java:419)
    [exec]
    at com.adobe.air.ADT.main(ADT.java:469)
    [exec] unexpected failure: null
    [exec] java.lang.NullPointerException
    [exec]
    at com.adobe.air.ipa.IPAOutputStream.addExtensionAbc(IPAOutputStream.java:1031)
    [exec]
    at com.adobe.air.ipa.IPAPackager.addExtensions(IPAPackager.java:351)
    [exec]
    at com.adobe.air.ApplicationPackager.createPackage(ApplicationPackager.java:68)
    [exec]
    at com.adobe.air.ipa.IPAPackager.createPackage(IPAPackager.java:245)
    [exec]
    at com.adobe.air.ADT.parseArgsAndGo(ADT.java:571)
    [exec]
    at com.adobe.air.ADT.run(ADT.java:419)
    [exec]
    at com.adobe.air.ADT.main(ADT.java:469)

  • Error 112: The AIR target doesn't support native extensions

    I have been developing an AIR app in Flash Builder.  I recently created an ANE (Air Native Extension) for FMOD and linked it with my AIR app.  ADT user-unfriendliness aside, I got it working.
    When I try to update my Ant build script to package the ANE files with my AIR project, ADT complains:
    My-App-Descriptor-Name.xml: error 112: The AIR target doesn't support native extensions.
    This comes as a surprise to me, because I've been compiling and developing the AIR app in Flash Builder with the ANE extensions.  It also doesn't make sense, because I packaged my ANE with platform specific libraries for multiple platforms (Windows and MacOs), so when the AIR app runs on these platforms, it should work.  However, this aside, my main point is:
    How the heck does this work in Flash Builder if AIR targets do not support ANE?  What is Flash Builder doing, exactly, when I Run or Debug an AIR app with ANEs?
    Thanks!
    JW

    hi I have the same issue while publishing my app app.xml: error 112: The AIR target doesn't support native extensions. plz help

  • Developing and using Adobe AIR native extensions for Android devices

    I was using this tutorial:
    "Developing and using Adobe AIR native extensions for Android devices"
    http://www.adobe.com/devnet/air/articles/ane-android-devices.html
    When packing the Flex mobile ANESampleTest to deploy on an Android device, the below error happens
    Error occurred while packaging the application:
    aapt tool failed:invalid resource directory name: /private/var/folders/k8/1thhvkf92h947n_g22hg_v9m0000gn/T/52ba05aa-9001-4d46-9438-db81ef83 06f0/res/drawable-xxhdpi
    invalid resource directory name: /private/var/folders/k8/1thhvkf92h947n_g22hg_v9m0000gn/T/52ba05aa-9001-4d46-9438-db81ef83 06f0/res/values-sw600dp
    invalid resource directory name: /private/var/folders/k8/1thhvkf92h947n_g22hg_v9m0000gn/T/52ba05aa-9001-4d46-9438-db81ef83 06f0/res/values-sw720dp-lan
    Does anyone know what the issue might be?

    Did you find a workaround for the Error? I'm getting the same and I can't seem to find any solution.

  • Unable To Build iOS App Using Native Extension

    I’m trying to create a native extension for iOS and use that extension as part of an IPA app for iOS I create from a SWF file using the ADT tool (i.e. the normal use-case for iOS). Note: I have already successfully created the native extension and APK app for Android and now I am trying to build the iOS side.
    I have been primarily using the information found at the following websites:
    http://www.adobe.com/devnet/air/articles/building-ane-ios-android-pt3.html
    http://www.adobe.com/devnet/air/articles/building-ane-ios-android-pt5.html
    http://help.adobe.com/en_US/air/build/WS901d38e593cd1bac35eb7b4e12cddc5fbbb-8000.html
    I have also searched the Adobe forums for the answer to my question without success.
    The error I receive is:
    ld: warning: ignoring file /var/folders/c3/mpg4frwn2j1f8scw4jctbmv9hfkswj/T/bd3fbd4a-cf56-4fd6-a06d-d69ea92dc620/lib com.mycompany.MyExtension.a, file was built for archive which is not the architecture being linked (armv7): /var/folders/c3/mpg4frwn2j1f8scw4jctbmv9hfkswj/T/bd3fbd4a-cf56-4fd6-a06d-d69ea92dc620/lib com.mycompany.MyExtension.a
    Undefined symbols for architecture armv7:
      "_MyExtensionInitializer", referenced from:
          _g_com_adobe_air_fre_fmap in aotInfo.o
      "_MyExtensionFinalizer", referenced from:
          _g_com_adobe_air_fre_fmap in aotInfo.o
    ld: symbol(s) not found for architecture armv7
    Compilation failed while executing : ld64
    I receive the above error when I execute the following command:
    adt -package -target ipa-ad-hoc -storetype pkcs12 -keystore certificate.pfx -provisioning-profile provisioning_profile.mobileprovision MyApp.ipa MyApp.xml MyApp.swf -extdir packaged-extensions
    where the folder “packaged-extensions” contains the ANE file I created using this command:
    adt -package -target ane packaged-extensions/MyExtension.ane MyExtension.xml -swc MyExtension.swc -platform Android-ARM -platformoptions platformAndroidARM.xml -C dependencies . -C platform/Android . -platform iPhone-ARM -platformoptions platformiOSARM.xml -C platform/IOS . -platform default -C platform/default library.swf
    where the content of the files are as follows:
    MyApp.xml:
    <application xmlns="http://ns.adobe.com/air/application/4.0">
        <id>MyApp</id>
        <versionNumber>0.0.1</versionNumber>
        <filename>MyApp</filename>
        <initialWindow>
            <content>MyApp.swf</content>
            <visible>true</visible>
            <width>600</width>
            <height>600</height>
        </initialWindow>
        <supportedProfiles>mobileDevice</supportedProfiles>
            <extensions>
                    <extensionID>com.mycompany.MyExtension</extensionID>
            </extensions>
    </application>
    MyExtension.xml:
    <extension xmlns="http://ns.adobe.com/air/extension/4.0">
            <id>com.mycompany.MyExtension</id>
            <versionNumber>0.0.1</versionNumber>
            <platforms>
                    <platform name="Android-ARM">
                            <applicationDeployment>
                                    <nativeLibrary>MyExtension.jar</nativeLibrary>
                                    <initializer>com.mycompany.MyExtension</initializer>
                            </applicationDeployment>               
                    </platform>
                    <platform name="iPhone-ARM">
                            <applicationDeployment>
                                    <nativeLibrary>libMyExtensionIOSLibrary.a</nativeLibrary>
                                    <initializer>MyExtensionInitializer</initializer>
                                    <finalizer>MyExtensionFinalizer</finalizer>
                            </applicationDeployment>
                    </platform>
                    <platform name="default">
                            <applicationDeployment/>
                    </platform>
            </platforms>
    </extension>
    platformiOSARM.xml:
    <platform xmlns="http://ns.adobe.com/air/extension/4.0">
      <linkerOptions>
        <option>-ios_version_min 5.1</option>
        <option>-liconv</option>
      </linkerOptions>
    </platform>
    MyExtensionIOSLibrary.m (yes, I know it doesn't do anything - it's simple on purpose to help isolate the error):
    #import "FlashRuntimeExtensions.h"
    void MyContextInitializer(void* extData, const uint8_t *ctxType, FREContext ctx, uint32_t *numFunctionsToTest, const FRENamedFunction **functionsToSet) {
      return;   
    void MyExtensionInitializer(void **extDataToSet, FREContextInitializer* ctxInitializerToSet, FREContextFinalizer* ctxFinalizerToSet) {
        *extDataToSet = NULL;
        *ctxInitializerToSet = &MyContextInitializer;
    void MyExtensionFinalizer(void *extData)
        return;
    I am using XCode to build MyExtensionIOSLibrary.m into a library file with a .a filename extension. My relevant build settings are:
    iOS Deployment Target: iOS 5.1
    Architectures: armv7
    Build Active Architectures Only: No
    Product Scheme: Release
    Compile Sources As: Objective-C
    Any ideas? Please help.

    Thanks for the reply.
    yes.I've created a static library with 3rd party frameworks and pulled the .a from product folder(Debug-iphoneos).
    and the framework didn't work(armv7 not supported error occurs ..don't know why) with it's original folder structure .
    so I followed below link to change folders inside the 3rd party framework and figured out but now  the application crashes on startup without giving an error message. .
    スタッフ日記 - 【ANE作成】外部フレームワーク を含むANE作成時の注意点(iOS) | 株式会社マリエッタ

  • Bus Error: 10 while packaging a Flash Builder 4.6 application containing a native extension (ANE)

    I get this error:
    ld: warning: -ios_version_min not specificed, assuming 4.0
    ld: warning: -dead_strip with lazy loaded static (library) archives has resulted in a duplicate symbol.  You can change your source code to rename symbols to avoid the collision.  This will be an error in a future linker.
    /var/folders/y4/svqv7kzn469_ljcrvw1b99500000gn/T/cmd8085539752601990184.tmp: line 2: 25159 Bus error: 10           "/Applications/Adobe Flash Builder 4.6/sdks/4.6.0/lib/aot/bin/ld64/i686-apple-darwin10-ld64" -ObjC -dead_strip -Z -arch armv7 -syslibroot "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iP honeOS6.0.sdk" -L/usr/lib -F"/System/Library/Frameworks/" -L"/Applications/Adobe Flash Builder 4.6/sdks/4.6.0/lib/aot/lib" -o "../aot8213014594451590298.tmp" -L"/var/folders/y4/svqv7kzn469_ljcrvw1b99500000gn/T/07f32573-0d2b-42c6-b431-916954d76791" -exported_symbol _main -exported_symbol _ExtInitializer -exported_symbol _ExtFinalizer "extensionglue.o" -lstdc++ -lRuntimeInterpreter.arm-air -lgcc_s.1 -lstdc++.6 -lcrt1.o -lSystem.B -lz -lobjc -framework CoreFoundation -framework UIKit -framework MobileCoreServices -framework CoreGraphics -framework Foundation -framework SystemConfiguration -framework AudioToolbox -framework CFNetwork -framework QuartzCore -framework OpenGLES -framework CoreLocation -framework CoreMedia -framework CoreVideo -framework AVFoundation -framework Security -lcom.pgi.native.extensions.softphone
    Compilation failed while executing : ld64
    The ane was created using this command:
    "/Applications/Adobe Flash Builder 4.6/sdks/4.6.0/bin/adt" -package -target ane SPExtension.ane extension.xml -swc SPTest.swc -platform iPhone-ARM -C ios . -platformoptions platform.xml
    The ANE file seemed to load in my project ok, and build ok.  But when I hit run to package for my ios device, I get the above error.

    Here's the fix in case anyone else runs into this problem.  When Flash Builder is building the deployment during launch, it converts the mapped path to a mangled local path for the ane to find the descriptor to a relative path, which can't be found and throws the null pointer.  Making the Output Folder path actually local to the computer, as opposed to the default that FB creates, resolves the error, and still allows blazeds access from the device.

  • Adobe Air native extension for admob

    Dear Adobe Team,
    We have recently purchased Adobe Air native extension for admob for android & ios
    but every time we upload our app to an ipad or iphone, the app crashes.
    We have carefully followed your instructions, and we're sure we've not made a mistake writing the action script 3 code.
    We need your help in solving this problem urgently, as we are now running behind schedule in uploading our app.
    Thanks very much,
    Amir Steklov and Dorit Leshnick

    Before I was also searched a lot to find good  add network and also Admob.
    Finally we done successfull integration using..  working fine in all IOS devices. not yet released to Apple app store
    http://code.google.com/p/flash-air-admob-ane-for-ios/source/browse/trunk/admobaneiphone/sr c/admobtest.as?r=2
    You can check our add setups using Air ANE's for our android game ExpressTrain.
    https://play.google.com/store/apps/details?id=air.timuzsolutions.expresstrain&feature=sear ch_result#?t=W251bGwsMSwyLDEsImFpci50aW11enNvbHV0aW9ucy5leHByZXNzdHJhaW4iXQ..
    you no need to buyAdobe Air ANE's everything is free but all u need to do is googling,
    hope this will help.
    Bala
    Message was edited by: vamsibalu

  • Add native extensions to a projec in adobe flash cs 5.5

    hi,
    how can I add native extensions to an android project? I 'd like to  add an *.ane file. I have the adobe flash cs 5.5 and actionscript 3.0.  I have this information, Project properties -> Flex Build Path -> Native Extensions -> Add but I can't find the project properties on menu bar (not windows -> project). what is the flex???

    You must get used to using the command line ADT tool if you wish to compile using an .ane. Flash CS5.5 does not have built in support such as Flash Builder to handle the ANE for you. Google 'adt compile ANE extension' and it will give you an example of using the adt command line tool with -extensionDir support for included extensions.
    I ended up just buying Flash Builder.. Chief problem being certain ANEs will require certain version SWFs to compile against and it's not easy to get Flash CS5.5 to give you, say, a version 14 SWF.

  • Flash Builder 4.6 Mobile Project Using Blazeds & Native Extension

    Hi,
    I'm building a Flex Mobile project in FB, that uses BlazeDS to access data through a Spring Project, and also uses an ANE file to access the device's contacts.  I want to debug the application on a device connected with a USB cable, so had to set my root and output folders in Server Settings  using UNC so it can be found from my device thru my wifi network. I also have added the native extension via the Build Path and Packaging tabs.  When I debug from a desktop emulator, things launch OK and the extension correctly tells me it's not supported on the emulator. However, if I debug on the device, FB throws an exception at launch, complaining of a java null pointer exception.  The Eclipse log, in part, looks like this:
    com.adobe.flexbuilder.project.AbstractXMLModel$FileReadException: org.eclipse.core.internal.resources.ResourceException: Resource '/NewOne-debug/NewOne-app.xml' does not exist.
              at com.adobe.flexbuilder.project.air.internal.xml.ApplicationXMLModel.<init>(ApplicationXMLM odel.java:102)
              at com.adobe.flexbuilder.project.air.AppXMLCreator.init(AppXMLCreator.java:91)
              at com.adobe.flexbuilder.project.air.AppXMLCreator.<init>(AppXMLCreator.java:80)
              at com.adobe.flexbuilder.project.air.AppXMLCreator.<init>(AppXMLCreator.java:73)
              at com.adobe.flexbuilder.project.ui.utils.ANE.AppXMLFileANEExtensionHandler.getAppXMLCreator (AppXMLFileANEExtensionHandler.java:153)
              at com.adobe.flexbuilder.project.ui.utils.ANE.AppXMLFileANEExtensionHandler.retainExtensionI ds(AppXMLFileANEExtensionHandler.java:315)
              at com.adobe.flexbuilder.project.ui.utils.ANE.ANEController.modifyAppXMLforPackaging(ANECont roller.java:371)
              at com.adobe.flexbuilder.project.ui.utils.ANE.ANEController.modifyAppXMLforPackaging(ANECont roller.java:338)
              at com.adobe.flexbuilder.project.ui.utils.ANE.AbstractANEPackageHandler.modifyAppXMLforPacka ging(AbstractANEPackageHandler.java:91)
              at com.adobe.flexide.launching.multiplatform.launchhandlers.AbstractMultiPlatformLaunchHandl er.applyNativeExtensionDetails(AbstractMultiPlatformLaunchHandler.java:164)
              at com.adobe.flexide.multiplatform.android.launching.ADBLaunchHandler.doPackage(ADBLaunchHan dler.java:424)
              at com.adobe.flexide.multiplatform.android.launching.ADBLaunchHandler.launch(ADBLaunchHandle r.java:250)
              at com.adobe.flexide.launching.multiplatform.MultiPlatformLaunchDelegate.launch(MultiPlatfor mLaunchDelegate.java:191)
              at com.adobe.flexide.launching.AbstractFlexLaunchDelegate.launch(AbstractFlexLaunchDelegate. java:244)
              at com.adobe.flexide.launching.AbstractFlexLaunchDelegate.launch(AbstractFlexLaunchDelegate. java:134)
              at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:854)
              at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:703)
              at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:928)
              at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1132)
              at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: org.eclipse.core.internal.resources.ResourceException: Resource '/NewOne-debug/NewOne-app.xml' does not exist.
              at org.eclipse.core.internal.resources.Resource.checkExists(Resource.java:320)
              at org.eclipse.core.internal.resources.Resource.checkAccessible(Resource.java:194)
              at org.eclipse.core.internal.resources.File.getContents(File.java:287)
              at org.eclipse.core.internal.resources.File.getContents(File.java:278)
              at com.adobe.flexbuilder.project.air.internal.xml.ApplicationXMLModel.<init>(ApplicationXMLM odel.java:100)
              ... 19 more
    I guess the problem is that when the application tries to run on my device, the extension is not finding the application descriptor file.  Is there anything else I need to do?
    I appreciate any help.
    Jay

    Here's the fix in case anyone else runs into this problem.  When Flash Builder is building the deployment during launch, it converts the mapped path to a mangled local path for the ane to find the descriptor to a relative path, which can't be found and throws the null pointer.  Making the Output Folder path actually local to the computer, as opposed to the default that FB creates, resolves the error, and still allows blazeds access from the device.

  • Adobe: What frameworks are compatible with Native Extensions on iOS?

    Man it's really hard to diagnose what could possibly be going wrong compiling ANEs for iOS. I dev apps in Xcode that work perfect, zero leaks. I use any part of the majority of the frameworks I've tried (none visual) and they simply don't work outside a very rare few. Vibration, gyroscope, alert modals, etc.
    Is there a list of compatibility between ANEs and classes on platforms that AIR supports? Whether it be Windows, iOS, Android, MacOSX, etc?
    Is there some way to "know" that a framework should be supported? For example, all I remember reading is to steer clear of visual classes. Oddly the UIAlertView modal works on iOS (that's visual to me but *shrug*).
    My current need is to use NSURLConnection and NSURLRequest. Both are in Foundation.h. Neither are visual. They're simply classes that make a connection to a host while sending and receiving responses. Yet any time I attempt to instantiate a NSURLRequest it's insta-crash. I comment it out and the ANE works fine. So far I find almost everything I do with ANEs to fail.
    Clearly the framework classes I'm using aren't supported or I'm doing it miserably wrong.
    A chart indicating support would be REALLY nice for each platform.
    On another note, has anyone utilized NSURL* on iOS successfully in an ANE?

    Thanks for the response. A few questions on your insights.. I don't use the command line adt tool to do anything besides package the ANE. Otherwise I'm not sure why my AIR project would need to know where the iOS SDK base directory is. The static library is already produced.
    Here's the simple code I'm using (just the NSURL* related stuff):
    http://pastebin.com/SFsq578R
    I'm producing the Static Lib using XCode 4.3.x. I only need NSURL* functionality which is found in Foundation.h which is included and required for compile in build phases. If I comment out anything to do with NSURL* and simply return a string (FREObject of a const char*) I get that string back to flash and can print it to prove I have the context/initializer/finalizers set up and the function named properly. So the bridge between AIR and ANE work just fine. It's only when I use a NSURL* function that I crash.
    Since my troubles I read this extensively long PDF on creating native extensions:
    http://help.adobe.com/en_US/air/extensions/air_extensions.pdf
    To be brief, it warned that a FREObject only exists until the return of the function you call. What I'm wondering is if it's even possible to use NSURL* functions because they require a delegate and will be running async. So even if I make a request and a connection using that request, after I return from the FRE function the connection is probably being cleaned up.
    That aside, I did make the connection and request a synthesized global hoping to get around this. Also to be brief I found an excellent post about debugging an IPA using XCode. Otherwise you're pretty much in a black hole debugging. Here's the post:
    http://blogs.adobe.com/rajorshi/2011/11/18/debugging-native-extensions-for-air-ios/
    The recipe works although it didn't right out of the box.
    XCode is telling me it's a EXC_BAD_ACCESS which typically means the object does not exist that I'm doing something to. My call stack looks like this (loosely, and the name of my static lib is libWebUtil):
    0 objc_msgSend
    1 CFStringGetLength
    2 _CFStringIsLegalURLString
    3 -[NSURL(NSURL) initWithString:relativeToURL:]
    4 -[NSURL(NSURL) URLWithString:relativeToURL:]
    5 -[WebUtil performRequest] // this is my method
    6 performRequest
    7 avmplus::ExtensionContextObject::_call(avmplus::String*,avmplus::ArrayObject*)
    .. etc
    From that stack I see it firing off the NSURLRequest and NSURL itself is first taking my string and testing it (CFStringIsLegalURLString) and then it runs CFStringGetLength. I assume it has completed verifying the string and goes to send a message (0 objc_msgSend) and I get a EXC_BAD_ACCESS on that.
    I see 9 threads running. This happens on Thread 1 (com.apple.main-thread). The stack traces all look like ASM code to me. Not very useful but at least I can tell the official error.
    Mind you that code linked above works perfectly if I make a new empty app, import it and run it. I print out the response data and it's fine.
    Right around the incident on the stack there's a avmplus::EventDispatcherObject::NativeDispatchEvent(MMgc::GCAPI::GCRef<avmplus::EventObje ct>, avmplus::WeakRefList<SObject> const*) + 1076;  .. if that helps at all. It's like the event it dispatches (perhaps from NSURL) to signal that the NSURL I'm making on the fly is correct but there's no object to receive it. That might happen if my method finishes and the object is destroyed before NSURL can even fire off the message.
    So I'm very interested in learning about object lifecycle in an ANE.

Maybe you are looking for

  • How to popup a page from a button not in a region position

    Hello. I am using Apex 2.2.1. I have a form (not a report) on which I've placed a button that is positioned "among the items" as opposed to being placed in a specific region position. When the button is clicked I would like to have another page popup

  • Webservice: Special characters not displayed correctly

    Hi, I'm facing a problem when retrieving informations via a webservice. I'm able to use it and data is retrieved but when there are special characters into the response they are not displayed correctly. Repsonse of the webservice is XML formatted. It

  • Wish list entry for CASE designers/manufacturers

    I want a clear plexi sturdy case (like the xtrememac cases for iPods) that I don't have to remove to be able to put my iPhone into the dock. Come on folks, it can be done. It is possible to design something like that. All the nice plexi cases on the

  • RI - What if Parent is refreshed - What happens to the constraints

    Hello I have a parent-child scenario. What happens if the parent table is completely refreshed? What happens to the child table (that has cascade delete)? If RI exists, will a complete refresh of parent be possible? What is the best way to handle thi

  • Lenovo IdeaPad N580 - Windows 7 - Optiarc DVD RW AD-7740H

    I recently formatted my IdeaPad N580 laptop, it came with Windows 8 installed and i downgraded to Windows 7, the Optiarc DVD RW device stopped working, more specifically it "works" but the drivers are messed up (my assumption), it flashes the light,