• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
Locked
0

Removing air prefix from package name.

Guest
May 24, 2013 May 24, 2013

Copy link to clipboard

Copied

So I don't want to upload my apps to the google play and iOS stores with the "air." prefix on their package names. I've seen a guide to do this here, but it seems to be very error-prone. Now, on stack overflow, there was one answer to this question (here) that mentioned a much simpler method: set the environment variable AIR_NOANDROIDFLAIR to true and export your app.

So I've set this variable on mac and tried exporting an app, but it remains with the air prefix. I tried looking around the web to see if I was following the advice correctly and found that environment variable trick mentioned only on two stack overflow answers. Is that thing legit?

My publishing setup is mac with adobe flash builder 4.6, if this helps. I'm used with exporting apps via the "Export Release Build" button.

TOPICS
Development

Views

9.8K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jun 18, 2013 Jun 18, 2013

Copy link to clipboard

Copied

I'm having the same problem. Setting the environment variable doesn't seem to be working. I'm trying to upgrade my old application to an AIR based one, but I can't because the package names have to be the same!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 24, 2013 Jul 24, 2013

Copy link to clipboard

Copied

I am having the same exact issue!

I developed an app for Android a while ago using just the basic native Android SDK, so of course there is no ".air" prefix. But since then I've started using the AIR platform and have completely redeveloped my app using AIR/Flash Builder 4.7 and there is no clear way to remove the ".air" prefix.

I can not update my app until Adobe addresses this issue. It is no longer nessisary to have the "air." prefix due to the captive runtime.

I found an awful long solution involving basically dismantalling the .apk file and repackaging it. But the workflow of this is an absolute mess to have to go through for every single update. In the iphone debug exporter there is a field to modify the package name that is visible in Flash Builder 4.7. Why can't that just be part of the Android release build export process that way I can easily remove the "air." prefix.

Adobe is making it really hard to switch over to using the AIR platform from developing with the native Android SDK.

I've also had trouble figuring out the 'AIR_NOANDROIDFLAIR' to true fix. Has anyone had any luck with getting this to work on a Mac? Would you mind posting how you went about setting that?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jul 24, 2013 Jul 24, 2013

Copy link to clipboard

Copied

I found that AIR_NOANDROIDFLAIR only works when you have your app set to use a captive runtime. Try that and let me know if it works for you.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 24, 2013 Jul 24, 2013

Copy link to clipboard

Copied

Yeah, captive runtime is not an issue, it's actually what I'm already doing. It's just my lack of understanding how to actually set this "AIR_NOANDROIDFLAIR" on the mac.

Would someone mind explaining the best way to go about "setting" this variable? You'd save this project. It's unfourtunate Adobe just can't make this optional. Especially if you're doing a captive runtime.

I just NEED to remove it so I can update my app in the Android market.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jul 24, 2013 Jul 24, 2013

Copy link to clipboard

Copied

open a terminal window and type

export AIR_NOANDROIDFLAIR=true

If it doesn't work first time out, try rebooting.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 24, 2013 Jul 24, 2013

Copy link to clipboard

Copied

Ah ok, well sounds simple enough. I tried what you've said, but no luck. Just did what you said above, then also I typed just "export" in the terminal and I saw declare -x AIR_NOANDROIDFLAIR="true" so I think that must mean It took the information I gave it.

But it is still adding the ".air" prefix to the package name. I'm definitly doing a captive runtime. I've also tried after a computer restart. no luck.

I'm using Flash Builder 4.7 any ideas how I can tackle this? It would be such a great help!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jul 25, 2013 Jul 25, 2013

Copy link to clipboard

Copied

Can you try building yourself a packager using the Air SDK?

Make a file called "packer.sh" into which you put something like

path_to_sdk/bin/adt -package -target apk-captive-runtime -storetype pkcs12 -keystore cert/Your_Android_Cert.p12 -storepass YOUR_STORE_PASS YOUR_OUTPUT.apk application.xml -C PATH_TO_YOUR_FILES . -C PATH_TO_YOUR_ICONS . -extdir PATH_TO_YOUR_ANEs

Then in a terminal window run

./package.sh

I just did a test using the latest Air 3.8 beta and was able to get "com." instead of "air." as the 1st part of my bundle ID.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 25, 2013 Jul 25, 2013

Copy link to clipboard

Copied

Interesting, it might be the AIR version...

I have AIR 3.8 and I use it in my newer apps. But this particular one was built using Flex Mobile and the Apache Flex SDK just came with AIR 3.4

I used https://flex.apache.org/installer.html to install it yesterday

Maybe if I just overlay AIR 3.8 over the Apache Flex SDK it might work. I just wasn't sure if Flex needed AIR 3.4 or something and it wasn't compatable with 3.8. I thought there could be a reason they included 3.4 and not 3.8.

I'll try this, then you're idea first chance I get later tonight.

Thanks a lot for the help this issue has been driving me insane. I'll report back soon.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 25, 2013 Jul 25, 2013

Copy link to clipboard

Copied

Alright so I bet I just ran into entirely new issue all together... If anyone has any tips it would be greatly appreciated.

So this is an old flex mobile app I'm trying to make a release build of that doesn't have the ".air" prefix in the package name.

I'm using FB 4.7 and the apache flex sdk download you can get here: https://flex.apache.org/installer.html

So, the thing is even though I downloaded it yesterday It seems to come with Adobe AIR 3.4 but I think in order for this fix to work I need to have 3.8

So.... then I went and downloaded the AIR SDK for Mac WITHOUT the new compiler, you'll  see the special Flex link below here: http://www.adobe.com/devnet/air/air-sdk-download.html

