YoYoGames / GameMaker-Bugs

Public tracking for GameMaker bugs
24 stars 8 forks source link

[Mac IDE - Android] Creating an .aab file creates an .aab.aa.apk file instead #7981

Open Schwarzgamescom opened 1 week ago

Schwarzgamescom commented 1 week ago

Description

When I'm trying to create an android executable and want to make it a .aab file the resulting file ends up to be a .aab.aa.apk file, which cannot be uploaded to the Google Play Console. I'm working on Mac, I can only guess that this bug doesn't happen on Windows.

Steps To Reproduce

  1. Open any project.
  2. Choose Android as the Platform (VM/YYC doesn't matter)
  3. Create exetubable and change the file name to *.aab
  4. The created file has the name *.aab.aa.apk

Which version of GameMaker are you reporting this issue for?

IDE v2024.8.1.171 Runtime v2024.8.1.218

Which operating system(s) are you seeing the problem on?

Mac 15.0.1

Which platform(s) are you seeing the problem on?

Android

30a6cf3b-d646-435b-8e02-872e4297bdc0

Schwarzgamescom commented 1 week ago

Btw changing the file name manually afterwards doesn't work.

stuckie commented 4 days ago

Hello,

I cannot seem to reproduce this at all... though there are some oddities with the report package attached. There's a giant ui.log in there that is 402mb gzipped, and extracts to a spectacular 12gb The compile log itself also appears slightly incomplete and has a few worrying errors...

The compile log should state what it's generate; for instance you should be able to find the lines:

Check GML functions Licensing DoSplash DoIcon Creating APK /Users/scampbell/Endless Runner Template_1.aab for arch ARM64 3 Copying /Users/Shared/GameMakerStudio2/Cache/runtimes/runtime-2024.8.1.218/android/runner/ ....

In your log, it's out of order, and there is no line saying what it is creating. Additionally, your log is peppered with fcntl(): Bad file descriptor which suggests multiple things are trying to write back, and would explain the somewhat out-of-order compile log.

You haven't attached a project, so I can't verify what android settings you were using, however I have just tested this with a fresh install of Android Studio on both Windows and macOS, with SDK 34 and NDK 28 and both do create .apk and .aab correctly.

Could you verify what sdk settings you are using? And if you do get the Creation line in your compile log when building a package?

stuckie commented 4 days ago

Actually, it seems that it might be to do with the macOS version - I'm testing on Sonoma 14.6.1 - so will get that updated and get back to you.

Schwarzgamescom commented 4 days ago

I started seeing all these "fcntl(): Bad file descriptor " lines some GM versions ago when compiling Android YYC, no matter which project. That's not nice, but there were also no problems with the resulting .aab files; everything worked, so I started ignoring this "problem" which was not really a problem for me. So it might not be related to the .aab.aa.apk problem.

When I compile Android VM I do see the lines in the output you mentioned and even there the file ending is wrong:

Check GML functions
Licensing
DoSplash
DoIcon
Creating APK /Users/myname/Desktop/Test.aab.aa.apk for arch ARM64
3

When I compile Android YYC I can't find that line.

I installed SDK 35 and NDK 27.0.12077973 on Android Studio Koala Patch 2, precisely as in the required SDKs guide.

Right now after some testing I noticed something that might hold the conclusion to this problem: When I press the button "Create Executable" a finder popup opens where I can rename the file and choose its location. In a test project the default file name is always "Test.apk". Now I have two options to change this name to be a .aab file.

  1. I rename the file in the "Save As: " line myself. This results in a compiled file with the name Test.aab.aa.apk.

  2. I click on another file in the destination folder which has for example the name "Test.aab". The name for the file that is about to be created and is shown in the "Save As: " line will change to "Test.aab" as well, as the name of the existing file I clicked on, gets reused. But if I hit now enter I am asked if I want to override the existing file. If I agree and compile now the resulting file is a correct .aab file.

So the cause of the problem might be hidden in that finder popup window somehow.

I even uploaded a correct .aab file to the Google Play Console and it seems to work.

stuckie commented 4 days ago

I've just finished upgrading my mac, and I can absolutely confirm that it happens in Sequoia but not in Sonoma. That is utterly bizarre. I'll have a better look in the morning as to what it's doing.

We're not going mad, macOS is!