Porting existing Android native app to Adobe AIR

I indent to port a existing Android native app to Adobe AIR for android. Reasons: To use my existing AS3 skills, "cost" for native is too high and soon port it to iOS.
Difficulties I face here:
Existing app package, say "com.mygame.myapp" has to be retained. By using FB with AIR SDK, we get a "air." prefix to the package name. It becomes "air.com.mygame.myapp".
Will this solution still solve the problem in AIR SDK removing "air." prefix from package name has any working solution!?.
The help link http://helpx.adobe.com/air/kb/opt-out-air-application-analytics.html is dead now. iOS specific is found here Opt-out | Adobe AIR app analytics | iOS
Please suggest me a Mac suitable solution.
In Android, using a ".keystore" file, we need to export as the ".APK" file. In AIR, if we publish using a new ".p12" signature file would it be compatible with Google Play, and it rules.
App's existing users should find difficulty in upgrading the app.
Another unanswered thread Possible to remove "air." appended on package and target a .keystore rather than .p12?
Thanks a lot.

I was able to figure it out with the help of Jeff Ward Ooh, I just discovered how to easily remove the 'air.' prefix when packaging…
Tested and works fine with AIR SDK 15, Mac OSX 10.10 Yosemite. actionscript 3 - Android App ID prefix problem - Stack Overflow
java -jar /FULL_PATH_TO_AIR_SDK/lib/adt.jar -package -target apk-captive-runtime -storetype jks -keystore <DEVELOPER>.keystore -storepass <PASSWORD> Main.apk Main-app.xml Main.swf -extdir /PATH_TO_ANE_DIRECTORY

