Debug the native extension (ANE) AIR

Is it possible to debug somehow AIR native extensions when the current on the PlayBook, or at least get the reactions of output/print-debugging?

I tried as described in this tutorial , but don't know where the exit fprintf/fflush

The stdout and stderr are still redirected to the logs/log file in the current directory of your application.  You can view directly, assuming you have no other means, using SSH to connect to your PlayBook or Simulator and find the folder appdata for your application.

Some information about the file system configuration is http://supportforums.blackberry.com/t5/Tablet-OS-SDK-for-Adobe-AIR/BlackBerry-PlayBook-File-System-L...

Many other sons and all blog posts have covered connection via SSH.

Tags: BlackBerry Developers

Similar Questions

  • Air for Android 16.0 - cannot use the native extension that include android-support-v4 - ClassNotFoundException

    Hello

    This is my first question here, and I really need help on this problem. We are been struggling for a few days on the following error message: C

    05-12 17:35:29.321: E/AndroidRuntime (26531): FATAL error: IntentService [MCGcmIntentService]

    05-12 17:35:29.321: E/AndroidRuntime (26531): process: air.com.mooncat.androidTest, PID: 26531

    05-12 17:35:29.321: E/AndroidRuntime (26531): java.lang.NoClassDefFoundError: doesn't have a resolution of: generator Landroid/support/v4/app/NotificationCompat$;

    05-12 17:35:29.321: E/AndroidRuntime (26531): to com.mooncat.MCGooglePlayServices.MCGcmIntentService.sendNotification (MCGcmIntentService.j ava: 92)

    05-12 17:35:29.321: E/AndroidRuntime (26531): to com.mooncat.MCGooglePlayServices.MCGcmIntentService.onHandleIntent (MCGcmIntentService.jav one: 48)

    05-12 17:35:29.321: E/AndroidRuntime (26531): to android.app.IntentService$ ServiceHandler.handleMessage (IntentService.java:65)

    05-12 17:35:29.321: E/AndroidRuntime (26531): at android.os.Handler.dispatchMessage(Handler.java:102)

    05-12 17:35:29.321: E/AndroidRuntime (26531): at android.os.Looper.loop(Looper.java:145)

    05-12 17:35:29.321: E/AndroidRuntime (26531): at android.os.HandlerThread.run(HandlerThread.java:61)

    05-12 17:35:29.321: E/AndroidRuntime (26531): caused by: java.lang.ClassNotFoundException: did not find class ' android.support.v4.app.NotificationCompat$ Builder " on the path: DexPathList [[zip file ' /data/app/air.com.mooncat.androidTest-1/base.apk"],nativeLibraryDirectories=[/data/app/a ir.com.mooncat.androidTest-1/lib/arm, / vendor/lib, / system/lib ']]

    05-12 17:35:29.321: E/AndroidRuntime (26531): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)

    05-12 17:35:29.321: E/AndroidRuntime (26531): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)

    05-12 17:35:29.321: E/AndroidRuntime (26531): at java.lang.ClassLoader.loadClass(ClassLoader.java:469)

    05-12 17:35:29.321: E/AndroidRuntime (26531):... 6 more

    05-12 17:35:29.321: E/AndroidRuntime (26531): deleted: java.lang.ClassNotFoundException: android.support.v4.app.NotificationCompat$ Builder

    05-12 17:35:29.321: E/AndroidRuntime (26531): at java.lang.Class.classForName (Native Method)

    05-12 17:35:29.321: E/AndroidRuntime (26531): at java.lang.BootClassLoader.findClass(ClassLoader.java:781)

    05-12 17:35:29.321: E/AndroidRuntime (26531): at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)

    05-12 17:35:29.321: E/AndroidRuntime (26531): at java.lang.ClassLoader.loadClass(ClassLoader.java:504)

    05-12 17:35:29.321: E/AndroidRuntime (26531):... 7 more

    05-12 17:35:29.321: E/AndroidRuntime (26531): caused by: java.lang.NoClassDefFoundError: class not found using the charger to start class; no batteries available

    My Native Extension use Google Services play and rely on support android v4. Google services functions perfectly works play (for example: I am able to save the token with the google cloud features).

    I've seen this problem in another thread in github and seems that they solve it, but it does not fit my case. It's like in the publication of flash support android v4 is "removed". I say this because I tried to decompile the generated apk and I discovered that sources exist (like com / / thing, com, google, android, gms /...) BUT not the android/support/v4 /... On the contrary, seems that the apk build contains only the android/support/v7/appcompat/R.java (.java because is decompiled). In the .ane file, I have the Android - support.v4.jar and also the contents of platform.xml to/META-INF/ANE/Android-ARM. In the platform.xml I have this:

    <? XML version = "1.0" encoding = "utf-8"? >

    " < platform xmlns =" http://ns.Adobe.com/air/extension/4.0 ">

    < packagedDependencies >

    < packagedDependency >android-support - v4.jar< / packagedDependency >

    < packagedDependency >google-game - services.jar< / packagedDependency >

    < / packagedDependencies >

    < packagedResources >

    < packagedResource >

    com.Google.Android.GMS < packageName > < / packageName >

    < folder_name > google-game-services-res < / FolderName >

    < / packagedResource >

    < / packagedResources >

    < / platform >


    In the eclipse project, I tried to register the library of v4 support in all possible ways, such as addiction, external jar, or kept as a defult library in the libs folder. Nothing works...


    I really can't understand hot to fix this crazy...

    I just discover the problem... just crazy!

    It was caused by the version of android.support.v4.jar. I did a test now, for some reason any magic, using one I had before (I got it, in Eclipse, with a right click on the library project, Android tools > add Media Library, it was not recognized). Then, I tried with the other two different versions of android.support.v4.jar, and this solved the problem as if by magic! Just to say, using the method add the support library, the size of the file android.support.v4 was 1.2 MB, the other two versions were respectively 759 KB and 628 kb, according to their version. I expected that this library has been correctly added by eclipse, also relying on the target of androd in the project.properties, but does not appear. Hope this might help someone.

    PS: like all the other thread suggest, don't forget that the android.support.v4.jar is included in your DONKEY file, and the platform.xml explicitly declare it as .

  • The Native Error #3500 extension: after binding with some .lib file

    Hello


    I'm building my second native extension and ran into a strange problem. The first native extension I built was purely a generation of source (without external libs), no problem at all. So with this second I use ffmpeg. I am trying to build a version for Windows (again), which means that I have 32-bit libraries in zeranoe.com. I have the include file .lib files and .dll. I pretty much cloned my previous project, which worked well, so I have the .bat files to build the donkey. Descriptor .xml etc.

    So I built the .ane as before, it included in my project and... got this:

    ArgumentError: Error #3500: the context of the extension doesn't have a method with the name fw_ffmpeg_create.

    I've been googling and check everything, but I saw no problem anywhere (it certainly isn't Flash Builder 4.6 bug, I don't use that). I have concluded, that there must be something with the .dll file, so I started to take the .dll ' extra' stuff, because I knew that my previous simple .ane worked. I took my code referring ffmpeg until I got it right away, so I found myself with empty class methods. Donkey rebuilt and no complains!

    So I added av_free() for fun (one of the ffmpegs functions), causes the link if everything goes well and there is once again, error: #3500 blabla.

    What is going on? Is a corruption taking place caused by the binding in the ffmpegs? I tried to compile the file .dll of ane in VS2012 and VS2013, same result. The test application uses Flash CS6 (even I now try to use IntelliJ). Just curious to know if anyone has seen this before an external lib could corrupt native extension in such a manner. There may be a compilation to avoid this, not sure.

    Replying to myself:

    After debugging AIR in Disassembler (Yes), I discovered that the error message comes as a result of a dll failed to load. I was getting 0XC0000135 return code of ldrLoadDll deeply inside AIR. I wasn't getting, since my ffmpeg dll was in the portfolio app (and when they did not have the app has complained, after I copied them on it didn't). Then I realized that may not be enough strangely, so I tried to copy in system32 so - and of course, #3500 has disappeared. I guess that ultimately the DLL must be somewhere else, but too tired to find out now.

    So, the thing is - even if AIR said that your function is not defined in the native extension (error #3500), that error could not be describing the real question. If your native extension dll fails to load for some reason any, that it will fail to load the ExtensionInitializer that fails to run ContextInitializer, if your function names are not available in the AIR.

    I still have other independent issues with my DONKEY (crashes) now, but it seems to be interacting with ffmpeg DLL finally. Well, at least I learned new things for 2 days.

  • Native extensions and the GPL

    Hi all

    I hope someone can give me an opinion or an idea of how the GPL applies to Adobe native extensions.

    I have converted a library GPL'ed in a native IOS extension for use in my Flex app.  I'm sure I need to publish the source code of the revised version of the GPL'ed native library (including the ActionScript ANE part) as required by the GPL. What I'm not sure, this is if I am required to publish the complete source code for my application (the forth part only worn the native extension). Looking at the architecture of the ENA, it seems that ENA is separate from the main application.

    I posted the question to the forum from the developer, but I get no answer.

    Any response will be greatly appreciated.

    Tahnk you!

    Hello:

    According to this (http://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem) you need to open source any piece of software that uses the library under GPL. In other words, you need to make your request for free software.

    This http://www.gnu.org/licenses/gpl-faq.html#GPLWrapper FAQ also eliminates the possibility of encapsulating your DONKEY as a different project open source wrapped with another compatible license GPL.

    The best way is to look for alternative library LGPL

    Thank you

    mathyas

  • problems with the use of native extensions

    Hi there I just did a DONKEY that works in flash builder, but when I try to make the apk for flash pro with adt

    I get an error saying my main swf is version 11 or something, but the native extension is version 15.

    I can't remember the exact error right now.

    That's what I use:

    ADT-package - target apk-captive-DURATION - stores pkcs12 - keystore bin - storepass "luke massoud.p12" NCA "TestANE.apk" "android - app.xml"-ch. of 123456. extdir - lib /.

    If you don't know how to solve this problem could you maybe just give me a general overview of how to get the donkey is to work in fash pro.

    Anyway, thanks for reading!

    Luke

    You put AIR3.2 on Flash Builder? This process is much easier.

    Download the AIR SDK 3.2 here.

    Close Flash Builder.

    Take the zip file and bring it back to the default location of the Flash Builder 4.6 (adjust accordingly):

    C:\Program Files (x 86) \Adobe\Adobe Flash Builder 4.6\sdks\4.6.0

    After placing the in this .zip file, double-click it in windows Explorer, so open windows Explorer. There is now a button extract. Hit that and let it extract right where it is. Leave it to overwrite all the files and folder that he asks me. You are now updated to the last 3.2 AIR in Flash Builder.

    If you receive these errors in Flash, then use the same zip you just downloaded and follow the instructions that are to an earlier version, but the process is the same. Then you will get 3.2 AIR in Flash Builder and Flash.

  • Can someone tell me what I'm doing wrong when you create a native extension for iPad? (Very detailed)

    My company is developing a game for iPhone and iPad using Flash cs5.5 and Air3.0

    The customer requires that certain features be supported - these things as GameCenter, rating, etc... which none are currently supported by flash for the iOS.

    However, they provide us with a bunch of xCode example files on how they want things to work.

    My idea was to bridge the gap in functionality by creating a native extension using the xcode source that was given to me, giving me the required functionality.

    But first, I need to truly CREATE a native extension, even just a base echo/hello everyone... I followed all the steps of various guides and tutorials and I have managed to create an ipa and put it on my iPad 2 to test, but when the program starts, nothing happens, I find myself with a black screen. When I comment on the lines of code that initialize the extension, it fires just fine.

    (and Yes, I even tried to put things in try blocks where there was a mistake - no luck)

    So I hope that someone can read through the process of what I do below and point out what I am doing wrong, or what Miss me.

    What I use:

    Mini Mac running OS x 10.7.2 - this is used to run xCode 4.1 build 4B 110

    PC - Windows 7 home 64 bit - running Flash CS5.5 (version 11.5.1.3469) with the 3.0 SDK inside AIR. I also have the sdk 3.0 air in a separate file for the command-line running. (This is my primary development platform)

    The PC has flash builder installed, but I've never really used it, and I don't know how to use it... everything that has been built to date has been done using Flash CS5.5

    So, here's what I did.

    The first thing we do is to create a library static .a on mac.

    I open xcode and create a new project.

    • Select iOS framework and library, then select "Cocoa touch static library.
    • Give it a name, in this case "EchoExtension" and put it in a folder.
    • I then delete the file EchoExtension.h as all the samples I've seen so far do not use.
    • I then add 'FlashRuntimeExtension.h' to the project of the AIR3.0 sdk frameworks folder on my PC
    • I remove everything in my folder ".m", and then, next to several different examples and tutorials, type the following code:

    //

    EchoExtension.m

    EchoExtension

    //

    #include "FlashRuntimeExtensions.h".

    Echo FREObject (FREContext ctx, void * funcData, uint32_t argc, {FREObject argv)

    return argv [0];

    }

    //----------- Extention intializer and finalizer ----------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------ -

    A native context instance is created

    void ContextInitializer (void * extData, const uint8_t * ctxType, FREContext ctx, uint32_t * numFunctionsToTest, const FRENamedFunction * functionsToSet) {}

    Configure the number of functions in this extention

    for ease of reference, set the number of function that will use this extension.

    int FunctionCount = 1;

    set the number of function pointer reference that will use this extention.

    * numFunctionsToTest = FunctionCount;

    create an array to store all the functions that we will use.

    FRENamedFunction * func = (FRENamedFunction *) malloc (sizeof (FRENamedFunction) * FunctionCount);

    create a table for each function entry

    Func [0] .name = (const uint8_t *) "echo"; the name of the function

    Func [0] .functionData = NULL;                    the data type

    Func [0] .function = & echo;             the reference to the real function

    Save the array to a pointer.

    * functionsToSet = func;

    }

    A native context instance is deleted

    void ContextFinalizer (FREContext ctx) {}

    return;

    }

    Initialization of each extension function

    void ExtInitializer (void * extDataToSet, ctxInitializerToSet FREContextInitializer *, FREContextFinalizer * ctxFinalizerToSet) {}

    * extDataToSet = NULL;

    * ctxInitializerToSet = & ContextInitializer;

    * ctxFinalizerToSet = & ContextFinalizer;

    }

    Called when the extension is unloaded

    void ExtFinalizer (void * extData) {}

    return;

    }

    • I'll then 'product', 'building' and it creates libEchoExtension.a
    • I'm copying this .to file on my PC.

    I am now finished with this abandoned mac of God (* shudder *)
    Back on my PC, I create a folder for my test project. For all the intentions a purposes, we will call this "D:\src\EchoExtension" then I create 2 folders, one called "lib" and one called "app". Lib, it's where I'm going to create the actionscript source for my extension.

    • In my lib folder, I create a new fla in flash cs5.5, called "EchoExtension.fla".
    • I create my lib folder, the following:
      • com\extensions\EchoExtension\EchoExtension.as
      • a folder named 'Build' in which I place my libEchoExtension.a file.
    • I have in my EchoExtension.as file, place the following code:

    package com.extensions.EchoExtension

    {

    import flash.events.EventDispatcher;

    import flash.events.IEventDispatcher;

    import flash.external.ExtensionContext;

    SerializableAttribute public class EchoExtension extends EventDispatcher

    {

    protected var _extensionContext:ExtensionContext;

    /**

    * Constructor.

    */

    public void EchoExtension()

    {

    Super();

    Initialize the extension.

    _extensionContext = ExtensionContext.createExtensionContext ("com.extensions.EchoExtension", "main");

    }

    public void echo(Prompt:String):String

    {

    Return _extensionContext.call ("echo") as String;

    }

    }

    }

    • In my main fla, on the first layer of the time line, I put just the following code to make sure that did get file included when I publish the swc.

    import com.extensions.EchoExtension.EchoExtension;

    var ext:EchoExtension = new EchoExtension();

    Stop();

    • I then opened upwards from my fla publication settings, disable the swf - which I don't need, and check the swc and ensure it generates in my generation folder.  «. "/ Build/EchoExtension.swc.
    • I also updated the player Air 3.0 (which I can do because I managed integrated AIR 3.0 along side my AIR 2.6 and can build both without any problem)
    • I then publish the swc. So far so good. No problems.
    • I then made a copy of the CFC and rename it to EchoExtension.swc.zip, how I extracted the library.swf file and place it in the folder of my generation.
    • I then create extension.xml in case of generation that contains the following code:

    " < extension xmlns =" http://ns.Adobe.com/air/extension/2.5 ">

    com.extensions.EchoExtension < id > < /ID >

    < versionNumber > 1 < / versionNumber >

    <>platforms

    < platform name 'iPhone-ARMS' = >

    < applicationDeployment >

    < nativeLibrary > libEchoExtension.a < / nativeLibrary >

    < initializer > ExtInitializer < / initializer >

    < finalizer > ExtFinalizer < / finalizer >

    < / applicationDeployment >

    < / platform >

    < / platforms >

    < / extension >

    • Now, at this point, I'm a little suspicious, because I build for the iPad2... the platform is iPhone... I thought that may be a problem and at some point I have tested the same build on the iPhone4 and had the same results. I also tested using the name of the platform of the iPad-ARM and got the same results... So I don't think that's the problem, but I'm not sure.
    • Now, to make things easier, I created a batch file called "buildane.bat" in my file generation. That's what I use to create my .ane file and it contains the following command line:

    D:\SDKs\AirSDK30\bin\adt-Paquet - target ane EchoExtension.ane extension.xml - CFC EchoExtension.swc - iPhone-ARM library.swf libEchoExtension.a platform

    • I then open a command prompt and run buildane.bat and Ottoman. My donkey is created. My generation file now has the following files in it:
        • buildane.bat
        • EchoExtension.ane
        • EchoExtension.swc
        • EchoExtension.swc.zip
        • extension. XML
        • libEchoExtension.a
        • Library.swf

    Now that I have my swc, donkey and it's time to create my sample application that will be used to test my new extension.

    • I go back to my D:\src\EchoExtension folder and go to the folder app ealier, I created.
    • I then create a new flash project called EchoExtensionTester.fla
    • I open the action script settings, paths to library and add the CFC I created in my D:\src\EchoExtension\lib\build file to my project.
    • On my stage, I create a field called text txtInput, a field of dynamic text named txtEcho, and a couple of buttons called btnClear, btnRuntime and btnEcho
    • I open the first layer of the timeline, and place the following code:

    imports of base.

    import flash.desktop.NativeApplication;

    import flash.events.MouseEvent;

    import flash.text.TextField;

    import the extension of our swc.

    import com.extensions.EchoExtension.EchoExtension;

    the value of our input text to the need the softkeyboard field

    txtInput.needsSoftKeyboard = true;

    Add event handlers to our buttons.

    btnEcho.addEventListener (MouseEvent.CLICK, btnEcho_Click);

    btnClear.addEventListener (MouseEvent.CLICK, btnClear_Click);

    btnRunTime.addEventListener (MouseEvent.CLICK, btnRunTime_Click);

    create our variable expansion.

    var ext:EchoExtension;

    Try

    {

    initialize our extension of echo.

    Ext = new EchoExtension();

    } catch (error) {}

    txtEcho.text = 'Error when trying to create new EchoExtension:\n\n' + e;

    }

    Stop();

    Delete the text echo field

    function btnClear_Click(e:MouseEvent):void

    {

    txtEcho.text = "";

    }

    just to test, put the latest version of the air runtime in our text field, so we can make sure we run air 3.0

    function btnRunTime_Click(e:MouseEvent):void

    {

    txtEcho.text += "\nRuntime version =" + NativeApplication.nativeApplication.runtimeVersion; ".

    }

    call the extension, passing all that is in the text input field and get back and place it in our text echo field

    function btnEcho_Click(e:MouseEvent):void

    {

    txtEcho.text += "\n";

    Try

    {

    txtEcho.text += ext.echo (txtInput.text);

    } catch (error) {}

    txtEcho.text += "\nError call ext.echo:"+ e;»

    }

    }

    • I save the project, Open Air for the parameters of the iOS, then perform the following settings: (Yes, I know... I'll have to use adt to perform the build, but I need to first create the swf file)
      • File: EchoExtensionTester.ipa
      • AppName: EchoExtensionTester
      • Version 1.0
      • Landscape
      • Full screen on
      • Auto orientation is disabled
      • GPU rendering
      • device: iPad and iPhone
      • RES: high
      • Deployment: I use my certificate and profile provisionging that I use for my main project (that works) and defined for the test of the device.
    • I close the window and save again... but before I publish, I opened newly created "EchoExtensionTester - app.xml" which is located in my app folder.
    • I add the extensions <>< extensionID > com.extensions.EchoExtension < / extensionID > < / extensions > to the XML in the file so now it looks like this:

    <? XML version = "1.0" encoding = "UTF-8" standalone = 'no '? >

    " < application xmlns =" http://ns.Adobe.com/air/application/3.0 ">

    <>Extensions

    < extensionID > com.extensions.EchoExtension < / extensionID >

    < / extensions >

    < id > EchoExtensionTester < /ID >

    < versionNumber > 1.0 < / versionNumber >

    < file_name > EchoExtensionTester < / name of the file >

    < description / >

    <!-to locate the description, use the following format for the description element. < description > < text XML: lang = "fr" > App English description goes here < / text > < text XML: lang = "fr" > French App description goes here < / text > < XML text: lang = "ja" > Japanese App description goes here < / text > < / description >->

    < name > EchoExtensionTester < / name >

    <!-to locate the name, use the following format for the name element. < name > < text XML: lang = "fr" > insert here the name App English < / text > < text XML: lang = "fr" > insert here the French App name < / text > < XML text: lang = "ja" > insert here the Japanese App name < / text > < / name >->

    < copyright / >

    < initialWindow >

    < content > EchoExtensionTester.swf < / content >

    standard < systemChrome > < / systemChrome >

    < clear > false < / transparent >

    < visible > true < / visible >

    true < fullscreen > < / full screen >

    landscape of < aspectRatio > < / aspectRatio >

    GPU < renderMode > < / renderMode >

    < maximizable > true < / maximizable >

    < minimizable > true < / minimizable >

    < resizable > true < / resizable >

    < autoOrients > false < / autoOrients >

    < / initialWindow >

    < icon / >

    < customUpdateUI > false < / customUpdateUI >

    < allowBrowserInvocation > false < / allowBrowserInvocation >

    < iPhone >

    < InfoAdditions >

    <! [CDATA [< key > UIDeviceFamily < / key > < table > < String > 1 < / string > < string > 2 < / string > < / array >]] >

    < / InfoAdditions >

    < requestedDisplayResolution > top < / requestedDisplayResolution >

    < / iPhone >

    < / application >

    • I save the changes to the xml file and return to Flash. I then publish.
    • The swf file is created as it should be, but then I get the error message:

    Error creating files.

    A native implementation extension 'com.extensions.EchoExtension' required by the application is not found for the target platform.

    • Now, while it is a pain in the rear, I again, this was going to happen because in my reading tutorials and samples, they have all said that you use adt to build the ipa... but that is fine... all I wanted anyway, was the swf, which I now have in my app folder.
    • I close flash because I no longer need and I create a new batch file: (Note: I have change the name of the cert, profile and password for this post)

    CLS

    "D:\SDKs\AirSDK30\bin\adt" - package - target the ipa-ad-hoc - stores pkcs12 - keystore "D:\src\mycert.p12" - storepass MYPASSWORD-putting into service-profile "D:\src\myprovfile.mobileprovision" "EchoExtensionTester.ipa" "EchoExtensionTester - app.xml" "EchoExtensionTester.swf" - extdir... / lib/Build

    Set dummy = p

    ECHO done

    • I then open a command window in my app folder and run build.bat.
    • I wait about 2 minutes...
    • ...
    • ...
    • YAY! My ipa file was created without error reported so far... Time to copy this bad boy to the iPad and see what happens.
    • I opened iTunes, drag "EchoExtensionTester.ipa" to the applications, then synchronize my device...
    • ...
    • YAY! iTunes installed ipa on the device... and there is a white icon bright and shiney for Echo Extension tester...
    • I open the app... and...
    • nothing.
    • I'm waiting for
    • still nothing.
    • I go to the bathroom.
    • I'll be back... still nothing... just a black screen.
    • I press the home button on the iPad, the app minimized, I restore it... nothing... black screen.

    management of human resources. Time to do some trial and error to see if I can figure out what the distribution.

    • As a test, I opened my fla and I comment out the following lines:
      • Ext = new EchoExtension();
      • txtEcho.text += ext.echo (txtInput.text);
    • I then rebuild the swf... get the same error (don't care)... I then rebuild the ipa using the batch file... and reinstall it on the device when it is made.
    • Exactly the same thing...
    • I opened the xml file... and remove the < extensionID > com.extensions.EchoExtension < / extensionID > line, save and re - run the batch file again... Wait for the ipa ends, then run it on the device.
    • I start the program on the iPad and it starts perfectly... with the exception of the commented line of code actually create and call the extension, everything works as it should. The runtime on the device reports as 3.0.0.4080
    • A test, I opened the .fla save and uncomment the 2 lines, I commented out above... keep the xml file extensionID, I re - publish the ipa... of course, this time, it actually creates the flash API, because the id of the extension is not in the xml file.
    • I put the file API with the extension in place on the ipad code... The fire and make the txtInput text and press the button of the echo. I get the following error:
      • Error calling ext.echo: TypeError: Error #1009
    • I suspect it's because I failed to include the extension in the descriptor... but when I build it with the extensionid in the xml file, I just get a black screen. I'm 99% sure that the context of the extension in the ext object is null (because that's what happens when I run Flash debug without extension lines in the xml)

    And here I am stuck.

    Can someone tell me what I am doing wrong or what I forgot to do?

    Thank you.

    Hi can check you if the CFC of the native extension is linked as external?

    Next image can help locate and change the link type of CFC.

    The issue that many people face here (i.e. extension works fast/interpreter mode and only when they are packed in standard mode) occurs only when the SWC of the NE is not linked externally.

    I hope this helps.

    Kind regards

    Mathyas blabla

    IOS of the AIR

  • TCP in a native extension

    I tried contacting a developer by the name of Wouter Verweirder about my work, based on his native extension, but have been unable to reach him.  His native UDPSocket extension can be found here:

    https://github.com/wouterverweirder/air-mobile-UDP-extension

    I hope someone here can help me about this survey:

    I have reasons to write a native extension like hers, but for TCP communication and not UDP.

    I am very familiar with the protocols UDP and TCP networking at the packet level, as well as at the level of the source code in several languages.  I replaced its UDP components with their counterparts TCP depending on the case, but I get no communication at all.

    To start from the square, I did firstly I could build its extension of the source code, then use DONKEY resulting with my Android application for UDP communication as he originally intended.

    Then, I simply added the following as a test at the end of its UDPSocketAdapter constructor (in red):

    public UDPSocketAdapter(UDPSocketContext context) { }

              this . framework = context;

              this . hasSentClose = fake;

              try {

    channel = DatagramChannel. Open ();

    channel .configureBlocking (real);

                   socket = channel . Socket();

    { } catch (SocketException e) { }

    { } catch (IOException e) { }

    }

    theReceiveQueue = new LinkedBlockingQueue < DatagramPacket > ();

    try {}

    Tsocket socket = new Socket ("192.168.2.23", 8137);

    OutputStream outStream is tsocket. getOutputStream ();

    Byte [] = data {'h', 'e', 'l', 'l', 'o', ' w ',' ', 'o', 'r', 'l' ' d ' "};

    outStream.write (data);

    outStream.flush ();

    outStream.close ();

    tsocket. Close();

    } catch (IOException e1) {}

    Newspaper. put ("i/o exception: \r\n" + Log stack2string (e1) + "\r\n");

    }

    }

    (Of course, I also imported the Socket and OutputStream classes.)  After I have reconstitute the DONKEY and then recompile and run my application, not only I do not see my test TCP traffic in my sniffer, but all of its features UDP that worked before, is now broken and I have zero UDP communication!

    The line of code in my catch block send anything to my file of log (via my logging class), so I don't know my test code generates an exception.  (And in fact, my test code works fine in another entirely native Android app.)

    I just have something fundamental missed?  I appreciate any suggestion that anyone could have.

    Thank you.

    Finally, I decided that the Socket object must be instantiated in a worker thread, and then successful TCP connections.

    For some reason if an attempt is made to instantiate the plug in the main thread, any communication of any kind to the native extension of breaks network.

    I have no idea why that would be a problem for TCP, but not UDP, as evidenced by the native extension of UDP work, on which I based my work, which instantiates a DatagramSocket in the main thread without problem.

    I suspect it has something to do with the behavior oriented TCP connection and negotiation tripartite server that happens immediately when a Socket object is created.  Because the absence of that UDP is the only functional difference between the two cases.

    Maybe someone with a deep understanding of native extensions AIR has more specific information.

  • Any good native extensions for iOS yet?

    Hello

    I wonder if there is any native extensions that can be used around again for the features of iOS?

    I've found these: http://www.adobe.com/devnet/air/native-extensions-for-air.html which seems to be especially tech-demos (battery, network info etc.). I thought at least in-app-purchases, support Game Center, IAD, alertbox etc. should have been released now?

    Since I have no knowledge in objective-c, I can't do it myself, but I'd be happy to pay for DONKEY - files that can be used in real projects.

    / Karl

    to the original question - I had extensions for iOS Game Center and AdMob Android (commercial) -.

    AdMob Android for Adobe AIR extension

    iOS Game Center Extension for AIR

    I would like to know what you think would be cool!

  • How to add a NATIVE EXTENSION (like iBattery) with a Flash Professional project

    Hello world

    I am trying to use the native extension of iBattery in a Flash Professional (with an AIR for iOS) project. More information here: http://custardbelly.com/blog/2011/09/21/air-native-extension-example-ibattery-for-ios/

    How can I use this native outreach in a .fla project? really thanks!

    First of all,

    Use these step to overlay AIR SDK 3.0 in Flash Pro: http://kb2.adobe.com/cps/908/cpsid_90810.html

    Next, you will need to write your ActionScript code to include your NativeExtensions: http://www.youtube.com/user/iBrent#p/u/7/Axg6E001a7I

    BUT you need to compile via command line: http://www.youtube.com/user/iBrent#p/u/6/MRcoJ6ClLqo

  • Debugging of the native part of an extension of Webworks

    Dear all,

    is it possible to debug webworks extensions in order to discover the errors?

    We often (and randomically) get the common load error 'cannot find error need. "

    / usr/lib/etc. Library not found", but we can't manage how to discover more information about this...

    Other than the error itself, I unfortunately discovered that debbuging is really a pain in this scenario...

    Any help or advice of BB guys is really appreciated!

    Thank you very much

    -marco

    Hi Marco, native debugging Extensions is currently very difficult, due to their hybrid nature.

    I usually create a native C++ application first, work and then make a native extension. Have you tried?

    See you soon,.

    A

  • Muse does not open. Adobe AIR the required native extension is missing for this application...

    Muse does not open. "Adobe AIR the required native extension is missing for this application...". »

    Any ideas?

    Hi Curt,.

    Please try after the sequence of steps to make it work.

    1. uninstall any version of AIR on your computer using the Adobe AIR * remove Adobe AIR

    2 uninstall Muse to your machine using cleaning tool CC use the Adobe Creative Cloud cleaning tool to solve installation problems

    3 uninstall the applications Manager Adobe as well use the Adobe Creative Cloud cleaning tool to solve installation problems

    4. install AIR runtime 19.0 https://helpx.adobe.com/air/kb/archived-air-sdk-version.html

    5. install the applications Manager Adobe Download Adobe Creative Cloud apps | Adobe Creative Cloud free trial

    5. once the MAO is installed then install muse and launch it.

    Kind regards

    Vivek

  • With the help of native Extensions with Flex SDK 4.6.0

    Hello

    I try to get the example of Mac OS x Bonjour everybody works with the Flex SDK 4.6.0 kit. I've changed in all the places where there 4.5.1 / etc, got the XCode project to compile properly, but I got stumped on a problem at step 3. The result I get at the end of step 3 is:

    + "/ Applications/Adobe Flash Builder 4.6/sdks/4.6.0/bin/adt ' - package - PKCS12 - keystore src/assets/test.pfx - storepass stores no - target ane airrt.ane src/extension.xml CFC - src/assets/com.airrt.extensions.swc-plateforme MacOS - x 86 - C src/assets/platform/mac.

    Swc file is invalid. The NameSpace extension requires version SWF 13 or lower.

    / Users/owenbennett/Documents/projects/Flash/Native Extensions OSX/NativeExtensions

    Any ideas?


    Thank you

    Owen

    Too bad

    Figured it out. Here are the steps that I followed, using the kit 4.6.0 Flex SDK and XCode 4.1:

    1. 00 - create cert-> go.sh and 01 - create CFCS-> go.sh and 03 - create ane-> go.sh 04 - create dmg-> go.sh and 05 - running on adl-> go.sh and goall.sh

    change

    Flex_sdk = / Applications/Adobe\ Flash\ Builder\ 4.5/sdks/4.5.1-air3.0

    TO

    Flex_sdk = / Applications/Adobe\ Flash\ Builder\ 4.6/sdks/4.6.0

    2. 02 - create the extension of the platform-> mac-> TestNativeExtension-> TestNativeExtension.xcodeproj

    Open the project in XCode, select the root of the project, and then TARGETS-> TestNativeExtension-> build settings

    change Search-> Search framework paths paths

    Debug: "$(SYSTEM_APPS_DIR) / Adobe Flash Builder 4.5/sdks/4.5.1-air3.0/runtimes/air/mac.

    Release date: "$(SYSTEM_APPS_DIR) / Adobe Flash Builder 4.5/sdks/4.5.0-air3.0/runtimes/air/mac.

    "$(SYSTEM_APPS_DIR) / Adobe Flash Builder 4.5/sdks/4.5.1-air3.0/runtimes/air/mac.

    TO

    Debug: "$(SYSTEM_APPS_DIR) / Adobe Flash Builder 4.6/sdks/4.6.0/runtimes/air/mac.

    Release date: "$(SYSTEM_APPS_DIR) / Adobe Flash Builder 4.6/sdks/4.6.0/runtimes/air/mac.

    If you want to check it is OK to build, don't forget to change the target (at the top of the run key) for TestNativeExtension > My 32-bit Mac

    3 03 - create ane-> src-> extension.xml

    change

    http://ns.Adobe.com/air/extension/2.5">

    TO

    http://ns.Adobe.com/air/extension/3.1">

    4 04 - create dmg-> src-> NativeExtensionTest - app.xml and 04 - create dmg-> src-> asset-> NativeExtensionTest - app.xml and 05 - running on adl-> src-> NativeExtensionTest - App.xml

    change

    http://ns.Adobe.com/air/application/3.0">

    TO

    http://ns.Adobe.com/air/application/3.1">

    and who should build for you!

    Owen

  • problem with the SWF version when you use a native extension

    Hello

    I am trying to create an android app where I use a donkey BT (Extension Native Android).  After packaging wih ADT, I get the following message:

    Included native extension "com.myflashlab.air.extensions.bluetooth" includes a

    SWF 25 version that is greater than the root SWF version of this

    application: 17


    Anyone who knows how to change the swf to a swf file version?

    Another article, the CS6-oriented:

    https://chrisgriffith.WordPress.com/2012/07/20/updating-Flash-Professional-CS6-to-support-11-4 /.

    The procedure should work for later versions, simply to find the files to Flash Player 14 or later.

  • How to include the shared library of BlackBerry in a native extension WebWorks

    I developed a native extension WebWorks that works very well on Simulator and devices when included in a webworks app.

    I also have a sample of waterfalls project with the same code base that I use to test the WebWorks extension code.

    Since a large part of the code is reusable, I decided to create a shared library of BlackBerry, so I can reuse in other projects. When I include the NEW shared library in the waterfalls and then everything works well, as before.

    When I include it in the extension WebWorks it draws very well. The .so file size was much smaller and that worried me (I suspected that the shared library was not included in there). But since its construction very well I went trying to run my application webworks. When it came to hitting the extension I got a ' need of error. Cannot find the library of blah/blah/...so'.

    I had this before and found out that it was because the dependent QT libraries have not been correctly referenced. It so that the shared library is not properly referenced/copied /-thing... This event is supported? For example, by using a custom in a WebWorks extension shared library?

    It worked

    Version 2 is almost right

    In the library paths pane Add...

    ${workspace_loc: / / extlibs/device$ {ProjName}}

    for peripheral and do Simulator

    ${workspace_loc: / / extlibs/Simulator of ${ProjName}}

    Always with libname in libraries

    I just linked to unrar successfully like this library

    Whew - they do this hard work of stuff

  • What are your 3 favorite AIR Native Extensions albums? (any OS)

    What are your 3 favorite AIR Native Extensions albums?

    OS is irrelevant.


    So Adobe AIR should official marked as a dead language?

    R.I.P. Adobe AIR

    2011

Maybe you are looking for

  • IPod 5th generation locked icloud

    I bought an ipod 5th generation ipod is locked icloud and im trying to get their hands on thenoriginal owner as this thread said to do and it is almost impossible for me to do so get help? I followed the instructions on the screen to activate help an

  • degree angle

    Please, can I calculate the sine and cosine of angle in degrees (not in redian), or there is no converter from radian to degree

  • Monitor turns off

    My screen turns off when you play a Microsoft game.  It will sweep to black for a second or two and return to the screen. She does several times. Any suggestions?

  • "You don't have permission to access to" a computer - Windows 7

    Now, I have 3 laptops in my house.  We're on Windows 7 (let's call it W7) and two are on Vista (we'll call V1 and V2).  On my Windows 7, I can connect (via the network - all PC use the same Linksys wireless router) v1 without problem and see shared f

  • HP C410 is taken offline

    Recently, I installed my C410 on my home network to be shared between the 3 computers. Everything works fine except the C410 decides to enter what seems to be the mode 'sleep' and appears then as 'offline' on all computers on network tries to print t