Flash Builder: debug vs release differences? - apache-flex

First, the tl;dr background.
I am using Flash Builder 4.7 to build an iOS app using Flex, using an SDK that's a combination of Flex 4.9.1 and AIR 20. Full disclosure; I am still using mx components. In order to comply with Apple's latest App Store requirements, I want to use the latest AIR version. But I tried a couple of times to update the AIR portion of my combinied SDK, failing miserably. So I can't currently use FB's "export release build".
So instead, I am able to build the SWF using my Flex 4.9.1/AIR 20 sdk, do a little hand-editing of the resulting XML file, and then run adt from the latest AIR sdk to do the packaging. This works and makes it through TestFlight just fine. I'm happy (enough) with this solution.
Now, the questions.
The SWF I build winds up in bin-debug. Is there any essential difference between that, and whatever FB builds when I do "export release build"?
If that's true, is there a way for me to just build the SWF the way "export release build" does it?
thanks.

Mea culpa. And thanks to #philarmon for reminding me about Apache Flex SDK installer. I had completely forgotten about it because I build this project so infrequently. (Mom: that's no excuse. Me: but it's a reason.)
I was building the SWF in FB, but then doing the packaging using a later version of adt. Now I have the latest Flex and AIR and everything is working well again using Export Release Build.
Thanks for listening. Go back to your homes.

Related

Update Flash Builder mobile app to use 64 bit with Air SDK 18.0

I am having a terrible time updating my Flex Project to use 64bit and iOS 8. I have to update because when I use Adobe Air SDK 14 I get the following error while uploading my release version via the Application Loader.
I've followed all of the instructions listed in the following, but nothing works:
http://easynativeextensions.com/making-your-ios-apps-universal/
https://helpx.adobe.com/flash-builder/kb/overlay-air-sdk-flash-builder.html
https://helpx.adobe.com/x-productkb/multi/how-overlay-air-sdk-flex-sdk.html
When I change the line in my air descriptor mxl file to:
<application xmlns="http://ns.adobe.com/air/application/18.0">
I get the following error:
I've downloaded the Air SDK from this page: http://www.adobe.com/devnet/air/air-sdk-download.html
I tried using both the main link and the Flex specific SDK only link.
Then I installed the Air SDK in /Applications/Adobe Flash Builder 4.7/eclipse/plugins/com.adobe.flash.compiler_4.7.0.349722
Also, I used the Apache Flex SDK installer to get the latest flex SDK to be used with Air SDK 18.
It seems to have installed fine
As you can see I've tried multiple versions. I also select the air version in my Flex Project compiler path.
I even tried overlaying the SDK in the Flash Builder SDKs folder.
Still, I always get the error when I try to set my app descriptor XML line to 18.0
<application xmlns="http://ns.adobe.com/air/application/18.0">
I can set it to 16.0 and the application will build.
<application xmlns="http://ns.adobe.com/air/application/16.0">
But then when I build, my app has a ton of UI problems. Spinners go crazy and tab bars, buttons, and layout all have problems. My app goes from looking like this:
To this:
I have no idea what to do.
Menu -> Clean Project ....
Next, rebuilding

Is it possible to start an Adobe Flex app on OS X with just the AIR runtime and the .swf