Similar Messages

  • IOS and Android Native Scroll in Adobe AIR

    I think it would be a great idea to implement the smooth scroll present in native iOS and Android applications for use in Adobe AIR projects.
    Currently, the only way to obtain smooth scrolling lists with images is using StageWebView to show the image list in HTML format, and then awkwardly implement some JavaScript / AS3 communication functionality so the list in the StageWebView is interactive and can communicate with the main program. This is excessively complicated and very error prone (I've found some inexplicable JavaScript errors that only happen in the iPad, not in Android, and not in the PC!).
    It would be way better to be able to skip all the StageWebView process altogether and being able to use a simple AS3 API to put any sprite/movieclip into a scrollable canvas which can be moved using the iOS native scroll.
    Using Flash animation to simulate the scroll in a list with images is too slow in the iPad and gives a bad user experience. iPad users expect the native iPad scroll, not some poor jerky simulation. A native scroll is the only way to go.
    And even though I talk about the iPad, this should be applicable to the native Android scroll, too.
    Scrolling is a VERY BASIC action in a tablet, so this should be implemented as soon as possible.
    Actually, I'm amazed we're already at AIR 3.0 beta, and still after all this time nobody thought of this. All sorts of fancy stuff is being added to AIR (hardware accelerated video, webcam and microphone access, etc...) but still something as basic and important as a smooth scroll, which every tablet user expects, is still not possible in Adobe AIR. We either have to implement some slow Flash animated scroll, or use the extremely complicated StageWebView with JavaScript/AS3 communication approach (I'm using a third party library called StageWebViewBridge for the JS/AS3 interoperations, which is great, but still, it's a far from ideal solution, since it's pretty fiddly and the JavaScript code doesn't always work properly in iOS).

    Hi again jackson@mja.
    I've given your scroll component a try just for some static texts, and I've found quite a few important bugs:
    1. If the referenced sprite/movieclip is shorter than the scrolling area, it starts bouncing infinitely in a quite funny way,
        which renders the component unusable. Sometimes it even happens when the content is not shorter.
    2. If your component is used inside another sprite/movieclip which is added dynamically from code ("addChild(mySprite);"),
        it doesn't work and stops with an error, because the EventListener for mouseDownHandler is being added to this.stage
        in the constructor, but a dynamic movieclip doesn't have access to the stage while in the constructor step (unless it is
        already in the stage added in the Flash IDE, such as in your FLA example). To fix this, I've added the following code
        to the ScrollArea() constructor:
    this.addEventListener(Event.ADDED_TO_STAGE, init);
    this.addEventListener(Event.REMOVED_FROM_STAGE, close);
        And then I've added the following listener functions:
    private function init(event:Event):void {
    this.removeEventListener(Event.ADDED_TO_STAGE, init);
    this.stage.addEventListener(MouseEvent.MOUSE_DOWN, this.mouseDownHandler);
    private function close(event:Event):void {
    this.stage.removeEventListener(MouseEvent.MOUSE_DOWN, this.mouseDownHandler);
    3. Also, the scrollbar is only correctly rendered if the scroll area is located at the up and left corner of the stage. To put text somewhere else, the component must be put inside a movieclip.
    4. This is not really important, but I've found the following variables are never user and so I've removed these lines:
    var xy:Point = this.localToGlobal(new Point(this.x, this.y));
    var wh:Point = this.localToGlobal(new Point(this.width, this.height));
    var sign:int = sign(obj[i]);
    I hope this can help you improve your classes.
    Best regards,
    OMA2k

  • The three main hurdles to porting existing Flash projects to iOS with AIR

    The purpose of this discussion is to identify significant problems currently preventing AIR for iOS from being a viable solution for porting existing Flash apps.  These issues have been largely ignored by Adobe, so I hope that everyone will add to this discussion if you have also run into these roadblocks in targeting iOS with the AIR SDK.  I hope that Adobe staff will address and provide some much needed information with regard to fixing these problems.
    There are 3 main problems with targeting iOS currently, which are probably affecting anyone who is trying to port a project that is both medium to large in size and makes use of SWF loading.  Pretty much any project that has a MVC architecture is going to load SWF assets that are compiled against a view class, so this is likely affecting many people.
    1. Bug - ADT packager runs out of memory when packaging "large" numbers of SWF assets
    https://bugbase.adobe.com/index.cfm?event=bug&id=3511656
    This is a blocking bug that prevents packaging projects with a large number of SWF assets.  It is preventing me from being able to package all the needed assets for my project.  I provided Adobe with my project to package a couple months ago so this bug can be reproduced in house and fixed.  The Adobe employee who was handling this never tried to reproduce the issue and has stopped responding to email and comments in the bug.  Adobe, please have someone take charge of testing and fixing this bug.  It seems like it would be a straightforward fix once the failure is reproduced within a debugger.
    Has anyone who has encountered this problem determined the number of files or classes where it starts to fail.  I've spent some time trying to reverse engineer what the packager is doing when it runs out of memory, so think I can determine how many classes it's working with, but obviously the size of the classes will be variable and so this number will probably be more of a range where we start to get into the failure state.
    Please let me know if you can reproduce this issue with your project with many SWF assets and upvote the bug if you are already aware of this one.
    2. Bug - SWF reloading when doing a "real" (AOT) compile
    https://bugbase.adobe.com/index.cfm?event=bug&id=3636385 
    There is already a forum post that covers the history of this issue (http://forums.adobe.com/message/4920638) but that also covers some issues in older AIR builds with loading of any SWF asset (previously fixed), where this bug deals specifically with reloading of SWF assets that include compiled bytecode (ABC).
    The expectation here is that all versions of the Flash runtime should handle SWF reloading with ABC in the same way, so that a single codebase can be used to target web and iOS (or any other platform).  This is the only issue of the 3 that has a legitimate work around, in my opinion, because the assets can be cached within the app within a loading manager layer.  All the application code that makes loading calls can stay the same, and a compiler flag can be used to enable this caching for iOS builds, with subsequent requests returning a new instance of the cached asset.  This can potentially lead to a very bloated memory footprint for the running app after a period of time, though, which could make some apps perform poorly, so a bugfix is ultimately needed.
    3. Unimplemented feature (?) - The constraint that a single ApplicationDomain is used when running AIR for iOS 
    I did ask about this in the same forum post as SWF reloading but didn't get an Adobe response.  Why does this constraint exist?  My guess is that the AIR runtime for iOS simply hasn't implemented multiple ApplicationDomain support at this point, and that this was done to focus resources on other high priority features for the iOS runtime.  It's possible that there is some aspect of the iOS operating system that makes it difficult or impossible to implement this feature, which may be why it's been avoided to this point, but obviously this is all conjecture without hearing from Adobe on it.
    This is a major issue that needs to be addressed.  For us, the problem is that our SWFs for multiple instances of the same type of asset use the same name for the AS export.  For example, each item an avatar can equip is a single SWF with multiple sub assets -- the parts which comprise the item.  Each of the parts will have an AS export name based on the avatar facing and where it is equipped, like "fv_head".  This naming is consistent across all items, so we will load a lot of assets containing "fv_head" simultaneously.  This normally works fine because the default behavior for Flash has always been that each SWF is loaded into a new ApplicationDomain instance, but for iOS a single ApplicationDomain must be used, causing these names to collide.  The last SWF loaded containing a given AS export name overwrites the previous ones of that name.
    The work around for this, and I use that term loosely, is to go through and uniquely name every AS export in every asset where sets of assets with the same export name is used. For us that is hundreds of items with multiple exports.  Maintaining unique naming across all these parts is also a very error prone process, not to mention all the code that manipulates the parts needs to be modified to handle the new naming and make sure it's referring to the now uniquely named assets.
    The expectation here is that all versions of the Flash runtime should handle asset loading in the same way and place each loaded asset into its own ApplicationDomain container as the default behavior.  I'd like an Adobe employee to address my assumption that this is an unimplemented feature of AIR for iOS at this point, and let the community know if a solution for this will be implemented.
    Summary
    All three of these issues in combination are a major roadblock to porting existing Flash games to iOS with AIR.  Issues with one can make it hard to test and try to work around others.  All need to be fixed, but If I could only pick one of these to fix, it would have to be issue 3 -- that lack of proper ApplicationDomain support when loading assets.  This issue is completely inconsistent with standard Flash behavior and creates a major roadblock to ports of existing applications with no viable solution for a workaround.
    I look forward to Adobe's feedback on each of these issues and hopefully fixes that will allow those of us working with AIR for iOS to get our products to market.

    About the 3rd issue being an AoT design limitation, I'm not sure I understand why it's necessary to know during AoT packaging what the domain is that a child will be loaded into to be able to have SWF loading work as on the browser.
    Isn't the ApplicationDomain an internal construct in the AIR runtime that you guys define in order to manage namespaces of loaded SWFs?  To be clear, when I say "runtime" I know that the resulting code isn't being interpreted within the iOS app, but clearly you have a set of AIR libraries that get compiled into the IPA that provides support for all the Flash APIs.  If that's the case, then wouldn't it be possible for the iOS version of the AIR libraries to define a new ApplicationDomain on the fly when code that has been cross-compiled to iOS native code loads a packaged SWF?
    I don't have a clear picture of how ApplicationDomains are managed internal to the runtime of course, but a little more detail would be very helpful.  Thanks.

  • How can you enable back the Android native Menu button in AIR 2.7?

    I've noticed in AIR 2.7 for Android, that now the bottom icons in Android 3.0 Honeycomb are hidden (replaced by small dots) in AIR 2.7, whereas in AIR 2.6 they were always visible. That's cool. Since the bottom bar can never be hidden in Android 3, at least now those icons are less visible (unless you intentionally touch the bottom bar, then the icons show up for a few seconds).
    BUT I also noticed in AIR 2.7 compiled apps, the native "Menu" icon is not visible anymore, even after touching the bottom bar. In AIR 2.6 you could see and press that button (which can be captured from AIR so you can show a custom settings menu or whatever).
    So, quoting the subject --> How can you enable back the Android native Menu button in AIR 2.7?

    There is a work around and a reason for the menu issue.  Honeycomb doesn't natively support a menu softkey, it is only to support old apps comiled in phone API levels.  If you compile a Honeycomb app in 2.7 or 3.0, it is expected you manage the settings within the larger tablet UI framework.  See below link for more info and work around. 
    http://forums.adobe.com/message/3964792#3964792

  • Android - This application requires adobe air

    I have made an android app and installed on the device.
    i have searched the android market for the Adobe Air runtime and cannot find it.
    when i debug the app it says
    "This application requires adobe air. Install Adobe Air now?"
    but when i click the install button the response back is
    ! Not Found
    The requested item could not be found.
    any ideas please.

    i think it is something to do with installing the runtime from the cmd prompt
    -e install -r <runtime.apk>

  • Commercial App using Adobe Air S

    Hello,
    I have completed building an entire commercial app using
    adobe air using html+ajax. Now when I decided to make the .air file
    and install it on various computers, I realised that the entire
    code (html+ajax+images) is available in plainsight to the users in
    their program files directory.
    Can someone please tell me a solution? Should I obfuscate the
    code? What options do I really have? Please help.
    Thank you.

    While this might not bee too comfortable, you could try to
    create a browser Flex app, which you use a a container for HTML/JS
    data container.
    Your app calls the Flex app for various parts. Within the
    Flex container you need to store and somehow encrypt all resources.
    For sure, the actual code in the browser will be visible -
    but probably not for each and any user.
    Not an ideal solution, but at least an option.
    Additionally google for 'JavaScript obfuscator':
    http://www.google.com/search?client=safari&rls=de-de&q=javascript+obfuscator&ie=UTF-8&oe=U TF-8
    Additionally, have a look at my
    previous
    post regarding Flex/AIR obfuscators

  • OSX Native MenuBar in Adobe AIR?

    Hi,
    I'd planning a new app for Desktop (Windows and Mac). In the Mac version I need to setup a osx menubar icon with its menus and items. I think this is not supported right now on Adobe AIR 13 so I'd want to ask here if there's an ANE mac extension that I could use that provides a hook to create the menubar osx icon and the menu with the options.
    If there's no such ANE, could you let me know if this is something that could be done in such way? or let me know if there's no option right now unless I go to native osx development.
    Thanks in advance.
    Carlos

    You're not talking about the DockIcon, are you?
    http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/desktop/DockIcon. html
    EDIT: Ah, you're talking about that bar at the top of the screen... sorry not very familiar with Mac. I'm guessing you already saw this post: http://stackoverflow.com/questions/9885275/air-application-on-the-menubar
    -Aaron

  • How to Multi-Screen android tablet application on Adobe AIR and Flash Professional

    hello,
    I have done app in ipad with Adobe AIR thats work fine in ipad,
    but now i have to create android tablet app for multiscreen resolution like this,
    2560*1600, 1366*768, 1280*800, 1280*768, 1024*768, 1024*600, 960*640, 960*540, 854*480, 800*600, 800*480, 800*400
    and my current .fla file resolution is 1024*768 so how can i create android tablet app with multi-screen?
    thanks

    If your app is mainly code layout interface, then you'll have to just change your code to work with arbitrary widths and heights, instead of a fixed width and height. If instead your app is basically one graphical scene, like say Angry Birds, or a highly graphical scene, you could take the approach I use.
    Read my reply to this message:
    http://forums.adobe.com/message/4735070?tstart=0
    In that message I describe things in Portrait, because I was answering a question about portrait, but it all works out too if you substitute landscape numbers.

  • How to detect AIR for Android closing app event? AIR analog to Activity.onDestroy()

    How to detect AIR for Android closing app event (remove app from dock "Recent Apps")?
    In AndroidActivityWrapper.StateChangeCallback exist method onActivityStateChanged. But he have only DESTROYED state, which it seems received where app finish exiting. Activity.onDestroy() called if app start exiting.

    DPI aside, you can just set your resolution on the project to the target devices resolution to preview how it will look. While vectors will render much smoother on the device (higher DPI), it's a very easy way to target various resolutions for testing.
    If you have the full CC suite you might want to consider using Flash Builder 4.7 which has many different device presets and allows you to create your own presets to mimic tablets and phones. It really depends how complex your project is to move over to FB.

  • Problem of native installer of Adobe Air

    The native installer will display an error as shown in the screenshot. But the native installer can execute normally after install A
    ir 2.0 public Beta First.
    Therefore, I think that the problem is not the system requirements problem.
    How can I run the native installer without installed Adobe Air First?

    Thanks. I'd looked for a META-INF/AIR folder under CS5 but failed to find one. So I gather the CS5 installer is not exactly a full-blown AIR application, but uses bits of AIR technology?

  • Unable to launch adobe story app, because adobe air installer fails

    Hi,
    I am having problems launching the adobe story app. Everytime I try to open it it tries to update and it then launches the adobe air installer which always fails and I get the following message: Sorry, an error has occurred. The application could not be installed because the installer file is damaged. Try obtaining a new installer file from the application author.
    If I close the message it launches Adobe Story and it happens again, and it goes into an endless loop.
    I've re-installed the latest version of Adobe air on my computer, and it still happens. I am able to login to Adobe Story on the webrowser but there's a lot of files missing. From reading the discussions I'm thinking this might be because its a free account, and the app is no longer available, and since it didn't sync for a long time.
    If this is the case, is there a way to recover the missing files without upgrading to a paid account?
    I don't want to pay for an account and discover that the files are still missing.
    or is this a completely different issue?
    In case this information is relevant I use an iMac with Mac OS X version 10.7.4, 3.1 GHz Intel Core i5 Processor, 4GB 1333 MHz DDR3 Memory.
    Thank you.

    Hi,
    We have recently pushed out a new build of Adobe Story.
    If the update is still failing, please mail me(roverma <at> adobe <dot> com) the contents of AIR installation logs.
    You can get the contents of the install log using the following steps:
    Mac OS X
    Open the Console application from the Applications/Utilities folder.
    Select System.log from the log list on the left.
    In the String Matching filter field, type Adobe AIR.
    Select all, and then copy and paste into a text file.
    Thanks
    Rohit
    Adobe Story Team

  • Set external ports for Android Link App

    Hello,  I wanted to request the option to manually set the port when accessing the nas remotely from the Android Link app.  My provider blocks standard ports like 80 and 443 from incoming so usually just forward a non-standard port from my router to any internal servers.   Asus Routers have a similar app to access data but they allow you to set different ports when accessing services internally vs remotely.  Hoping we could get the same options for the Link app.   

    Steven_Lenovo wrote:
    Hello mrhector Unfortunately the Lifeline firmware does not have the option to change the ports need to fully access personal cloud via the Link application. Hey Steven, That's ok, I don't need to change the ports on the NAS.  I just need to be able to change the port settings that the Link application uses to connect to the Nas remotely. I would forward the ports from my router. ie.  Router forwards8080 -> nasip:804443 -> nasip:443  So instead of having the Link app try to connect to remoteip:80 / remoteip:443 it would connect to remoteip:custom port I hope that makes more sense.  

  • IPhone App via Adobe AIR and Webservice

    Hi Forum,
    I am trying to deploy a iPhone App developed with ADOBE AIR. This gets data from SAP via a webservice. When I test it on the iphone simulator provided by Flash Builder it works fine. But when I try to run it on the iPhone, it just does not get any data. It does not ask for the user credentials also. I was wondering if any one has tried this route and succeeded ?
    Any pointers will be greatly appreciated.
    rgds,
    Rajvish

    Hello,
    Just try to open the any sample sap webpage sitting on SAP server ,where the webservice is residing on the iphone browser,if
    the webpage is opening,then there is problem in the application or else,your SAP server is not exposed on internet,so the webservice is not called.
    regards
    kaushik

  • Is there any sample Android Native App using MBOs?

    We are building a native android application using MBOs (SUP 2.1 ESD#2).
    We are able to register the user but not able to synchronize. We are following the "Developer Guide: Android Object API Applications"
    Is there any sample android native application for this scenario?  Only sample available now uses OData SDK.
    Thank you
    Regards
    Jeyaram

    Transaction examples for IIOP are in the works for the next release.
    "Dan Cimpoesu" <[email protected]> wrote:
    Hi,
    Based on the links below:
    http://e-docs.bea.com/wls/docs61/jta/trxrmi.html#1018506
    http://e-docs.bea.com/wls/docs61/jta/gstrx.html#1067532
    It appears that is possible to have distributed transactions across RMI-IIOP
    clients and RMI-IIOP applications (servers).
    I am surprised by the note:
    Note: These code fragments do not derive from any of the sample applications
    that ship with WebLogic Server. They merely illustrate the use of the
    UserTransaction object within an RMI application.
    The above note suggests that there is no sample code available.
    Is there any sample code that illustrates RMI-IIOP applications (servers)
    participating in distributed transactions?
    Regards,
    Dan Cimpoesu

  • Chat App with Adobe Air?

    Hi,
    I am plan to develope a text chat application with adobe air.
    Do you think if it is possible? and generail steps I have to
    take to finish it.
    Which technology I have to learn.
    Thanks
    Mark

    Hi,
    This is indeed possible with AIR. There's even an as3 library
    to handle the jabber protocol (XMPP).
    More info @
    http://www.mikechambers.com/blog/2008/08/14/connecting-to-an-xmpp-jabber-server-with-the-x iff-as3-library/

Maybe you are looking for

  • Multiperson video chat suddenly not working

    Hi, So I've been using multiperson chat for the past couple of weeks and have had no problem. Tonight, it doesn't seem to be working. The green video icon that is normally stacked is now just one video. When I checked Connection Doctor is says that I

  • How to make a field on the screen of any transaction 'display only' in BADI

    Hello All, I am working on BADI. The requirement is that for a specific condition, the user should not be able to change the 'plant' field on the screen of the standard MM transactions ME22N or ME23N. The field 'plant' should be grayed out and the us

  • How can one view the pictures backed on iTunes from iPhone?

    I lost my iPhone sometime back and need to access the contacts and pictures that I had backed up.  I don't intend to buy another iPhone but I would like to get to access this information.  Is there a program or something that can do this?

  • Need Advice fr/ Graphic Designers/Video Editors about Glossy Screens

    Would like to hear some advice from industry professionals working in Graphic Design and Video Editing about working on a Glossy Screen MBP. No offense, but please do not share speculative responses (these forums are notorious for that) I just want p

  • When I updated my phone, I lost all my pictures.

    I just updated my ipone, and it said before the update that all my data and pictures and things would be backed up to my computer. Afterwards all my pictures are gone and I can't locate them on my computer, in any of my files or anything. Is there a