gio-plugins icon indicating copy to clipboard operation
gio-plugins copied to clipboard

Consistent build tooling for Android and iOS

Open gedw99 opened this issue 1 year ago • 4 comments

It’s hard for a dev to correctly setup their Android and iOS tooling to be able to build and run the simulator.

I have used many different approaches.

https://github.com/worldiety/goup is something I have used in the past.

it’s broken at the moment but its a minor break.

It’s designed for gomobile but can easily be used for gio with some tweaks.

It puts all the huge tooling into 1 folder that is isolated. These are : java, android sdk manager, and manager, etc

This ensures it does not break or mess with any other Android or iOS tooling you have installed already . It then exports the path to those tools so your other tooling like GIO cmd can use it.

You can see the exporting here: https://github.com/worldiety/goup/blob/master/goup.go#L316

So a bit of golang wrapping this can do a gio build and simulator for Android , iOS.

“ Gioup “

I am thinking about extending it to work for gio.

gedw99 avatar Jun 11 '24 02:06 gedw99

I don't have any proper opinion about that.

In the past, I used to use Windows, and then SSH to macOS for compilation (with a network-drive mounted), and I have the same process for Android. So, I have one Linux VM and one bash script, since it's network mounted, all system have the same path. Of course, upgrading golang and so on is quite manual, and Android SDK is easier with sdkmanage CLI.

Having multiple Java versions isn't a big deal, you can just reorder your PATH, or create one script for that. My recent issue was due to D8, which is now compiled by Java 11, ironically. Android SDK can be anything, and usually you should use the latest one.

For Windows build (which generates one MSIX) it's more complicated, it not only requires one Windows machine, but we also use a commercial software (Advanced Installer). The macOS also lacks the pkg/dmg installer.

inkeliz avatar Jun 12 '24 17:06 inkeliz