Air on Android - Expansion Files (*.obb)

Someone ever used it in an AIR app? I'm having problem checking if we downloaded it, and downloading it (what's the Google Play file location?). How to use .zip expansion files?

I haven't been able to find anything on this from Adobe. Can anyone point us in the right direction for expansion files?

Similar Messages

  • AS3 AIR accessing Android expansion file

    Hello, I have AS3/AIR application for deploying on Google Play. The app has an expansion file attached to it. Expansion file is named "main.1000000.air.com.mycompany.myapp12.obb" and it is downloaded along with the app properly.
    The problem is I cannot access the file with any way I tried, like:
    File.applicationStorageDirectory.resolvePath('Android/obb/main.1000000.air.com.mycompany.myapp12.obb');
    File.applicationStorageDirectory.resolvePath('/Android/obb/main.1000000.air.com.mycompany.myapp12.obb');
    File.applicationStorageDirectory.resolvePath('main.1000000.air.com.mycompany.myapp12.obb');
    File.applicationStorageDirectory.resolvePath('/main.1000000.air.com.mycompany.myapp12.obb');
    or simillar, and I cannot access the file even when the path while developing on Windows seems to be right. When deployed, I just got the "not found" error in my catch block with the supplied File url property: "app-storage:/Android/obb/main.1000000.air.com.mycompany.myapp12.obb". I have been looking for the solution and trying various approaches for several days, but I am stucked. Please help. Developed on ASUS EEE PAD.

    I have same problem on my Nexus 7(2012) Android Lillipop
    The Aplication can't see the obb file after install - it can find it only after device system reload
    but I can see it on such directorys
    storage/sdcard0/Android/obb/
    storage/emulated/legacy/Android/obb/
    storage/emulated/0/Android/obb/
    so why aplication can't find it ?

  • Android Expansion Files and License Verification Library

    Hi all,
    I'm strugling with the libraries to verify a person's purchase in order to download play store hosted expansion files.
    I got the downloading of expansionfiles and unpacking (from an own domain) down, but since it is for a purchased application and the .obb files will be stored in the play store, I need to check the purchase before I can download (right?).
    I'm going by the following article:
    http://www.adobe.com/devnet/air/articles/android-licensing-native-extensions.html
    After getting all the latest SDK's (Android and AIR) I still get errors from the Adobe provided .java files.
    First, the package name of Anroid's
    com.android...LicenseChecker.java
    is changed to:
    com.google.android...LicenseChecker.java
    Fine, I can change it's import in com.adobe.air.sampleextensions...AndroidLicenseCheckerCallback.java
    However...
    com.adobe.air.sampleextensions...AndroidLicenseCheckerCallback.java then begins to complain about the method LicenseChecker.allow( int ) not being implemented. OK, I can write that method if need be (not quite clear what to fill it with though)
    Worse probably is that a number of consts ( CHECK_IN_PROGRESS, INVALID_PACKAGE_NAME ) and s'mores can not be resolved. Maybe because the overridden applicationError's parameter ApplicationErrorCode can not be resolved either... .
    (I got android.jar and FlashRuntimeExtensions.jar linked OK)
    sigh...
    Does anyone know of more recent/functioning libraries? Or am I on the wrong track all together?
    Thanks in advance,
    Manno

    [daytime again]
    ofcourse the unresolved consts cannot de defined inApplicationErrorCode.
    Still open for advice though...

  • Air for android - not connecting to lccs

    I created an as3 swf that connects to lccs. It works well. I'm using the 10.1 swc. I used the same code in Air for Android cs5 file. It doesn't give any errors but it will not connect to the lccs server. I put an event listener on and it gives an error "INVALID_INSTANCE:invalid_instance". Now that would leave me to believe my roomURL is not correct but it surely is. And the room connects successfully when in an as3 swf.
    Does the Air for Android cs5 strip out things or something? The error event listener worked on the android phone but it didn't connect. Anyone know why the android version wouldn't connect?

    Sample Code on how to use debug trace that Raff was mentioning
    In your codes applicationComplete or creationComplete event, please add this line
    DebugUtil.traceFunction = traceMessage;
    DebugUtil.suppressDebugTraces = true;
    and add this funtion
    private function traceMessage(message:String):void {
           TEXTAREA OR LOGGER .text += message + "\n";
    Thanks
    Arun

  • How to use expansion files for AIR app (flash cs6) on Google Play Store

    I am currently working on an app that will undoubtedly end up bigger than the maximum size of 50 MB for the APK, and I have no clue how to add files to an expansion pack, how to load expansion pack, what files need to be in expansion pack, or even what an expansion pack does/how it works. If anyone can point me in the right direction, that would be great, I want to make an expansion pack now before I get even more files.

    Haven't had a need to do this for file size purposes but since we can now download and use SWFs with ABC, I just specify my external SWFs when I compile and once my app is run it downloads the SWFs (with a pretty preloader) before the user can do anything. I have my own servers so I believe that's all that Amazon Bucket is actually used for. That user didn't have their own web servers to serve up the SWF content from.
    Aside that, check the answer here. Google will turn any extra files uploaded for your app into OBB for you. You just upload the SWF:
    Create expansion file for AS3 android Air App Flash cs6 - Stack Overflow
    It also outlines if you need to upload multiple files then .zip them up and use an AS3 .zip library to extract the files.

  • Android APK Expansion Files for Apps over 50MB

    Hello Support,
    We are building a new version of an app pubished on PlayStore (built with Adobe AIR) and need to embed higher resolution images. This results in my app apk file size which is over 100 MB.
    Google allows to upload apks that are <= 50 MB. For apps which require more storage capacity than this limit, expansion files are needed.
    Can you please inform us about how to incorporate these expansion files with an AIR app?
    Is there a native extension or a built-in feature to prepare the expansion files and surpass the limit?
    I've looked in the forums & there is no definite answer or solution.
    If this is not possible at present, can you please add it to the wishlist for the next version of Adobe AIR SDK? Or perhaps, release a free/paid native-extension which enables this.
    Thanks!

    Yes I got it working this morning, honestly I've got no idea what did the trick, as I did nothing. My only guess right now is I reuploaded new versions of my APK and OBB files on the Android Developer Console yesterday, and maybe it could have taken this long to "refresh".
    Basically right now if I install a fresh apk on the device, it will downloads and unzip my obb. If I kill the app and relaunch, it validates if my obb is still there and continues, when before a simple message box with my app name would stay displayed forever.
    Here's my app code based on the exemple from http://extensionsforair.com/extensions/apk-expansion-files/ :
    public class Main extends Sprite
                        public function Main():void
                                  stage.scaleMode = StageScaleMode.NO_SCALE;
                                  stage.align = StageAlign.TOP_LEFT;
                                  addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
                        private function onAddedToStage(evt:Event):void
                                  addChild(Console.GetInstance());
                                  Console.Trace("Start");
                                  var apkExpansionFiles:APKExpansionFiles = new APKExpansionFiles();
                                  apkExpansionFiles.addEventListener(APKCompleteEvent.APK_COMPLETE, onComplete);
                                  var BASE64_PUBLIC_KEY:String = "your_public_Key";
                                  var outputDir:String = "/Android/data/"; // the outpout folder
                                  var mainVersion:String = "1302000"; // the version of the APK that the file was uploaded
                                  var mainSize:String = "10639971"; // the length of the file in bytes
                                  var mainUnzip:Boolean = true; // unzip the file
                                  //var patchVersion:String=”1000024″; // the version of the APK that the file was uploaded
                                  //var patchSize:String=”14923834″; // the length of the file in bytes
                                  //var patchUnzip:Boolean=true; // unzip the file
                                  apkExpansionFiles.expansionFilesDelivered(BASE64_PUBLIC_KEY, mainVersion, mainSize, mainUnzip, outputDir); // only main obb file
                                  //apkExpansionFiles.expansionFilesDelivered(BASE64_PUBLIC_KEY, mainVersion, mainSize, mainUnzip, outputDir, patchVersion, patchSize, patchUnzip); // main and patch obb files
                        private function onComplete(e:APKCompleteEvent):void
                                  Console.Trace("onComplete");
                                  for (var key:Object in e.params)
                                            Console.Trace("Key : " + key + ", Value : " + e.params[key]);
                                  var conteneurImage:Loader = new Loader();
                                  var fileName:String = e.params.outputDirMain + "asset/2048-2.png";
                                  Console.Trace("File name = " + fileName);
                                  var file:File = new File(fileName); // the outpout Main folder
                                  Console.Trace("File exists? = " + file.exists);
                                  //var file:File = new File(e.params.outputDirPatch+”myImage.jpg”);    // the outpout Patch folder
                                  var image:URLRequest = new URLRequest(file.url);
                                  conteneurImage.load(image);
                                  conteneurImage.scaleX = 0.3;
                                  conteneurImage.scaleY = 0.3;
                                  var secondImageContainer:Loader = new Loader();
                                  fileName = e.params.outputDirMain + "asset/2048.png";
                                  file = new File(fileName);
                                  image = new URLRequest(file.url);
                                  secondImageContainer.load(image);
                                  secondImageContainer.scaleX = 0.3;
                                  secondImageContainer.scaleY = 0.3;
                                  secondImageContainer.y = 614;
                                  this.addChildAt(conteneurImage, 0);
                                  this.addChildAt(secondImageContainer, 1);

  • How can I use a file in flash cs6 that I made in flash cs5.5 air for android

    I have made an app in in air for android in flash cs5.5 air for android, and I want to edit it in cs6 and play it in cs6.
    But if I put Ctrl+Enter I got an error: createWin process failed with error 2: system couldn't find the file. I think the problem is that I'am using air for android 2.6 version in flash cs5.5 and version 3.2 in flash cs6. I have searched the web and found out that you can add older air versions using the sdk manager and I have tried it but first I get the error that the version of the sdk I am trying to install is not valid and after some files that I added to the sdk folder I get this error:Only SDK higher than version 3.4.2540 may be added.
    I there a possible way to update the air for android for an fla or apk? Or how can I let my originally file work fine in flash cs6??

    system couldn't find the file
    If you can´t get a more specific hint why your project can´t compile then I can think of some reasons theis error might occur
    1.You had files included besides the swf, like videos, audio files, xml files, that are not present in the place air expects them to be
    2.somewhere in your createWin functions there is a class import needed that isn`t present in 3.2 anymore, for example some classes or functions from classes that were valid in 2.6 are not any more in 3.2
    3. to achieve better eror logging, allow for debugging in the publishing options and see what specific lines in your code throw the error
    4.any air app needs a cert file, this needs to be created once, if you migrated to e new system it might be you never created that file which air expects to even begin the compiling process
    once you isolate the problem, report back

  • Can you play/view swf files on adobe air for android?

    Hi, yes; I'm new here, as well as to Adobe Air, and I'm still trying to learn the ropes around here, and I apologize in advance if this has already been asked, or I have placed this question in the wrong forum.
    The thing is, I was wondering if it was possible to play my SWF files via adobe air for android; and if so, how? Thanks in advance either way.

    Can you please give directions where can i clear that cash.
    Anyway i don`t think its the case, because this is first time i hooked phone to internet, and first time i launched Android app store.
    Edit:
    I went to https://market.android.com and there is Adobe air app. But when i try to download it says that my device doesn't support it (Samsung Galaxy GT-I5500) By default it comes with android 2.1 and doesn't support Adobe air, but i upgraded firmware to 2.2.
    Maybe that is the reason it doesn't show me Adobe AIR in app store - based on my phone, not my Android version ?

  • The Error Message 'Application descriptor file cannot be parsed' shows when compiling (Ctrl + Enter) Adobe AIR for Android applications on Flash Professional CS5.5

    The Error Message 'Application descriptor file cannot be parsed' shows when compiling (Ctrl + Enter) Adobe AIR for Android applications on Flash Professional CS5.5
    This is happening for most of the pupils and staff at our school and they are unable to complete their work.
    This also happens on a fresh copy of windows and CS5.5 without any updates and also with all latest updates.
    I have tried it on 32-bit and 64-bit CS5, Windows, Air and Java with the same error every time.
    There are a small minority of users where this works fine for them with no issue.
    I have tried re-setting user profiles.
    I have tried a local admin and domain admin account with the same issue
    I have noticed however that if the file is moved to the shared area it will compile. If it is on their documents area it will not compile. The users have full control in both locations. This is fine for staff but we are unable to give full control or modify access to the shared area for the pupil's
    I have been through the online support section and it directed me to phone Adobe Customer care who informed me that all support has been discontinued for CS5, CS5.5 and CS6 and they will only support creative cloud.
    Any ideas what to try next? There is no other information about this error and I cannot work out what is causing it.

    I have tried and  able to package an apk using your XML file.Could you please make sure your XML file starting from line 1 and coloumn 0.Any space will results in the error (Application Descriptor file cannot be parsed)
    -Pranali

  • Air For Android - Full Screen not working

    Opened CS5.5 > Chose "Air For Android" which gave me a stage dimension of 480x800 default. I then created my app.
    I am using a Droid Bionic and testing my app on it. It will not go to full screen, regardless of how I am holding the Droid. When publishing, I clicked "Full Screen" and Portrait, Landscape, Auto Orientation, etc. I tried all of the publishing options, yet still there is white screen on the eastern and southern side of the screen.
    I have a picture on the main screen, and it fits perfectly within the 480x800 dimmensions when playing in Flash. After publishing to an APK file and testing it on Droid, I have that white space as mentioned, as if the stage size grew larger than the picture / app. I also shrank the stage(480x800) dimensions to to (340x600) , but still the same amount of white space. When I move the picture to the right a bit, and publish, it shows the white space on the left hand side of the stage. This can only mean that when I publish, the stage size grows but everything on the stage stays the same. 
    Any ideas?
    Thanks!

    I removed:
    stage.scaleMode = StageScaleMode.NO_SCALE;
    stage.align = StageAlign.TOP_LEFT;
    from AS3 and it works better. Now there is even white space on the north and south side of the screen. Clicking "Full Screen" in the publish settings, makes a little more white space, which is weird. It as if now the stage is expanding its height, rather than its height and width due to me using the above code. Still, would like to get rid of that extra white space.
    Edit: It looks like the stage height grew by 60. If I expand the picture by 60, placing it on the stage at 0x and -30y, it fits fine on the bionic. I don't understand why this is happening, and scared that it may be different for each device.

  • Best practice for images. Air for Android

    Hey guys...
    I was thinking about the best solution when it comes to images storage for Air on Android.
    Since I dont have much experience with non-web based apps, I thought of two way and I would like to know your thought on them.
    1.Application Storage Directory. If I get it right, this folder is created when the app is installed and the project can access files in it. Any idea on how this can work with images?
    2.Database. My app uses a local database anyway so maybe that the proper way to do it. I've done some research and found out that the image must be converted to a byte array (thats easy) but then I dont have a clue on how to save it to the database.
    So? Which one is better for the mobile world?
    Also, if there are other ways let me know please.

    While I am no expert in this area, I did run across this blog:
    http://www.remotesynthesis.com/post.cfm/local-caching-of-remote-images-in-air-for-android
    It deal with local caching of remotely loaded images.  Should be exactly what you are looking for.
    Darren

  • AudioPlaybackMode.Voice on Air for Android

    Im developing an Air for Android App using Air 17 that is basically a VOIP phone. Im trying to get the Audio to come through the earpiece using the following code: SoundMixer.audioPlaybackMode = AudioPlaybackMode.VOICE; SoundMixer.useSpeakerphoneForVoice = false;
    It seems to work until I start talking into the built in Mic from my android device, the audio just stops functioning all together. I tested the AudioPlaybackMode.Voice on another simple app I made where it just plays a sound file and it works perfectly.
    Can anyone provide me with some insight of why this is happening or give me any advice on how to debug this issue? Thanks

    Make sure that were your tutorial code uses startDrag() /stopDrag()
    that you use: startTouchDrag()/stopTouchDrag()

  • Adobe Air for Android - caching key event that have "unusual" keycode

    I am developing an application for a platform. The OS of this platform is Android Gingerbread (2.3.4) The platform has some buttons with "unusual" key code: 141, 131 etc.
    Native application that created in ADT can catch and respond to these keyboard events While my Adobe AIR application (created in Flash professional) are Indifferent to them.
    I try both: stage.addEventListener(KeyboardEvent.KEY_DOWN,KeyHandler,false,0,true); NativeApplication.nativeApplication.addEventListener(KeyboardEvent.KEY_DOWN,KeyHandler,fa lse,0,true);
    How can I "catch" this event? Maybe a way to add constant to the keyboard class?
    Thanks

    If you are deploying for iPhone it is on the 'general' settings(First setting page opened).
    Just noticed you are making android app but i still added iphone deployment settings for further future
    But if you are using it for flash/android you have to add code into your fla descriptor with XML language(dont worry it is 1 line of code)
    Watch the video on this page about GPU rendering:
    http://blogs.adobe.com/cantrell/archives/2010/10/gpu-rendering-in-adobe-air-for-android.ht ml
    Your app shouldn't lag after these steps but if you have a project that gets bigger and has lots of code it MIGHT lag so that is when external files should help.

  • Air for Android Extremely Slow...

    Hey everybody,
    Hopefully some of you have been trying the prerelease of Air for Android like myself. Its all great and easy peasy to export the apps to my phone but it seems to be ridiculously slow even for seemingly simple scripts.
    This is what i'm trying to run at the moment and the app times out before it gets running (All the apps do get running eventually but only after the time out timer could have run over multiple times).
    import flash.display.Shape;
    import flash.events.Event;
    import flash.sensors.Accelerometer;
    import flash.events.AccelerometerEvent;
    var vx:Number = 0;
    var vy:Number = 0;
    var s:Shape = new Shape;
    s.x = stage.stageWidth/2;
    s.y = stage.stageHeight/2;
    with (s.graphics)
        lineStyle(3,0);
        drawCircle(0,0,5);
    addChild(s);
    var accel:Accelerometer = new Accelerometer();
    addEventListener(Event.ENTER_FRAME, onFrameLoop);
    accel.addEventListener(AccelerometerEvent.UPDATE, onAccelEvent);
    function onAccelEvent (evt:AccelerometerEvent):void
        vx += evt.accelerationX;
        vy += evt.accelerationY;
    function onFrameLoop (evt:Event):void
        s.x = Math.round(s.x + vx);
        s.y = Math.round(s.y + vy);
    From what I can see theres nothing actually wrong with the code from what I can see but it just takes so frickin' long to load. If I make an app with some equally simple animations it loads almost instantly. I am aware that this is only a prerelease version of the software and the documentation does say that hardware acceleration has not been added yet but whenever I watch the videos up on youtube of the Adobe team making amazing apps with obviously buckets of script running smoothly on their phone I get annoyed
    P.S The processor on my phone isn't the problem either (Nexus One Eclair )

    If you are deploying for iPhone it is on the 'general' settings(First setting page opened).
    Just noticed you are making android app but i still added iphone deployment settings for further future
    But if you are using it for flash/android you have to add code into your fla descriptor with XML language(dont worry it is 1 line of code)
    Watch the video on this page about GPU rendering:
    http://blogs.adobe.com/cantrell/archives/2010/10/gpu-rendering-in-adobe-air-for-android.ht ml
    Your app shouldn't lag after these steps but if you have a project that gets bigger and has lots of code it MIGHT lag so that is when external files should help.

  • Invalid extension descriptor - Licensing AIR for Android devices

    I'm trying to do licensing app according to this article http://www.adobe.com/devnet/air/articles/android-licensing-native-extensions.html.
    If i try to generate the ANE file in ADT command prompt then displays this error - Invalid extension descriptor: extension.xml
    My file extension.xml I copied the whole of the AIR 3.1 SDK.
    <extension xmlns="http://ns.adobe.com/air/extension/3.1">
      <id>com.adobe.air.sampleextensions.android.licensing</id>
      <versionNumber>1</versionNumber>
      <platforms>
        <platform name="Android-ARM">
          <applicationDeployment>
            <nativeLibrary>SampleAndroidLicensing.jar</nativeLibrary>
            <initializer>com.adobe.air.sampleextensions.android.licensing.AndroidLicensingExtension</ initializer>
            <finalizer>com.adobe.air.sampleextensions.android.licensing.AndroidLicensingExtension</fi nalizer>
          </applicationDeployment>
        </platform>
        <platform name="default">
                  <applicationDeployment/>
        </platform>
      </platforms>
    </extension>
    In what may be the reason, tell me please?

    Never mind, I was using the wrong runtime.  My devices are on eclair and I was using froyo.  Grrr.

Maybe you are looking for