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
- Versionen von Abhängigkeiten:
gradlew dependencies app:dependencies