I then overlayed the Air SDK over the SDK the flex downloader put together for me... I copy+pasted the folder and said "keep newer" that seemed to be the best way to do it I could find online...

So now my issue is that when I set the namespace to 3.8 I get a compile error saying "error 102: Invalid namespace http://ns.adobe.com/air/application/3.8"

BUT when I set the namespace back to 3.4 now it get an error telling me that I need to set the namespace to 3.8.... but when I do that it says I get that error...

So what's going on here? Has anyone know what I'm doing wrong?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 27, 2013 Jul 27, 2013

Copy link to clipboard

Copied

Ok please ignore my last post. I've successfuly updated ApacheFlexSDK to AIR 3.8. So that's no longer an issue.

But, It is still including the "air." prefix. Could this be becauase it's using the old compiler?

I'm using the "Flex version" that can be downloaded by clicking the links below the yellow buttons on this page

http://www.adobe.com/devnet/air/air-sdk-download.html

if I type "export" in the terminal I'm able to see and confirm that the variable is set. Man why does Adobe have to do this to us for switching to their platform from developing with the old native sdk

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 11, 2013 Aug 11, 2013

Copy link to clipboard

Copied

Were you able to figure this out? I think I've set the variable but I'm still exporting with the "air."

I'm using Flash Builder 4.7 and the Apache Flex SDK with AIR 3.8.

Is there any reason this wouldn't work? How can I confirm if i set the variable correctly on my mac?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Aug 25, 2013 Aug 25, 2013

Copy link to clipboard

Copied

i've done this tool for removing air. from the package name https://bitbucket.org/es2ws/remove-air-from-package-name-and-ios-metadata/overview and if you want you can test it is very "new" and is not tested on many applications but it works on mine i hope to help you

You will need to have ant and just to follow the readme that i put and everything should be ok (i hope). If you have any problems just ask i hope i can help you

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Aug 27, 2013 Aug 27, 2013

Copy link to clipboard

Copied

The AIR_NOANDROIDFLAIR trick works just perfect.

Open a command prompt window to the Air SDK lib folder and paste: set AIR_NOANDROIDFLAIR=true

type just "set" (without quotes) again and see if the displayed list shows AIR_NOANDROIDFLAIR=true

It's important, that you are not closing this window! Use this command prompt window to compile your app: java -jar adt.jar -package -target apk-captive-runtime.............

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 27, 2013 Aug 27, 2013

Copy link to clipboard

Copied

Hey Wolfgang Klopf I did exactly as you said, and when I upload the .apk it makes to Google play I'm still getting an error telling me the package name isn't correct and then I verify It's actually still adding the .air. Could this be because I'm using the Apache Flex SDK?

I might be stuck trying to figure out your solution es2ws. It's just that I'm not really understanding what I downloaded off of your site. I found the build.xml in the android folder when I downloaded the zip, and It makes sense where I could update the directories to work with my computer.... But after all that I'm not sure where I should actually place the build.xml and then what I should run in the command prompt to actually make it do its thing. Mind explaining? Or pointing me to a guide that would show me how to use this thing? I'm on on a Mac (10.7.5)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Aug 28, 2013 Aug 28, 2013

Copy link to clipboard

Copied

I don't think you are going to have any luck with this compiling with Flash Builder. You need to package from the command line. It appears that on a mac, as Worlfgang points out, you need to

Open a command prompt window to the Air SDK lib folder and paste: set AIR_NOANDROIDFLAIR=true

type just "set" (without quotes) again and see if the displayed list shows AIR_NOANDROIDFLAIR=true

And in this same window run a compile command like

path_to_sdk/bin/adt -package -target apk-captive-runtime -storetype pkcs12 -keystore cert/Your_Android_Cert.p12 -storepass YOUR_STORE_PASS YOUR_OUTPUT.apk application.xml -C PATH_TO_YOUR_FILES . -C PATH_TO_YOUR_ICONS . -extdir PATH_TO_YOUR_ANEs

Flash Builder will have compiled your SWF already, so you don't need it to make an APK

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Aug 28, 2013 Aug 28, 2013

Copy link to clipboard

Copied

Also if everyone thinks this important, please vote for this to be changed over @

https://bugbase.adobe.com/index.cfm?event=bug&id=3600917

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Aug 30, 2013 Aug 30, 2013

Copy link to clipboard

Copied

i've never try to set AIR_NOANDROIDFLAIR=true is possible to work but i can't tell is it works or no but i test mine ant script and it works for me. And is tested on air 3.8.

it's not tested on mac because i'm on windows and you will need android sdk because i use lot of .exe from there but pritty sure that mac doesn't have it 😕 and sorry about that.

otherwise if you are on windows:

you need to copy somewhere the whole ant thing you will need ant if you doesn't have http://ant.apache.org/ and configure build_config.properties than you can go to android folder ant type "ant doEverything" without quotes and if everything is successfull you will have final_***.apk with removed air. from package name.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jul 17, 2015 Jul 17, 2015

Copy link to clipboard

Copied

LATEST

I just ran into this issue when adding my app to the Google Play Store.

I found a thread that worked for me, but I am using Windows 8.1.

1. Right click the start button and choose > System.

2. Then > Advanced system settings

3. Button at the bottom > Environment Variables

4. I created both a user and system variable

  • Name: AIR_NOANDROIDFLAIR
  • Vale: true

I then rebooted just to be sure.  Opened my mobile project and released an export build from within Flash Builder.  The air. prefix was gone.
http://www.wikiguga.com/topic/89b9e27bf1ee2e0c0cfb239df4292550

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines