libGDX Update

Wie ich sehe hat es vergangenes Jahr bereits ein Update von libGDX gegeben. Zeit auch dem Framework von Argh! Earthlings! einer Frischzellenkur zu unterziehen.

BadLogicGames bietet libGDX 1.9.10 an. Es soll einige Fehlerbereinigungen und neue Features beinhalten. Mich interessert lediglich, ob einige nervie Bugs behoben wurden, die in Verbindung mit Grafikberechnungen stehen.

Um überhaupt erst das libGDX-setup.jar starten zu können, brauche ich Java. Ein JRE ist u.a. mit Android Studio installiert. Ich habe mir aber weniger die Mühe gemacht es zu suchen und libGDX Setup auf der Kommando-Zeile zu starten. Stattdessen habe ich Amazon Corretto 8 installiert, was gleichwertige Funktionen wie andere OpenJDKs liefert und den jar Dateityp am System bekannt macht. Damit genügt nur ein Doppelklick, um das Setup zu starten.

Sind die gewünschten Einstellungen erledigt, sollte der Klick auf "generate" ein passendes Projekt anlegen. Darin sind die Default-Settings um sofort durchzustarten. Doch leider braucht das Setup noch weitere Vorbedingungen. Es erscheint folgende Meldung:

Please update your Android SDK, you need build tools: 29.0.2

Also wird zunächst ein Update von Android Studio von 3.1 nach 3.6.3 zu bringen. Dank der guten Integration ist das Update innerhalb von Android Studio schnell erledigt. Veraltete und fehlerhafte EInstellungen bemängelt dabei die IDE automatisch und bietet oft Optionen an.

In meinem Fall bemängelt die IDE, genauer Gradle, dass das Attribut classesDir nicht mehr zur Verfügung steht.

A problem occurred evaluating project ':desktop'.
> Could not get unknown property 'classesDir' for main classes of type org.gradle.api.internal.tasks.DefaultSourceSetOutput.

Die Lösung ist schnell gefunden. Es heißt nun classesDirs statt classesDir.

Auf ein Neues:

Trotz der zahlreichen Updates bemängelt das libGDX-setup.jar ein Android SDK 29.0.2

ARGH!

Um das Update von libGDX auf 1.9.10 dennoch umzusetzen kann man alternativ das gradle.build Script anpassen. Das klappt auch ganz gut, nur bleiben restliche Veränderungen beibehalten, sodass mit der Zeit jede menge Dead-Code angehäuft wird.