Copy link to clipboard
Copied
This thread is for discussion of the 64-bit development build of AIR for OSX. This feature is currently not available on labs.adobe.com and is distributed privately for those developers that are interested in providing feedback. If you would like to help us test this upcoming feature (release date not announced), please drop a line to ccampbel@adobe.com.
Because this is on the bleeding edge, we're going to do something slightly different for bug reporting. For the time being, please post any bugs related to this feature (or these development builds) to this thread or via email (ccampbel@adobe.com). We're going to keep the bugs off of bugbase.adobe.com for the time being. We'll make sure to update everyone when this changes (which will probably be when this goes to the official beta on labs.) If your project/work needs to remain private, please feel free to send me the bug report and attachments in email and I'll make sure they get to the right internal people only.
Thanks and we're excited to hear what you have to say.
Copy link to clipboard
Copied
Some additional info : it is good to merge 32bit and 64bit "Adobe AIR.framework". But I think ADT should not check for Apple App Store to allow only universal applications for Mac OS, because not all Mac apps upload to Apple App Store. This is just my two cents. Thanks!
Copy link to clipboard
Copied
If it made the feature easier to do by making it work the same way for all Mac apps, it would be worth doing. You would end up with a slightly bigger app that has no benefit for 64 bit Mac users, but then again, the app might be more backward compatible. I know that not so many people are running 10.6.8, but if the Mac AIR apps were universal, they should still work for those users.
Copy link to clipboard
Copied
Could you shoot me an email (ccampbel@adobe.com)? We'd like to get ahold of your ANE project so we can reproduce internally. So far our QA team hasn't had any luck.
Thanks,
Chris
Copy link to clipboard
Copied
Sure, Chris! I will send to your email soon. Thanks!
Copy link to clipboard
Copied
Hi, Chris! First of all, sorry for the late reply. Secondly, I managed to track down the bug during preparing my ANE project to you. So, if I build ANE for Mac OS only (eg. /Tools/archive_air_19.0_desktop_withdrm_sdk_mac_64bits/bin/adt -package -target ane LibBluetoothPrint2.ane extension.xml -swc LibBluetoothPrint2Ane.swc -platform MacOS-x86-64 -C mac/ . -platform default -C default/ .) then it works fine. But I have the error mentioned if I build for other platforms (eg. /Tools/archive_air_19.0_desktop_withdrm_sdk_mac_64bits/bin/adt -package -target ane LibBluetoothPrint2.ane extension.xml -swc LibBluetoothPrint2Ane.swc -platform iPhone-ARM -C ios/ . -platformoptions platformoptions.xml -platform Android-ARM -C android/ . -platform Windows-x86 -C windows/ . -platform MacOS-x86-64 -C mac/ . -platform default -C default/ .). So, obviously this bug occured if I build Mac OS ANE together with iOS ANE.
Thanks!
Copy link to clipboard
Copied
Hello,
i've been developping native Extensions for Windows and Mac for several years now, and what's happening with this AIR 20 update is
Copy link to clipboard
Copied
HI Warty ,
Can you please explain your issue ?
Copy link to clipboard
Copied
Sorry, the forum won't let me update the previous thread... here is the full message :
Hello,
i've been developping native Extensions for Windows and Mac for several years now, and what's happening with this AIR 20 update is not acceptable. All my work for the last 3 years has just become unusable because of this update, and there has been no 32/64 bit cross compatibility version, i don't think it would be much effort to keep the 32 bit ANE working while we are updating them to support 64 bit.
That said, it would not be that dramatic if it was actually possible to build 64 bit ANE without invoking god. I just recompiled my ANEs (lots of them, and even created a new dummy one for testing on a clean setup) and none of them work anymore, as i get the famous "Extension context does not have method with name [...]"
And from what i saw online, nobody has actually made a working 64 bit ANE.
As i don't want to just write an angry letter, here's my research on the subject :
I downloaded dependency walker for osx to check if there could be dependency related issues that could break the initialization of the native code (i know this error can be caused by a missing library).
The dependency walker picks up several dependencies when opening the framework file compiled with XCode, all the dependencies seem to be there except one : libAdobeAIR32Bridge.dylib which should be located in /usr/local/lib
I looked there, as well as in /usr/lib and also in the SDK package and i can't find this file anywhere, and google doesn't know it as well.
So chris, do you have any idea about that or should i just switch to a programming language that won't destroy half of my work as a christmas present ?
Thanks and have a nice day,
Ben
Copy link to clipboard
Copied
HI Warty,
We are sorry for the inconvenience caused .
For Mac 64 bit issue ,Flash Builder and Flash Pro CC is giving the "Error #3500 Extension context does not have method with name xxx" when debugging/running the air project after linking the ANE .
This is because Flash Builder/ Pro CC is unable to locate or use the ANE .
We are aware of this issue and our Flash Pro team is working on it .
As a workaround you can follow below mentioned steps :-
Please let me know if you face any issue.
Copy link to clipboard
Copied
Hello,
thanks for the quick reply.
I'm actually using IntelliJ to compile and it seems that there is no such problem as the one you describe for Flash CC/Flex, but still i can't use the ANE. I will try to do a similar method for IntelliJ.
Also, when i'm exporting a .dmg, it doesn't work either.
Copy link to clipboard
Copied
I just tested with manual extraction of the ANE and launching from terminal (basically what IntelliJ does automatically i believe) but still no luck.
Best you can do for now is to roll a new update with 32 bit support in it, this 64-bit update, even if it's been a year since we asked for it, is really messy and absolutely not professional grade. I normally don't get angry but i have 10 native extensions and about 12 softwares that just stopped working because of this update, and clients as well as the community are asking why it's not working and when it will work again, and i can't tell them anything, so i hope you understand the consequences of the decisions you take.
Copy link to clipboard
Copied
HI Warty ,
it will be very helpful if you can send us your project so that we can can debug the issue at our end .You can email the project at nitanwar[@]adobe.com
Copy link to clipboard
Copied
Thanks, Nitanwar for your temporary solution, but unfortunately it does not work!!!
1) I created new folder META-INF/AIR/extensions/ under bin-debug, then unzip ane and copy everything (META-INF folder, catalog.xml, library.xml, mimetype) to this folder... I cannot find any com/adobe/extension folder in ane, but then I also create folder com/adobe/extension then copy everything in ane to this folder too.
Then I run "/Applications/Adobe Flash Builder 4.7/eclipse/plugins/com.adobe.flash.compiler_4.7.0.349722/AIRSDK/bin/adl" -runtime "/Applications/Adobe Flash Builder 4.7/eclipse/plugins/com.adobe.flash.compiler_4.7.0.349722/AIRSDK/runtimes/air/mac" <path of app.xml>app.xml
ERROR MESSAGE: Not supported native extensions profile
2) And I also trying to export release build in Flash Builder 4.7, it cannot be build because Native Extensions tab ERROR with "Native extensions are being used in the project but are not supported by the AIR package type. Runtime issues can occur".
Any clue to solve both issues above?
(BTW, the only good news is I'm able to compile iOS Android Windows and Mac 64bit into one ANE.)
Copy link to clipboard
Copied
HI seasonw ,
Please find the answers to your queries :-
Please let me know if this solves your issue .
Copy link to clipboard
Copied
Thanks for your reply, Nitanwar!
1) I have tested again with unzipping contents of ANE to bin-debug/META-INF/AIR/extensions/com.adobe.extension, but still no clue, same error message: Not supported native extensions profile.
2) In Export Release Build, there is no way I can checked on Package and Ignore errors, because it is all disabled.
BTW, I'm using Adobe AIR SDK 20.0.0.233, MacOS X 10.9.5.
Thanks in advanced.
Copy link to clipboard
Copied
HI seasonw ,
Just wanted to confirm have u set the profile as "extendedDesktop" in the app.xml ?
Copy link to clipboard
Copied
Is there anyone who was able to build ANE for Mac 64bit that is working?
We just moved to AIR 22.0 and our ANEs are failing even after making the trivial changes in the descriptor/build etc.
We keep getting the notorious #3500 error.
Any help is appreciated.
Copy link to clipboard
Copied
I have.
Please see this small xcode project.
GitHub - tuarua/LibHelloWorldANE64-master: Hello World Adobe AIR 64bit ANE
Have built this larger project.
These are in C/C++. I saw some people may be having trouble with projects written in ObjectiveC
Copy link to clipboard
Copied
Hi guys,
I'm the developer of Beyond Reality Face. A face tracking SDK for Flash/AIR. Until now the BRF ANE was only compiled to work on iOS and Android, which worked without problems.
Now I wanted to also include Mac and Windows, since it's all C++ anyway.
This #3500 error drove me nuts, too. So I took el111's simple ANE project, reduced it down to 2 files and the most simple setup for C++, you still can get rid of a lot of things in there for my needs. Then I tried 3 days everything, compared every Xcode setting, every AIR setting etc. Nothing, every time I got #3500. When I compiled his ANE it worked without problem, compiled my one -> #3500
Then I compared the Xcode outputs. His framework looked like this:
LibHelloWorldANE64.framework
> (actual binary) LibHelloWorldANE64
> Resources
>> Info.plist
> Versions
>> A
>>> (actual binary) LibHelloWorldANE64
>>> Resources
>>>> Info.plist
>> Current
>>> (actual binary) LibHelloWorldANE64
>>> Resources
>>>> Info.plist
My framework looked like this:
BeyondRealityFaceNxt.framework
> (symlink) BeyondRealityFaceNxt
> (symlink) Resources
> Versions
>> A
>>> (actual binary) BeyondRealityFaceNxt
>>> Resources
>>>> Info.plist
>> (symlink) Current
So I unzipped my ANE, found my framework in META-INF/ANE/MacOS-x86-64 and changed its content to:
BeyondRealityFaceNxt.framework
> (actual binary) BeyondRealityFaceNxt
zipped the
catalog.xml
library.swf
META-INF
mimetype
to BRF_NXT_v3.0.16.ane again, tried it, and it worked.
I hope this might help someone else, too.
Has anyone a clue how to tell Xcode not to create those symlinks and instead put the actual binary in the top layer of the framework?
Copy link to clipboard
Copied
I have to corrent myself.
The actual Xcode output of el111's project includes also the symlink structure, but his compiled ANE file (once unzipped) includes a framework where all symlinks where replaced by the actual files.
Need to find out why this is the case.
Copy link to clipboard
Copied
And found it.
It's actually the copy command in his build script that removes the symlinks:
cp -R -L "$pathtome/../../native_library/mac/LibHelloWorldANE64/build/Release/LibHelloWorldANE64.framework" "$pathtome/platforms/mac/release"
So... resolution is to copy the Xcode built framework to another folder with cp -R -L to remove the symlinks and replace them with the actual files. Once that's done the ANE works as expected.
Hope that helps anyone.
Cheers
Marcel
Copy link to clipboard
Copied
Glad you got your ANE working. IIRC I found that 'trick' of copying the framework and stripping the symlinks on an old post somewhere.
I may add a note to the github repo explaining such.
Copy link to clipboard
Copied
Hello,
I also, it to the Mac project that contains the ANE that worked is, after updating to AIR20, now # 3500 error.
I have the procedures in this blog as a reference, but there are some questions.
http://blogs.adobe.com/flashplayer/2015/12/air-64-bit-on-mac-osx.html
Q1:
Native extension descriptor for 64bit, the three tags (nativeLibrary, initializer, finalizer) is outside of applicationDeployment tag.
When I created the ANE file, in this description, it became in the following error.
error 103: extension.platforms.platform.nativeLibrary is an unexpected element / attribute
the contents of the blog is correct?
Q2:
In AIR20, the extension.xml, I wonder if you need to specify both the MacOS-x86-64 and MacOS-x86?
Or, what's good at MacOS-x86-64 only?
If both it is necessary, or native code to be placed in the MacOS-x86 wonder may be a build of 32bit version?
Q3:
Although it is not mentioned Blog, 64bit version of native code extensions, if you do not want to change the architecture on XCode, result in an error.
The designation of the modified architecture, or no problem at Standard Architecture (64-bit Intel) (x86_64)?
Q4:
I have tried the contents of the answers to Warty, it did not work.
You have answered "To obtain the com.adobe.extension folder unzip the .ane file.".
However, unzip my ANE file, the four files and folders (META-INF folder, category.xml, library.swf, mimetype) appears.
Previously it had been operating in this configuration, I wonder 64bit version ANE not be created correctly?
thx.
Copy link to clipboard
Copied
HI daisuke nakagawa,
Please find the answers to your queries :-
Copy link to clipboard
Copied
Thanks for your reply, Nitanwar.
In my project, I was not specify up to AIR19 32-bit intel (i386).
In AIR20, if I have to add the adobe AIR_64 to the project, a number of link errors occur in the above configuration.
Ex) Undefined symbols for architecture i386: "_FREAcquireByteArray"
This error can be eliminated and by changing the architecture.
In other words, "Standard Architectures (64bit-intel) (x86_64)" or, "Universal (32/64-bit intel) (x86_64, i386)" or, in the build machine native "64-bit intel (x86_64)".
Please tell me the correct whether it is to set the how.
---
In my project, I have been able to ANE debugging in Flash Builder 4.7 to AIR19.
I specified extendedDesktop option in debugging environment, and -extDir option of unzipped ANE file path.
However, even in the debug run, even in the execution of installing the release build, # 3500 error occurs in the method invocation of native code.
Please tell me What is this can be solved if.
I went the following operations in the transition from AIR19 to AIR20.
In the Flash Builder 4.7:
・AIR20SDK by unzip and was overwritten flexSDK4.6.0 folder where you unzip in the same way.
・In sdk folder of Flash Builder 4.7, it was placed flexSDK folder above.
・The "Installed Flex SDK" property of Flash Builder 4.7 it was changed to the above folder.
・The properties of the "Installed AIR SDK" of Flash Builder 4.7, it switched to AIR20 SDK with compiler.
・And, I have to build the ANE interface library(swc).
In the native project on XCode7.1.1:
・Add adobe AIR_64 framework to the project.
・The architecture on XCode was build a .framework file by changing to Standard Architectures (64bit-intel) (x86_64).
・The "MacOS-x86" platform of extension.xml, it was changed to "MacOS-x86-64".
・The xmlns of extension tag of extension.xml, to change to "http://ns.adobe.com/air/extension/20.0".
・And, I have created a .ane file in adt command.
In the Flash Builder 4.7 again:
・The xmlns of app.xml of AIR application, to change to "http://ns.adobe.com/air/application/20.0".
・In replacing a .ane file and place the folder where you unzip for debugging.
・And, I have to build the AIR application.
thx.