PlayBook AIR Application SIGSEGVs when door to BB10

I have the case of an application that was originally for the desktop (Flash Player) that I could port successfully for the PlayBook.

The game was initially done with Flash Professional, and I spent in the version of AIR (by following the instructions here http://www.flashdeveloper.co/post/20583114199/air32-in-flash-cs-55), and linked to the QNX AIR libraries (by following the instructions here http://renaun.com/blog/2010/11/building-blackberry-playbook-apps-with-flash-professional-cs5/)

I changed the TouchEvents controls, added using a SharedObject to store partitions, added to the use of Facebook GraphAPI and used the text of PB of entry for a name. Apart from this and some traces, there are links to AIR QNX libraries.

This port, as I said, works perfectly in the PlayBook, with no significant problems.

However, I brought the game to the BB10, adding some listeners to prevent rotation of the application.

Now, in the book of game the game runs perfectly. But in the BB10 the game crashing when it start a new game. This blocking occurs only when I start the game without a debugger, or when I run the packaged exported version.

When I ssh the journal inside the Z10, I get this error:

Process 152121536 (adl) ended the SIGSEGV = 2 fltno = 11 7b04e058 = ip code (/ base/air/runtimeSDK/Adobe AIR/Versions/1.0/libCore.so@+0x4ba0) bdslot = 1

Sometimes the libCore.so file is accompanied by a bit of libCore.so@FLQNXLogWrite.

The thing is I tried many things to avoid this. I deleted all the tracing statements to see if it was that, or tried to remove the creation and manipulation of the SharedObject object, does not. Still, the game crashes when starting a new game.

I'm running out of ideas, and I would like to know if you have confroted a similar situation. I had a lot of AS3 in time, mistakes that I've developed with Flash, but surely I've never ever had a Segmentation fault :-( I would appreciate your help.

Those who are not the correct libraries for BB10.  You can get the right to:

http://developer.BlackBerry.com/air/download/

And download the "BlackBerry 10 SDK for Adobe AIR".

Tags: BlackBerry Developers

Similar Questions

  • convert adobe flex web app for playbook air application?

    Hey, I am very new to this sort of thing and was using a Visual tool to help me create applications web flex. My question is can I convert these to operate as air apps on the playbook?

    Given that I don't really know action script.

    Also, can you recommend any good books, tutorials, or interactive Web sites that would help me to learn action script? Thank you!

    Some MX controls (OK, a lot) are not supported under the BB SDK.  For example, mx. Alert does not work, you must use the AlertDialog QNX class.  See docs QNX to:

    http://www.BlackBerry.com/developers/docs/airapi/1.0.0/index.html

    In addition, FlashBuilder is the IDE that is supprted, Flex Builder (3.x) is not supprted.  FlashBuilder 4.x is what you need, but which is not supported under Linux.  You should be able to download the 0.9.1 BB SDK for Linux and the use of the CLI version for a project of will.

    If you are a Flex application, you need to change the root node of a node (Application or WindowedApplication) AIR (if not already done).  If so, act like and more taking orders from MX which are not supported, I keep your business logic and simply change the front-end server with native controls of QNX/BB.

    But first, I would try just get a "Hello World" application to compile and run as an AIR application and then send it on the Simulator to get their feet wet.  then see what it would take to get your application scope.

    Hope that helps.

  • Is there no way to run an AIR application audio to audio output devices different from?

    I need to do a couple of our AIR applications select some audio devices to send their audio output, and last year, someone mentioned possibly using native extensions to do this.  I had to start working on other things for a while, but I'll be back to that (for the moment), and I basically learned how to create native extensions.

    But so far, they do not seem to provide me with any privileged access to what's happening under the hood of an AIR application.  When you stream live in via RTMP or RTMFP, details of the audio you are hidden.  It doesn't seem to be any place where you can actually access the audio bytes are sent on the network.  You can specify a certain object SoundTransform for the NetStream to use, but this class is final and one vanilla Flash build, so even though she may have a way to access the audio bytes, they are not accessible to all.

    It really seems that, when a NetStream starts streaming live audio, there is no way under the Sun for access to the bytes of audio and direct them to a certain audio output device, with or without extensions.  Is it so?  It would be unfortunate that Adobe does not allow it, even through the native extensions.  Thank you.

    Couple quick thoughts...

    The limits are important. There is a lot of work to maintain a clear separation between a decision to users and developers. For example, you cannot change an audio by default to users out because that clearly violates a decision to users. That said, this is a mess of people debating the issue and in fact finally a COM API without papers you can find allows you to actually do in Vista/Win7 (but not 8), but do not expect that it is a "right thing to do":

    lie lly-setting-the-default-playback-device-and-recording-device?forum=windowspro-audiodevelop http://social.Microsoft.com/forums/en-US/9ebd7ad6-A460-4A28-9de9-2af63fd4a13e/programatica

    You can get a drink before reading this.

    Incidentally, RTMP is secure, which explains why you can't access the bytes. The entire purpose of this is to ensure that their media cannot easily be copied or stolen media developers. Adobe don't document their method of securing the flow, but they do not publish the RTMP protocol specification. It is quite possible for you to create your own server method and encryption protocol RTMP while providing an RTMP stream to the custom client that you yourself the code which peut read flow. Here are the specs:

    http://www.Adobe.com/devnet/RTMP.html

    So I would say that it would be unfortunate if Adobe did give, you access the bytes. You might as well hand users an mp3 of a song because they steal left and right media.

    That does mean that you can not use a multitude of ways to get data via the default output device. Many applications (fraps/etc) captures audio streams video and mixed. But Adobe won't give you the keys of the Kingdom and allow you to decrypt protected multimedia Protocol.

  • Failed to launch! ApolloLaunchDelegate.fileDoesNotExist! in Flash Builder when debugging AIR applications

    Hello world

    I use flash/flex builder for years, but have never tried to create an AIR application before.  I tried to create a 'Hello' world app before wearing some of my stuff by following the instructions here:

    http://help.Adobe.com/en_US/air/1.5/devappsflex/WS5b3ccc516d4fbf351e63e3d118676a28bd-8000. HTML

    "but when I try to debug the code, I get the a dialog box"Unable to launch"with the useless comment! ApolloLaunchDelegate.fileDoesNotExist!'.

    I'm running win7x64, SDK 4.1

    I tried all kinds of different files in the AIR, including the value by default when you create an empty project and the conversion of copies of some of my existing flex projects on the desktop, but they all give the same message.

    Google does not help.  Any ideas would be welcome.

    Kenneth

    EDIT: just tried the same thing on my same version of flash builder on my laptop and it works... The laptop working Vistax64.  The only other different is that when I chose SDK 4.1 in the new project dialog box, he said, AIR 2.0, while on this machine, say, he needed air 1.5

    Post edited by: kennethGilpin

    Hello

    You can check whether a SWF file has been generated in your bin-debug folder? Looking at the code FB, this happens when the SWF file does not exist. (Although I don't know why the error message is incorrect for you. Did pass you to FB 4 to 4.0.1 or are you on an own 4.0.1 install?)

    Try to check your view of 'Problems' to see if there are any compiler errors.

    Thank you

    Rémy

  • Changed to aaa when exporting xml doc in AIR application XML namespaces

    When I export my xml in a Format of TimedText leave an AIR application, that I'm working on xml namespaces change to aaa instead of xml... anyone knows how to fix this or prevents the application to change arbitrarily.

    Another question, for some reason any code I have, as to the format now, won't let me not use the appendChild method to add my cuepoints to the FTT xml document.

    Any advice would be greatly appreciated.  My code is below:

    Create final XML

    private void submit (): void

    {

    If (boolVideoSelected is true)

    {

    xmlData =

    " < tt XML: lang ="fr"xmlns =" http://www.w3.org/2006/04/ttaf1 "xmlns:tts =" " http://www.w3.org/2006/04/ttaf1#styling ">

    < head >

    < style >

    < style id = '1' tts:textAlign = 'center' tts:backgroundColor = 'gray' tts:color = 'white' tts:fontSize = '14' 'product' = tts:fontFamily / >

    < / style >

    < / head >

    < body >

    < div XML: lang = "fr" style = "1" >

    < / div >

    < / body >

    < /tt >;

    var cue: XML;

    var strTempDuration:String;

    var strTempTime:String;

    var strTempContent:String;

    vidVideo.pause (); Break video

    btnPlay.label = ' > ';

    for (var i: int = 0; i < stateArray.length; i ++) //Convert stateArray in XML

    {

    strTempDuration = stateArray [i].duration.toString ();

    strTempTime = stateArray [i].time.toString ();

    strTempContent = stateArray [i].content.toString ();

    cue = < p starts hard = {strTempTime} = {strTempDuration} > //Generate {strTempContent} < /p > cue

    trace (XMLDATA);

    xmlData.body.div.appendChild (cue); Insert markers in XML in order

    }

    xmlFile = new file;

    xmlFile.browseForSave ("save the XML file"); Window open for save location

    Event listeners


    xmlFile.addEventListener (Event.SELECT, xmlFileSelectHandler);
    xmlFile.addEventListener (IOErrorEvent.IO_ERROR, ioHandler);
    xmlFile.addEventListener (SecurityErrorEvent.SECURITY_ERROR, securityHandler);
    }
    }

    private void xmlFileSelectHandler(e:Event):void {}
    var newFile:File = e.target as file;

    If (! newFile.extension | newFile.extension! = "xml") //Check .xml was included in the user's input
    {
    newFile.nativePath += ".xml"; Add .xml file name, if it was not included
    }

    var stream: FileStream = new FileStream();
    Stream.Open (newFile, FileMode.WRITE);
    stream.writeUTFBytes (xmlData.toString ()); Write the XML string in XML file
    Stream.Close ();
    }

    xmlData = http://www.w3.org/2006/04/ttaf1.

    xmlns: XML = ""http://www.w3.org/XML/1998/namespace"

    xmlns:TTS ="http://www.w3.org/2006/04/ttaf1#styling" >. "

  • A larger fixed when size of centering air application

    I have a fixed size once enlarged air application, I don't want to be centered on the screen of the user. Currently when it is enlarged, it will at the top left of the screen. Is it possible that I can do this focus?

    Hello

    The question is because you use fixed height, width, and absolute positioning. I introduced a canvas as an external container

    
    http://www.adobe.com/2006/mxml" layout="absolute" height="700" width="768"
        paddingLeft="5" paddingRight="5" paddingTop="5" paddingBottom="5"
         alpha="1.0" borderColor="#FFFFFF"
         xmlns:components="com.components.*"
        applicationComplete="init()" xmlns:views="views.*" verticalScrollPolicy="off" horizontalScrollPolicy="off" showStatusBar="false">
    
    
        
        
            
            
            
            
            
        
    
        
    
           
    
    
    
  • What devices are supported for an Adobe Air application?

    What devices are supported for an Adobe Air application?

    A BlackBerry app created with Adobe Air (Air 2.5) work on a BlackBerry 9900 for example?

    Thank you.

    Only phones PlayBook and BB10

  • Application crashes when I join class presentation

    So I tried to figure out how to get the filepath link to invoke my camera.  I'm at the point where I tried everything nothing helped.  My last attempt was tie the class is exposed from my source code in my QML.

    in main.cpp:

    using ::bb::cascades::Application;
    // this allows us to write "Application"
    // instead of "bb::cascades::Application"
    
    void myMessageOutput(QtMsgType type, const char* msg) {
        Q_UNUSED(type);
       fprintf(stdout, "%s\n", msg);
       fflush(stdout);
    }
    // main() is the entry point of the application. It will be called by the
    // operating system when you start the application. You should never call this
    // yourself.
    Q_DECL_EXPORT int main(int argc, char **argv)
    {
    
        qmlRegisterType("bb.platform", 1, 0, "RouteMapInvoker");
            bb::data::DataSource::registerQmlTypes();
            qmlRegisterType("bb.platform", 1, 0, "LocationMapInvoker");
            bb::data::DataSource::registerQmlTypes();
        // "Application" is the BB cascades class that handles interaction the
        // with BB10 operating system.
        Application app(argc, argv);
    
    #ifndef QT_NO_DEBUG
       qInstallMsgHandler(myMessageOutput);
       #endif
    
        // Register this type so qml can refer to enums and other symbols
        // declared in the App class.
        qmlRegisterType("Custom.lib", 1, 0, "ApplicationUI");
    
        // Create an instance of App on the stack. App's
        // constructor registers itself with Application object using setScene().
        // See app.cpp
        app.setCover(new ActiveFrame());
        ApplicationUI mainApp;
    
        // Start the application event loop (run-loop).
        return Application::exec();
    
        // When the loop is exited the Application deletes the scene which deletes
        // all its children (per Qt rules for children)
    }
    

    ApplicationUI.hpp:

    class ApplicationUI : public QObject
    {
        // Classes that inherit from QObject must have the Q_OBJECT macro so
        // the meta-object compiler (MOC) can add supporting code to the application.
        Q_OBJECT
    
        Q_PROPERTY(bb::cascades::DataModel* dataModel READ dataModel CONSTANT)
    
    public:
    
        // Describes the possible storage locations
        enum StorageLocations
        {
            StoreInQSettings, ///< objects are stored in QSettings
            StoreInFile       ///< objects are stored in custom files
        };
    
        // This allows the enum to be referred to in the qml file.
        // Note: the class also has to be registered using qmlRegisterType().
        // See the main.cpp file.
        Q_ENUMS(StorageLocations)
    
        // Creates a new App object
        ApplicationUI(QObject *parent = 0);
    
        // destroys the App object
        ~ApplicationUI();
    
        Q_INVOKABLE
            void inviteUserToDownloadViaBBM();
        Q_INVOKABLE
            void updatePersonalMessage(const QString &message);
    
            // Creates a new location object and saves it.
        Q_INVOKABLE bool addObject(const QString &name, const QString &description, const QString &datefield, const QString &lat, const QString &lon, const QString &categoryfield, const QString &mapurl, const QString &itempic);
    
        // Read all the objects from the selected storage location and
        // put them in the data model
        Q_INVOKABLE void refreshObjects();
    
        // Remove all the objects from the selected storage location.
        Q_INVOKABLE void clearObjects();
    
        // Change the first and last name of the location with the
        // provided id. Update the data model and storage.
        Q_INVOKABLE bool updateObject(const QString &id, const QString &name, const QString &description, const QString &datefield, const QString &lat, const QString &lon, const QString &categoryfield, const QString &mapurl, const QString &itempic);
    
        // Delete the location with the given id from the selected storage location.
        Q_INVOKABLE bool deleteObject(const QString &id);
    
        // Change the location we're using for the data, and
        // refresh the list.
        Q_INVOKABLE void setStorageLocation(StorageLocations strLocation);
    
            Q_INVOKABLE void addPinAtCurrentMapCenter();
            Q_INVOKABLE void clearPins();
            Q_INVOKABLE void updateDeviceLocation(double lat, double lon);
            Q_INVOKABLE QString getValueFor(const QString &objectName, const QString &defaultValue);
            Q_INVOKABLE void saveValueFor(const QString &objectName, const QString &inputValue);
            Q_INVOKABLE void InvokeCamera();
            Q_INVOKABLE void InvokeSettings();
            Q_INVOKABLE void InvokeImageViewer(const QString &urlPic);
    
            public slots:
            void childCardDone(const bb::system::CardDoneMessage &message);
    
            signals:
            void cameraCaptureCompleted(const QString &imageLink);
    //        void filterChanged();
    
    ........
    

    in my ApplicationUI.cpp

    ApplicationUI::ApplicationUI(QObject *parent)
        : QObject(parent)
        , m_lastCustomerID(0)
        , m_storageLocation(StoreInQSettings)
        , m_storage(new SettingsStorage)
    
    {
    
        // prepare the localization
            m_pTranslator = new QTranslator(this);
            m_pLocaleHandler = new LocaleHandler(this);
            invokeManager = new bb::system::InvokeManager();
            invokeManager->setParent(this);
    
            if(!QObject::connect(m_pLocaleHandler,
                SIGNAL(systemLanguageChanged()),
                this,
                SLOT(onSystemLanguageChanged()))) {
                // This is an abnormal situation! Something went wrong!
                // Add own code to recover here
                qWarning() << "Recovering from a failed connect()";
            }
    
            connect(invokeManager,
            SIGNAL(childCardDone(const bb::system::CardDoneMessage&)), this,
            SLOT(childCardDone(const bb::system::CardDoneMessage&)));
    
            // initial load
            onSystemLanguageChanged();
    
        // Initialize the data model before the UI is loaded
        // and built so its ready to be used.
        initDataModel();
    
    //    qmlRegisterType("uri",1,0,"App");
    
        QmlDocument *qml = QmlDocument::create("asset:///main.qml").parent(this);
        qml->setContextProperty("_app", this);
    
        AbstractPane *root = qml->createRootObject();
    
    .....
    
    void ApplicationUI::InvokeCamera()
    {
        bb::system::InvokeManager manager;
        bb::system::InvokeRequest request;
        request.setTarget("sys.camera.card");
        request.setAction("bb.action.CAPTURE ");
        request.setMimeType("image/jpeg");
        InvokeTargetReply *targetReply = manager.invoke(request);
    
    }
    
    void ApplicationUI::childCardDone(const bb::system::CardDoneMessage &message)
    {
        QString imageLink;
        if (message.reason() == "done") {
    
            imageLink = "file://" + message.data();
        }
        qDebug() << message.reason() << "\n";
        qDebug() << message.dataType() << "\n";
        qDebug() << "file://" + message.data() << "\n";
    
        emit cameraCaptureCompleted(imageLink);
    }
    

    in my QML:

    import bb.cascades 1.0
    import Custom.lib 1.0
    
    Sheet{
    
    Page{
    
    Container{
    
    Label{id: itemPic}
    
    Button{
    
    onClicked: {
    _app.InvokeCamera()
    }
    
    }
    
    }
    
    attachedObjects: [
    
    ApplicationUI {
    onCamerCapturedCompleted: {
    
    itemPic.setText(imageLink)
    
    }}
    ]
    }
    }
    

    As soon as I attach the class the application does not start and the accident, if I change it it is fine.

    Hello

    Instance of ApplicationUI is already exported to QML as _app. One possible approach connects the signal to a JS function:

    Sheet
    {
      onCreationCompleted: {
        _app.cameraCaptureCompleted.connect(captureCompleted)
      }
    
      function captureCompleted(imageLink) {
        console.log("imageLink: " + imageLink)
      }
      ...
    
    }
    

    Element using Qt Quick "Connection" is another option.

    This code should be deleted (it creates a second instance of ApplicationUI, which probably was not provided):

    qmlRegisterType("Custom.lib", 1, 0, "ApplicationUI");
    
    ...
    
    attachedObjects: [
    ApplicationUI {
    onCamerCapturedCompleted: {
    itemPic.setText(imageLink)
    }
    
  • Flash Builder 4 doesn't have the 'BlackBerry Tablet AIR Application".

    I'm trying to get the HelloWorld application to work, but I can't find the "BlackBerry Tablet AIR Application" option. It should appear in the debug configuration, but it's not.

    I already have the Simulator works and correctly installed the Playbook SDK (link to version 2.5 SDK and Flash Builder). I have no error in compilation (QNX namespaces are used), I think that the installation has been correctly executed.

    Any ideas?

    You need to update to 4.0.1 FB. See release notes.

  • Connection of an iOS to the debugger in Adobe air application animate

    Hello

    I need to connect my iOS to Adobe AIR application to a debugger, a debugger will work. When I publish my Animate app crashes before it can connect, leaving behind an app still works on my phone. But there is no obvious way to connect to a console at the breast of animate it using "debug" or "start the remote debugging session. With the Simulator, it will connect as long I give IP address appropriate, it will connect. I don't have that option in my app on iOS. My iPhone or iPad will connect. How can I get this done?

    Apparently, the debugger to connect if you do not set the install on the flag of the device. But I found that animate them for Windows doesn't crash as it does on Mac OS. So the question is now moot.

  • Why not throw my Adobe AIR applications?

    Hello

    I am on Mac OS 10.11.1 and I managed to install the latest version of AIR. However, none of my applications that require AIR will launch. When I double-click on the icon of the application to launch, a space appears in the dock as if the application icon is about to appear, but he never does. That's all. I have uninstalled, reinstalled, etc., but have not been able to get this fixed a problem.

    Any suggestions are greatly appreciated.

    Thank you

    I was finally able to solve the problem that was caused by file permissions is stripped. It seems that during the launch of an AIR application, it tried to rename a file that I don't have write access to the. I gave myself the opportunity to write on this file and now it works.

  • Help! Run any AIR Applications without Adobe AIR.

    Hello, I wanted to ask that is it possible to run AIR applications without having Adobe AIR on your computer. It is really annoying when you have to give your application to use someone, and then the person needs Adobe Air to run it. Any suggestions?

    Where to start...

    AIR is a bit like Java, in the sense that it requires a runtime must be installed. This engine has all the "stuff" that allows the application to run. Similarly, applications like 3DMax or Word require the operating system to be present for them to run. These programs are written using the API calls that are in the target operating system. Similarly, AIR and Java apps are written using the API calls that are present in their execution. To bring a full turn, the AIR is an application written in C, that uses the API for the target operating system. Thus, when you perform certain functions within the AIR, he knows how to execute the necessary functions of the operating system (if necessary). AIR also provides a large number of higher level and management features that make your life as a programmer much easier.

    Look at iOS or Android, we have the occurrence of the thing. Some developers write applications using Objective-C (iOS) or Java (Android) which are using the APIs specific to these operating systems. It's the same as writing your application in C like 3DMax.

  • Visit a website in Adobe Air Application behind the scenes...

    Hi all

    I need to find a way in Actionscript 3 for an Adobe Air application to visit a url of a website (e.g. example.com) in the background without Adobe Air by opening a web browser.

    Once the website is loaded in the background, I would get all the URL link that can see the Adobe Air application. For example, maybe when you visit "example.com" it redirects to "google.com", so I want my application to send me any URL it sees after it loads the page.

    Is this possible, and is there an example of code anywhere?

    Thank you guys!

    I think that you can get the information you want using URLLoader with a listener for HTTP_RESPONSE_STATUS and check the responseHeaders and responseURL properties:

    HTTPStatusEvent - Adobe ActionScript® 3 (AS3) QAnywhere

    -Aaron

    http://abeall.com

  • cannot package animation swf inside the AIR application with API-ad-hoc of the target

    I have included a small animation today in my AIR application using a clip from movie to swf as below

    private var myLoader:Loader = new Loader();  animation connection

    private var url: URLRequest = new URLRequest("..) /.. /.. (' / data / ConnectingAnim.swf ');

    ... code to add the loader and position

    It works fine when I deploy on my device via USB, but when I try to package for ad-hoc distribution, the ipa resulting isn't fair. The screen with the animation is broken.

    I'm guessing that the packaging for the app store is probably broken too.

    Am I missing something?

    Thank you!

    Post edited by: mu.a

    You must use a loader context, unless you use the interpreter mode. Read this article:

    http://help.Adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9 b90204 - 7de0.html

    You want the context.applicationDomain = ApplicationDomain.currentDomain;  variation.

  • How to identify if the AIR application builds in IOS

    How to identify if the AIR application background application ios air.

    Have we not all events to notify when done app background?

    These are the headphones to tell when the app disables and active:

    stage.addEventListener (Event.ACTIVATE, fl_Activate);

    stage.addEventListener (Event.DEACTIVATE, fl_Deactivate);

Maybe you are looking for