I know it is possible to run an Adobe Flex compiled .swf from the command-line using the adl command-line tool.
Is there an equivalent way to run a Flex .swf from the command-line using the system installed AIR runtime?
My question applies to OS X, but I'd interested to know about other platforms also.
UPDATE: This question is now somewhat obsolete. As of AIR 3, there is now an 'officially supported' way to bundle the AIR runtime with an application, using the 'captive runtime' deployment option.
I just tested to run an AIR app without the need to install the application.
Copy the following folders from your Flex SDK
bin
runtimes\air
as well as all files from your "release" (bin-debug) folder of your project.(Don't build a release build!).
now you can run the application with "adl app.xml".
Though there was AIR runtime installed on the PC I think it should be possible without it too.
The original question was a bit different though, maybe it's helpful anyway.
I say No! A SWF is not the same as an AIR application. If you take that SWF's code and compile it into an AIR application; then you should be able to install and run it independent of the browser or any development tools.
I suppose in theory you could create an AIR application where you give it the location of a SWF and use SWFLoader to load the actual SWF. I don't think that is quite what you're after.
There is a stand alone Flash Player which is different from AIR and different from the browser plugin. You can get it here. You can use that to run the SWF as if it were a local app. I wouldn't count on your users having that, though.
You can also load a local SWF in the browser and let the flash player plugin handle it.

Adobe Air 2.5 and AIR Debug Launcher (ADL) from AIR 1.5.3 SDK

I am having some issues with the differences between running my Air Desktop application with the ADL from within my IDE and actually running it as an packaged air application that is installed. Everything functions as it should in the IDE when run with ADL, but once it is packaged the drag and drop functionality no longer works correctly.
I was able to get this to work when Adobe Air 1.5 runtime was installed, instead of 2.5. I am aware that there were a lot of changes made with this last update, but I am unsure of how to proceed, as I am unable to debug the packaged air application to see what is actually happening.
One solution that I could see would be to install the Adobe Air 2.5 SDK and use that to debug with.
If anyone has any insight to why drag and drop works in the ADL and the runtime, your feedback would be much appreciated.
Also, I am using Flash Builder 4, with the Flex 3.5 SDK
If something doesn't work when compiled, it's usually because you've used a feature only allowed for natively packaged AIR applications. Try packaging it as a native file using this guide and see if it works:
http://help.adobe.com/en_US/air/build/WS789ea67d3e73a8b22388411123785d839c-8000.html
Essentially all you'll need to do is:
Check this line in your app.xml file and make sure it is uncommented and set to extendedDesktop like below:
<supportedProfiles>extendedDesktop</supportedProfiles>
and then on the command line call:
ADT -package -target native mynewfilepath/myFile.exe myfilepath/myFile.air
[ADT is found within your flex sdk folder.]

Flex - Air "nativeprocess not supported"

I want to fix the error when am using "nativeProcess" class it giving error, How to resolve the error.Any air installation failed?
According to documentation, NativeProcess is only supported with extendedDesktop profile via Native Installer
In clear text, you must have this in your appName-app.xml
<supportedProfiles>extendedDesktop</supportedProfiles>
And export your application as an .exe file (or whatever your system is), not an .air file.
I ran into such issue when i was using wrong adobe air sdk. As you know, native process support was introduced in 2.0 adobe air sdk. But i used Adobe Flash Builder plug-in for Eclipse, and Eclipse was pointing to 1.5. Manual replacement of air files in the sdk folder with ones in the Air 2 SDK and pointing Eclipse to the right sdk fixed the problem. See detailed description here:
http://www.selikoff.net/2010/06/28/installing-the-adobe-air-2-sdk-in-eclipse/
If you are using the appropriate air sdk, ensure that you've included "extendedDesktop" profile to the "supportedProfiles" section in your application descriptor file.
Are you running with needed privileges?
Did you do exactly as in this?
What kind of process you are trying to call?

How can I tell Flash Builder 4 where to look for FlashPlayer.exe

I uninstalled Flash Builder Beta 2 and installed the Flash Builder 4. I tried to import my new projects, but I keep getting a popup that says:
"
[path/to/Adobe Flash Builder Beta 2/FlashPlayer.exe]
Flash Builder cannot locate the required version of Adobe Flash Player.
Do you want to try to run your application with the current version?
Adobe Flash Player downloads"
I have a run config on a localhost server instead of generating the html wrapper. This only happens with imported projects, but I can't seem to find where in any of the config files the player location is specified.
I don't have a specific answer, but...
Instead of importing projects into a new workspace; have you tried using the same workspace? You can specify the workspace using the data argument when you launch Flash Builder:
flashbuilder.exe data="C:\something\something\something\workspace"
If that doesn't work, you can try to launch Flash builder with the '-clean' command line argument. I've found that fixes a lot of the issues I have.
Also check your SDK on the imported projects. Make sure it is not pointed at an old SDK from the beta 2 directory. After you change the SDK, be sure to clean the project.
Or if none of that works, re-create the project from scratch.

Resources