Android-SDK einrichten

Die SDK im Debian-Archiv ist (wie üblich) schrecklich veraltet, weshalb man nur die Originale von Google verwenden kann. Hierzu muss man die Datei commandlinetools-linux-…_latest.zip von Download Android Studio and SDK tools holen und in ein Verzeichnis entpacken. In dem Archiv ist der sdkmanager enthalten, mit dem man das eigentliche SDK installieren bzw. auch später aktualisieren kann.

console % wget https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip % unzip ~/Downloads/commandlinetools-linux-7583922_latest.zip -d ~/kein_Backup/android-sdk % ~/kein_Backup/android-sdk/cmdline-tools/bin/sdkmanager --sdk_root=$HOME/kein_Backup/android-sdk 'platforms;android-32'

Mit sdkmanager --sdk_root=$HOME/kein_Backup/android-sdk --list kann man sich die Liste der verfügbaren Pakete ansehen.

App bauen

Das Programm gradle im Debian-Archiv ist auch veraltet, weshalb man das Skript gradlew im Projekt verwenden muss. Mit gradlew tasks werden die möglichen Tasks (bei make wären das die Targets) aufgelistet, sodass man rudimentär prüfen kann, ob das System funktioniert. In diesem Schritt wird auch gradle installiert bzw. aktualisiert.

console % export ANDROID_SDK_ROOT=$HOME/kein_Backup/android-sdk % ./gradlew tasks

Mit gradlew bundle kann man das Android-Paket erstellen und sich ggf. den Inhalt des Pakets mit apktool decode -o /tmp/myapp app/build/outputs/apk/release/app-release-unsigned.apk entpacken und inspizieren.

Gradle und Kotlin aktualisieren

Die aktuelle Version von gradle lässt sich mit gradlew --version ermitteln. Auf Release-Webseite kann man sehen, welches die neuste Version ist und mit gradlew wrapper --gradle-version 7.3.3 auf diese umstellen.

Daraufhin sollten in build.gradle die Versionen für die Abhängigkeiten angepasst werden; die verfügbaren Versionen findet man bei Kotlin bzw. Maven:

buildscript {
    ext.kotlin_version = '1.+'

    dependencies {
        classpath 'com.android.tools.build:gradle:7.0.0'

Weiteres