renpy / renpy-build

Build system for the Ren'Py visual novel engine. (The engine itself, not games.)
72 stars 50 forks source link

RAPT build improvements discussion #121

Open do10HM opened 6 months ago

do10HM commented 6 months ago

RAPT's Android builds are very under-the-hood. Developers have to run the build process, then find the gradle project and make changes in order to customize their Android app at all outside of Ren'Py.

I think there are a few simple changes that could really make things easier. I'd like to run these by the community before working on any. Many of these pull from Unity's Android support flow, which is excellent. I also want to make sure nobody's working on similar changes.

  1. Allow the user to specify an existing Android SDK directory via environment variable or param. This is a QoL improvement - I really don't want multiple Android SDK installs on my machine. There are also plenty of github and gitlab actions to install those SDKs so that would make things simpler for cloud builds.
  2. Allow users to export a gradle project, instead of an APK or AAB. This allows developers to finish the build in gradle and would make the workflow for devs who are implementing SDKs to not have to exit files in the Ren'Py install directory. The directory could be in the distributions folder, and during the copy phase could simply not overwrite files if they already exist.
  3. Anything that's in android.json should be injected at build time. I was so confused when I made a test android project, then made an android build for a project from github and it had my test project's bundle ID!