airsdk / Adobe-Runtime-Support

Report, track and discuss issues in Adobe AIR. Monitored by Adobe - and HARMAN - and maintained by the AIR community.
206 stars 11 forks source link

armv7 in AIR33 #142

Open pbranco-magikbee opened 5 years ago

pbranco-magikbee commented 5 years ago

Hi,

I'm using AIR SDK 33 and vscode-as3mxml to package an iOS ipa. Checking the architectures inside, there's only arm64, and no armv7, so does not run on older devices. Does AIR 33 drops support for universal binaries ?

ajwfrost commented 5 years ago

Hi - yes, sorry I thought there was another issue already opened on this but can't find it.. We had pulled in some changes that were for the MacOS 10.15 update to ensure we only used 64-bit binaries, but for some reason this also included an update to only use 64-bit in the packaging! so we have reverted those particular changes, we have an updated adt.jar file that will work properly to support the multi-architecture IPA files.. Will release this soon, if it's urgent please email adobe.support@harman.com

pbranco-magikbee commented 5 years ago

Yeap, I could not find that issue anywhere. Yes I updated to air 33 because of MacOS 10.15 update precisely.

Great, I will wait for that update meanwhile I can work with arm64. Thanks !

ajwfrost commented 4 years ago

Fixed now in the latest release which is on the website 33.0.2.315.

pbranco-magikbee commented 4 years ago

Great ! Txs

bug29 commented 4 years ago

I have a Question. I have AIR SDK 33.0.2.330 and I've succeeded to build APK with x64. I've set -arch = armv8, too. But, how can I build APK with x64 and x86 at once for Android? If I apply the x64 version, it does not appear to be installed on an old fashion device that supports x86. I want to support x64 and x86. In other words, I'd like to distribute x64, x86 all. What can I do?

ajwfrost commented 4 years ago

For Android you need to create multiple APKs - one for each of the architectures that you want to support (for most people this will mean armv7 and armv8). Then you upload both of these for the same application to the play store in order to support the full range of (ARM-based) devices.

Please see our release notes for further details, section 6: https://airsdk.harman.com/assets/pdfs/Release_Notes_AIR_SDK.pdf

ajwfrost commented 4 years ago

Going back to the original issue here though. where the problem was on iOS that the IPA only created the ARMv8 package and didn't also include the ARMv7: this is fixed now in the latest release (33.0.2.330) and we're about to release 33.0.2.338 which will fix it properly for Catalina users too. The outstanding iOS problem is then the one referenced above where we can't always connect to/install IPA files onto iOS13 based devices, that one is still in progress.

@pbranco-magikbee are you able to check that the latest release works for you with the vscode-as3mxml extension, generating the appropriately formatted IPA file? If so, it would be great if you could close down this issue.. Thanks!

pbranco-magikbee commented 4 years ago

Hi, I've been compiling for 64 architectures, so I didn't check. Meanwhile I got hold of arm7 device and is still the same thing... the adt outputs: Installation Error: IncorrectArchitecture.

I'm using version AIR 33.0.2.338

Checking the architectures inside the ipa (oh well I guess I could have done that before) it just includes Mach-O 64-bit executable arm64

ajwfrost commented 4 years ago

Hi - what OS/version are you using to do this? thanks

pbranco-magikbee commented 4 years ago

macOS 10.15.1

ajwfrost commented 4 years ago

So yes, on that version we’re unable to run the binary that generates the ahead-of-time compiled version of the ActionScript code in 32-bit format due to Apple’s ban on 32-bit apps.

To support older (32-bit) devices, you’d need to build using an older version of macOS (or Windows) which allows the 32-bit AOT compiler to run.

Thanks

pbranco-magikbee commented 4 years ago

I'm confused now, was not the point of the last release to make it work ?

and we're about to release 33.0.2.338 which will fix it properly for Catalina users too.

ajwfrost commented 4 years ago

Yes but it can only work within the limitations of the OS. So the SDK will now work out which version of macOS it’s running on and will only call the 32-bit compiler if it would work on that computer.

This is just a limitation of how the AOT compiler works I’m afraid.

pbranco-magikbee commented 4 years ago

So what is the combination of AIR and Mac OS versions that are still able to create a fat binary ?

Oldes commented 4 years ago

The version before Catarina.

Dima107 commented 4 years ago

I have same issue. I backed to macOS mojave. I can build universal apps now. But AIR SDK 33.1 was released. I'm still use Mojave and I don't update macOS because of this issue

Did someone check this issue on macOS catalina? Was this issue fixed in 33.1?