Difference between revisions of "Android - Android with FPCUPDeluxe/de"
(Created page with "== Android und Lazarus unter Linux Mint == Wer unter Linux mit Lazarus nach Android kompilieren möchte muss einiges an Einstellungen vornehmen. Ich habe es ausschließlich un...") |
|||
Line 1: | Line 1: | ||
− | + | = Android und Lazarus unter Linux Mint = | |
+ | |||
+ | == Voraussetzungen == | ||
+ | |||
+ | Ein eingerichtetes FPCUPDeluxe [[fpcupdeluxe/de|FPCUPDeluxe]] | ||
+ | |||
Wer unter Linux mit Lazarus nach Android kompilieren möchte muss einiges an Einstellungen | Wer unter Linux mit Lazarus nach Android kompilieren möchte muss einiges an Einstellungen | ||
vornehmen. Ich habe es ausschließlich unter Linux Mint 19.3 Cinnamon 64bit getestet. Zuerst in | vornehmen. Ich habe es ausschließlich unter Linux Mint 19.3 Cinnamon 64bit getestet. Zuerst in | ||
einer Virtualbox Version. | einer Virtualbox Version. | ||
− | + | === Quellen === | |
− | https://forum.lazarus.freepascal.org/index.php/topic,40750.msg281604.html#msg281604 | + | * https://forum.lazarus.freepascal.org/index.php/topic,40750.msg281604.html#msg281604 |
− | https://forum.lazarus.freepascal.org/index.php/topic,38777.msg264419.html#msg264419 | + | * https://forum.lazarus.freepascal.org/index.php/topic,38777.msg264419.html#msg264419 |
− | https://wiki.lazarus.freepascal.org/LAMW | + | * https://wiki.lazarus.freepascal.org/LAMW |
+ | |||
Ich habe mich dazu entschieden das Modul LAMW zu verwenden, es läuft auch unter Linux und | Ich habe mich dazu entschieden das Modul LAMW zu verwenden, es läuft auch unter Linux und | ||
nimmt einem beim Einrichten der Lazarus IDE sehr viel Arbeit ab! | nimmt einem beim Einrichten der Lazarus IDE sehr viel Arbeit ab! | ||
− | Liste von Android Versionen: https://de.wikipedia.org/wiki/Liste_von_Android- | + | Liste von Android Versionen: |
+ | * https://de.wikipedia.org/wiki/Liste_von_Android-Versionen | ||
+ | Die in fpcupdeluxe derzeit verwendete LAMW (LazarusAndroidModulWizard) Version benötigt | ||
folgende Voraussetzungen: | folgende Voraussetzungen: | ||
Line 17: | Line 25: | ||
sudo apt-get install -y git subversion make build-essential gdb zip unzip unrar wget | sudo apt-get install -y git subversion make build-essential gdb zip unzip unrar wget | ||
sudo apt-get install -y openjdk-8-jdk android-tools-adb ant | sudo apt-get install -y openjdk-8-jdk android-tools-adb ant | ||
− | # | + | |
+ | # Ist nur nötig, wen man nicht openjdk als STandard hat. | ||
sudo update-java-alternatives --set /usr/lib/jvm/java-1.8.0-openjdk-amd64 | sudo update-java-alternatives --set /usr/lib/jvm/java-1.8.0-openjdk-amd64 | ||
− | # | + | |
+ | # Legt ein Verzeichnis an: | ||
mkdir -p "$HOME/Programme/android" | mkdir -p "$HOME/Programme/android" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
Folgende Programme downloaden und in den Ordner home/Benutzername/Programme/android | Folgende Programme downloaden und in den Ordner home/Benutzername/Programme/android | ||
kopieren und dort extrahieren: | kopieren und dort extrahieren: | ||
Verschiedene Versionen von Gradle findet man hier (ich nahm 4.4.1, sonst Befehle anpassen): | Verschiedene Versionen von Gradle findet man hier (ich nahm 4.4.1, sonst Befehle anpassen): | ||
− | https://gradle.org/releases/ dort auf binary only klicken | + | * https://gradle.org/releases/ dort auf binary only klicken |
Android SDK findet man hier: | Android SDK findet man hier: | ||
− | http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz | + | * http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz |
Nachdem die Datei nach android kopiert und dort entpackt wurde das Verzeichnis android-sdk-linux | Nachdem die Datei nach android kopiert und dort entpackt wurde das Verzeichnis android-sdk-linux | ||
in sdk umbenennen. | in sdk umbenennen. | ||
Line 58: | Line 69: | ||
Jetzt das aktuelle NDK downloaden: | Jetzt das aktuelle NDK downloaden: | ||
− | https://developer.android.com/ndk/downloads | + | * https://developer.android.com/ndk/downloads |
Bei mir war es android-ndk-r21-linux-x86_64. Diese Datei nach Programme/android/sdk kopieren | Bei mir war es android-ndk-r21-linux-x86_64. Diese Datei nach Programme/android/sdk kopieren | ||
und dort entpacken. Den Ordner anschließend in ndk-bundle umbenennen. | und dort entpacken. Den Ordner anschließend in ndk-bundle umbenennen. | ||
Jetzt im Terminal folgende Links anlegen: | Jetzt im Terminal folgende Links anlegen: | ||
+ | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
ln -sf "$HOME/Programme/android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin" "$HOME/Programme/android/ndk-toolchain" | ln -sf "$HOME/Programme/android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin" "$HOME/Programme/android/ndk-toolchain" | ||
Line 68: | Line 80: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | Wen nicht vorhanden, folgende Datei im Home-Ordner anlegen: <code>./profile</code> | |
− | + | ||
+ | Die Datei editieren, und zuunderst folgendes einfügen: | ||
<syntaxhighlight lang="text"> | <syntaxhighlight lang="text"> | ||
Line 77: | Line 90: | ||
export PATH="${PATH}:${GRADLE_HOME}/bin" | export PATH="${PATH}:${GRADLE_HOME}/bin" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | Anschliessend speichern und beenden. | ||
− | + | '''PC neustarten !''' | |
Nun fpcupdeluxe starten. Ich empfehle für den Android Crosscompiler zusätzlich ein eigenes | Nun fpcupdeluxe starten. Ich empfehle für den Android Crosscompiler zusätzlich ein eigenes | ||
Line 96: | Line 110: | ||
LAMW Manager :"Ein Installationsprogramm zum Generieren der Lazarus IDE [und aller | LAMW Manager :"Ein Installationsprogramm zum Generieren der Lazarus IDE [und aller | ||
erforderlichen Komponenten!], angefertigt um für Android zu entwickeln! | erforderlichen Komponenten!], angefertigt um für Android zu entwickeln! | ||
− | zu lamw: https://wiki.lazarus.freepascal.org/LAMW | + | zu lamw: |
+ | * https://wiki.lazarus.freepascal.org/LAMW | ||
In fpcupdeluxe auf Modules gehen, dort: | In fpcupdeluxe auf Modules gehen, dort: | ||
Revision as of 17:00, 11 March 2020
Android und Lazarus unter Linux Mint
Voraussetzungen
Ein eingerichtetes FPCUPDeluxe FPCUPDeluxe
Wer unter Linux mit Lazarus nach Android kompilieren möchte muss einiges an Einstellungen vornehmen. Ich habe es ausschließlich unter Linux Mint 19.3 Cinnamon 64bit getestet. Zuerst in einer Virtualbox Version.
Quellen
- https://forum.lazarus.freepascal.org/index.php/topic,40750.msg281604.html#msg281604
- https://forum.lazarus.freepascal.org/index.php/topic,38777.msg264419.html#msg264419
- https://wiki.lazarus.freepascal.org/LAMW
Ich habe mich dazu entschieden das Modul LAMW zu verwenden, es läuft auch unter Linux und nimmt einem beim Einrichten der Lazarus IDE sehr viel Arbeit ab! Liste von Android Versionen:
Die in fpcupdeluxe derzeit verwendete LAMW (LazarusAndroidModulWizard) Version benötigt folgende Voraussetzungen:
So gehts los: Bitte folgendes ins Terminal eingeben:
sudo apt-get install -y libx11-dev libgtk2.0-dev libgdk-pixbuf2.0-dev libcairo2-dev libpango1.0-dev libxtst-dev libatk1.0-dev libghc-x11-dev freeglut3 freeglut3-dev
sudo apt-get install -y git subversion make build-essential gdb zip unzip unrar wget
sudo apt-get install -y openjdk-8-jdk android-tools-adb ant
# Ist nur nötig, wen man nicht openjdk als STandard hat.
sudo update-java-alternatives --set /usr/lib/jvm/java-1.8.0-openjdk-amd64
# Legt ein Verzeichnis an:
mkdir -p "$HOME/Programme/android"
Folgende Programme downloaden und in den Ordner home/Benutzername/Programme/android kopieren und dort extrahieren: Verschiedene Versionen von Gradle findet man hier (ich nahm 4.4.1, sonst Befehle anpassen):
- https://gradle.org/releases/ dort auf binary only klicken
Android SDK findet man hier:
Nachdem die Datei nach android kopiert und dort entpackt wurde das Verzeichnis android-sdk-linux in sdk umbenennen.
Ins Terminal wechseln und ins Verzeichnis tools wechseln.
cd /home/bernd/Programme/android/sdk/tools
./android
eingeben. Jetzt startet der SDK-Manager. Es ist die neuste Version Android 10 (API29) vorausgewählt.
Die 3 Häckchen SDK Tools, SDK Platform-tools und SDK Build-tools drin lassen. Zusätzlich noch die Build-tools 27.0.3 anwählen (werden für 28 und 29 zusätzlich benötigt)
"Tools --> Android SDK Build-tools - 27.0.3 "Extras --> Android Support Repository" "Extras --> Google Play service" "Extras --> Google Repository"
Bei "Android R" alles eintfernen ?????????????
Bei Android 10 (API29) benötigt man nur die SDK Platform. Die anderen Haken entfernen. Die Systemimages werden nur benötigt wenn man zum Testen einen Emulator anlegen möchte. Ich möchte erst mal auf einen alten Handy testen. [Wer eine ältere Version nehmen möchte muss die dem entsprechende SDK Platform wählen bzw. die passenden Build-tools nehmen. Zum Beispiel SDK Platform von API 25 mit SDK Buil-tools 25.0.3. Es muss dann aber auch die passende NDK Datei ausgesucht werden. Für API 25 funktionierte bei mir android-ndk-r10e-linux-x86_64. ]
Jetzt das aktuelle NDK downloaden:
Bei mir war es android-ndk-r21-linux-x86_64. Diese Datei nach Programme/android/sdk kopieren und dort entpacken. Den Ordner anschließend in ndk-bundle umbenennen. Jetzt im Terminal folgende Links anlegen:
ln -sf "$HOME/Programme/android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin" "$HOME/Programme/android/ndk-toolchain"
ln -sf "$HOME/Programme/android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9" "$HOME/Programme/android/sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9"
ln -sf "$HOME/Programme/android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9" "$HOME/Programme/android/sdk/ndk-bundle/toolchains/mipsel-linux-android-4.9"
Wen nicht vorhanden, folgende Datei im Home-Ordner anlegen: ./profile
Die Datei editieren, und zuunderst folgendes einfügen:
export ANDROID_SDK_ROOT="${HOME}/Programme/android/sdk"
export GRADLE_HOME="${HOME}/Programme/android/gradle-4.4.1"
export PATH="${PATH}:${HOME}/Programme/android/ndk-toolchain"
export PATH="${PATH}:${GRADLE_HOME}/bin"
Anschliessend speichern und beenden.
PC neustarten !
Nun fpcupdeluxe starten. Ich empfehle für den Android Crosscompiler zusätzlich ein eigenes Lazarus zu installieren. Nach der Installation von Lamw wurden bei mir die Einstellungen der Lazarus IDE durcheinander gewürfelt. Die Cross Compiler für arm und i386 lassen sich mit den stable Versionen installieren. Der Cross Compiler für aarch64 nur mit der trunk. Ich habe mich deshalb hier für die trunk Versionen entschieden. Achtung: das neue Lazarus in ein anderes Verzeichnis als das schon vorhandene installieren.
In Lazarus unter Tools, Options, General die Sprache auf deutsch umstellen. Lazarus neu starten.
Folgende Versionen wurden bei mir installiert:
LAMW mit fpcupdeluxe installieren
Als nächstes noch lamw (falls noch nicht vorhanden) installieren: LAMW Manager :"Ein Installationsprogramm zum Generieren der Lazarus IDE [und aller erforderlichen Komponenten!], angefertigt um für Android zu entwickeln! zu lamw:
In fpcupdeluxe auf Modules gehen, dort:
"Modules->lamw->Install module"
"Cross --> i386" Hacken ???? arm "Cross --> android" Hacken "Install compiler" Fehler mit "Ja" bestätigen.
Nun "Werkzeuge --> [LAMW] Android Module Wizard --> Paths Settings [Jdk,Sdk,Ndk]"
"Path to Java JDK" --> /usr/lib/jvm/java-11-openjdk-amd64 "Path to Ant bin:" --> /usr/bin "Path to Gradle" --> /home/tux/Programme/android/gradle-4.4.1 "Path to Android NDK" --> /home/tux/Programme/android/sdk/ndk-bundle "NDK Version" --> 11 "Path to Android SDK" --> /home/tux/Programme/android/sdk
Als nächstes "Datei --> Neu --> Project --> LAMW[GUI]Android Module" "Ok"
"Path to Workspace" --> /home/tux/android_test "Architekture/Instructions" --> x86 ?????