The first update of Delphi 12 Athens  (Delphi 12.1) has just been released. There’s been plenty of changes, and this article takes a look at just some of them. Codex has also been updated to support the new version of Delphi.

Android

Newer JDK support

Delphi 12.1 now has Eclipse Temurin OpenJDK 17 as the default, and I recommend that you install this version, as compiling may fail with the older JDKs. I’m not sure what the minimum requirement is.

Build Process

The last remnants of the old build process have been swept away, and that means that the SDK settings have also changed substantially.

Note that all of the build-tools related settings have disappeared. This is because Delphi now uses tools in the bin\Android folder in the Delphi install:

  • aapt2-8.2.1.exe: for packaging of resources, now including when the build type is Development (as well as Application Store)
  • packager-1.0.0.jar: for packaging and signing of apk files (aab files are bundled with bundletool-1.15.6.jar). This tool contains Google’s zipflinger and signflinger libraries, which are used to make the process all happen in one step.

“Dexing” and merging of dex files now happens at deployment time, so compile times have been reduced. The dex process also incremental, i.e. it occurs only when the files are considered to be out-of-date.

API level 34 (Android 14) support

The changes in the build process have contributed to support for API level 34, so Delphi is ahead of the deadline (August 31st, 2024). The IDE also makes targetSdkVersion attribute a value of 34 by default. Unfortunately, if you want to set it lower, you still have to do so manually.

IDE

Split editor windows

The IDE now supports split editor views: multiple editors side by side, above and below each other, or a mix, all in the same window. This includes dragging entire sets of tabs out to floating windows and back into the IDE.

Other additions/improvements

There are quite a number of other changes in Delphi 12.1 – this is a very substantial update. If you’re interested in what else has changed, or more detail about changes described in this article, please see the official blog post.

Codex 2.2

Codex has been updated to support the changes in the Android build process. When using Delphi 12.1, the Add Android Package feature will now build the Java library (jar file) containing the R classes using aapt2 that is installed with Delphi 12.1.

There are other changes and fixes in Codex 2.2 – please see the change log in the readme for details.