Sign in Join
Wiki copytemporary

Android - Android with FPCUPDeluxe/de: what changed

Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1-[![Warning-icon.png](/wiki-images/b/b2/Warning-icon.png)](</File:Warning-icon.png>)
2-
3-**Warnung:** , der Artikel ist Beta
4-
5-## Contents
6-
7- * 1 Android und Lazarus unter Linux Mint
8- * 1.1 Voraussetzungen
9- * 1.1.1 Quellen:
10- * 1.1.2 Voraussetzungen:
11- * 1.2 SDK-Manager downloaden und einrichten
12- * 1.3 NDK einrichten
13- * 1.4 FPC/Lazarus Crosscompiler bauen
14- * 1.4.1 Lazarus mit FPCUPDeluxe bauen
15- * 1.4.2 LAMW mit fpcupdeluxe installieren
16- * 1.4.3 Cross-Compiler bauen:
17- * 1.5 Lazarus einrichten
18- * 1.5.1 Lazarus auf deutsch
19- * 1.5.2 LAMW einrichten
20- * 1.6 Erstes Project
21- * 1.6.1 Erster Start
22- * 1.7 Project Einstellungen ändern
1+> **Warning:** , der Artikel ist Beta
232
243# Android und Lazarus unter Linux Mint
254
265## Voraussetzungen
276
287Ein eingerichtetes FPCUPDeluxe [[fpcupdeluxe/de|FPCUPDeluxe]]
298
30-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.
9+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.
3110
3211### Quellen:
3312
34- * <https://forum.lazarus.freepascal.org/index.php/topic,40750.msg281604.html#msg281604>
35- * <https://forum.lazarus.freepascal.org/index.php/topic,38777.msg264419.html#msg264419>
36- * <https://wiki.lazarus.freepascal.org/LAMW>
13+- <https://forum.lazarus.freepascal.org/index.php/topic,40750.msg281604.html#msg281604>
14+- <https://forum.lazarus.freepascal.org/index.php/topic,38777.msg264419.html#msg264419>
15+- <https://wiki.lazarus.freepascal.org/LAMW>
3716
38- * [https://www.lazarusforum.de/viewtopic.php?f=55&t=13084&sid=acf2a30469fbf7adf21fce15edd5a3e5](<https://www.lazarusforum.de/viewtopic.php?f=55&t=13084&sid=acf2a30469fbf7adf21fce15edd5a3e5>)
39- * [https://www.lazarusforum.de/viewtopic.php?f=13&t=13072&p=116113&hilit=android#p116113](<https://www.lazarusforum.de/viewtopic.php?f=13&t=13072&p=116113&hilit=android#p116113>)
40- * [https://www.lazarusforum.de/viewtopic.php?f=3&t=12766&p=113313&hilit=android#p113313](<https://www.lazarusforum.de/viewtopic.php?f=3&t=12766&p=113313&hilit=android#p113313>)
17+- <https://www.lazarusforum.de/viewtopic.php?f=55&t=13084&sid=acf2a30469fbf7adf21fce15edd5a3e5>
18+- <https://www.lazarusforum.de/viewtopic.php?f=13&t=13072&p=116113&hilit=android#p116113>
19+- <https://www.lazarusforum.de/viewtopic.php?f=3&t=12766&p=113313&hilit=android#p113313>
4120
42- * <https://www.lazarusforum.de/download/file.php?id=5482>
21+- <https://www.lazarusforum.de/download/file.php?id=5482>
4322
44-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:
23+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:
4524
46- * <https://de.wikipedia.org/wiki/Liste_von_Android-Versionen>
25+- <https://de.wikipedia.org/wiki/Liste_von_Android-Versionen>
4726
4827### Voraussetzungen:
4928
50-Die in fpcupdeluxe derzeit verwendete LAMW (LazarusAndroidModulWizard) Version benötigt folgende Voraussetzungen:
51-```
29+Die in fpcupdeluxe derzeit verwendete LAMW (LazarusAndroidModulWizard) Version benötigt folgende Voraussetzungen:
30+
31+``` bash
5232# adb
53- sudo apt-get install adb
33+sudo apt-get install adb
5434```
5535
56-
57-~~Pakete installieren:~~
36+Pakete installieren:
5837
59-~~
60-```
38+``` bash
6139sudo apt-get install 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
62- sudo apt-get install git subversion make build-essential gdb zip unzip unrar wget
40+sudo apt-get install git subversion make build-essential gdb zip unzip unrar wget
6341```
6442
65-~~~~~~
66-
67-~~~~
43+Solten per default bei Mint installiert sein.
6844
69-Solten per default bei Mint installiert sein.
70-```
45+``` bash
7146# Java Pakete
72- sudo apt-get install openjdk-8-jdk
73- # sudo apt-get install android-tools-adb ant
47+sudo apt-get install openjdk-8-jdk
48+# sudo apt-get install android-tools-adb ant
7449```
7550
76-Ist nur nötig, wen man nicht openjdk als Standard hat.
77-```
51+Ist nur nötig, wen man nicht openjdk als Standard hat.
52+
53+``` bash
7854# Open JDK aus Standard
79- sudo update-java-alternatives --set /usr/lib/jvm/java-1.8.0-openjdk-amd64
55+sudo update-java-alternatives --set /usr/lib/jvm/java-1.8.0-openjdk-amd64
8056```
8157
82-
83-Einen Ordner anlegen, für die Android spezifischen Pakete. Keine **Leerzeichen** im Pfad verwenden, dies erspart Ärger.
84-```
58+Einen Ordner anlegen, für die Android spezifischen Pakete. Keine **Leerzeichen** im Pfad verwenden, dies erspart Ärger.
59+
60+``` bash
8561mkdir -p ~/Programme/android
8662```
8763
88-~~Folgende Programme downloaden und in den Ordner`~/Programme/android` entpacken: ~~
89-
90-~~
91-
92- * Verschiedene Versionen von Gradle findet man hier (ich nahm 4.4.1, sonst anpassen):
93- * Verschiedene Versionen von Gradle findet man hier (ich nahm 6.2.2, sonst anpassen):
94- * <https://gradle.org/releases/> Dort binary only wählen. ~~
95-Nachdem dem Entpacken`gradle-x.x.x` in `gradle` umbennen~~
96-Wichtig, Pfade weiter unten müssen an die Version angepasst werden, zB. Export !
97-
98-~~~~~~
64+Folgende Programme downloaden und in den Ordner `~/Programme/android` entpacken:
9965
100-~~~~
66+- Verschiedene Versionen von Gradle findet man hier (ich nahm 4.4.1, sonst anpassen):
67+- Verschiedene Versionen von Gradle findet man hier (ich nahm 6.2.2, sonst anpassen):
68+ - <https://gradle.org/releases/> Dort binary only wählen. \
69+ Nachdem dem Entpacken `gradle-x.x.x` in `gradle` umbennen\
70+ Wichtig, Pfade weiter unten müssen an die Version angepasst werden, zB. Export !
10171
10272## SDK-Manager downloaden und einrichten
10373
104- * Android SDK downladen:
105- * <http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz> Den Inhalt nach **~/Programme/android** entpacken.
106-~~Nachdem dem Entpacken`android-sdk-linux` in `sdk` umbennen~~
74+- Android SDK downladen:
75+ - <http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz> Den Inhalt nach **~/Programme/android** entpacken.\
76+ Nachdem dem Entpacken `android-sdk-linux` in `sdk` umbennen
10777
108-Android SDK-Manager starten:
109-```
78+Android SDK-Manager starten:
79+
80+``` bash
11081~/Programme/android/android-sdk-linux/tools/android
11182```
11283
113-Es ist die neuste Version Android 10 (API29) vorausgewählt.
84+Es ist die neuste Version Android 10 (API29) vorausgewählt.
11485
115-~~Die 3 Hakchen 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)
86+Die 3 Hakchen 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)
11687
117-Folgendes installieren:
88+Folgendes installieren:
11889
119- * "Tools" --> "Android SDK Build-tools - 27.0.3"
120- * "Extras" --> "Android Support Repository"
121- * "Extras" --> "Google Play service"
122- * "Extras" --> "Google Repository"
90+- "Tools" --\> "Android SDK Build-tools - 27.0.3"
91+- "Extras" --\> "Android Support Repository"
92+- "Extras" --\> "Google Play service"
93+- "Extras" --\> "Google Repository"
12394
124-Folgendes entfernen:
95+Folgendes entfernen:
12596
126- * "Android R" --> [alles entfernen]
97+- "Android R" --\> \[alles entfernen\]
12798
12899## NDK einrichten
129100
130-Bei Android 10 (API29) benötigt man nur die SDK Plattform. 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 Plattform wählen bzw. die passenden Build-tools nehmen. Zum Beispiel SDK Plattform 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. ]
101+Bei Android 10 (API29) benötigt man nur die SDK Plattform. 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 Plattform wählen bzw. die passenden Build-tools nehmen. Zum Beispiel SDK Plattform 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. \]
131102
132-das Aktuelle NDK downloaden:
103+das Aktuelle NDK downloaden:
133104
134- * <https://developer.android.com/ndk/downloads>
105+- <https://developer.android.com/ndk/downloads>
135106
136-Momentan ist es **android-ndk-r21-linux-x86_64**. Den Inhalt nach **~/Programme/android** entpacken. ~~Den Ordner anschließend in**ndk-bundle** umbenennen.
137-~~~~Jetzt im Terminal folgende Links anlegen:~~~~~~
107+Momentan ist es **android-ndk-r21-linux-x86_64**. Den Inhalt nach **~/Programme/android** entpacken. Den Ordner anschließend in **ndk-bundle** umbenennen.\
108+Jetzt im Terminal folgende Links anlegen:
138109
139-~~~~~~
140-```
110+``` bash
141111ln -sf ~/Programme/android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin ~/Programme/android/ndk-toolchain
142- ln -sf ~/Programme/android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9 ~/Programme/android/sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9
143- ln -sf ~/Programme/android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9 ~/Programme/android/sdk/ndk-bundle/toolchains/mipsel-linux-android-4.9
112+ln -sf ~/Programme/android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9 ~/Programme/android/sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9
113+ln -sf ~/Programme/android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9 ~/Programme/android/sdk/ndk-bundle/toolchains/mipsel-linux-android-4.9
144114```
145115
146-~~~~~~~~~~~~~~
147-
148-~~Am Ende bei`~/.bashrc` folgendes einfügen: ~~
116+Am Ende bei `~/.bashrc` folgendes einfügen:
149117
150-
151-~~Wen nicht vorhanden, folgende Datei im Home-Ordner anlegen:`~/.profile` ????????? ~~
118+Wen nicht vorhanden, folgende Datei im Home-Ordner anlegen: `~/.profile` ?????????
152119
153-~~Die Datei editieren, und a, Ende folgendes einfügen:~~
120+Die Datei editieren, und a, Ende folgendes einfügen:
154121
155-~~~~~~~~
156-```
157-export ANDROID_SDK_ROOT= "${HOME}/Programme/android/sdk"
158- # export GRADLE_HOME="${HOME}/Programme/android/gradle-4.4.1"
159- # export GRADLE_HOME="${HOME}/Programme/android/gradle-6.2.2"
160- export PATH="${PATH}:${HOME}/Programme/android/ndk-toolchain"
161- export PATH="${PATH}:${GRADLE_HOME}/bin"
122+```text
123+export ANDROID_SDK_ROOT="${HOME}/Programme/android/sdk"
124+# export GRADLE_HOME="${HOME}/Programme/android/gradle-4.4.1"
125+# export GRADLE_HOME="${HOME}/Programme/android/gradle-6.2.2"
126+export PATH="${PATH}:${HOME}/Programme/android/ndk-toolchain"
127+export PATH="${PATH}:${GRADLE_HOME}/bin"
162128```
163129
164-~~~~~~~~
165-
166130Anschliessend speichern und beenden.
167131
168-~~~~
169-
170-~~~~**PC neustarten !** ~~~~
132+**PC neustarten !**
171133
172134## FPC/Lazarus Crosscompiler bauen
173135
174136### Lazarus mit FPCUPDeluxe bauen
175137
176-Zuerst eine Trunk mit FPCUPDeluxe bauen. Fur ARM und i386 kann man auch die **stable** verwenden. Siehe hier:
138+Zuerst eine Trunk mit FPCUPDeluxe bauen. Fur ARM und i386 kann man auch die **stable** verwenden. Siehe hier:
177139
178- * [[fpcupdeluxe/de|FPCUPDeluxe]]
140+- [[fpcupdeluxe/de|FPCUPDeluxe]]
179141
180-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. Wen **trunk** nicht geht, kann man alternativ **trunk.git** probieren. Wen alles versagt, zu einem späteren Zeitpunkt probieren.
142+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. Wen **trunk** nicht geht, kann man alternativ **trunk.git** probieren. Wen alles versagt, zu einem späteren Zeitpunkt probieren.
181143
182-
183-~~In Lazarus unter Tools, Options, General die Sprache auf deutsch umstellen. Lazarus neu starten. Folgende Versionen wurden bei mir installiert:~~
144+In Lazarus unter Tools, Options, General die Sprache auf deutsch umstellen. Lazarus neu starten. Folgende Versionen wurden bei mir installiert:
184145
185146### LAMW mit fpcupdeluxe installieren
186147
187-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:
148+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:
188149
189- * Weitere Infos: <https://wiki.lazarus.freepascal.org/LAMW>
150+- Weitere Infos: <https://wiki.lazarus.freepascal.org/LAMW>
190151
191-In FPCUPDeluxe folgendes einstellen:
152+In FPCUPDeluxe folgendes einstellen:
192153
193- * Im Reiter **Modules**
194- * **lamw** anwählen
195- * `Install module` drücken, somit wird das Modul installiert.
154+- Im Reiter **Modules**
155+ - **lamw** anwählen
156+ - `Install module` drücken, somit wird das Modul installiert.
196157
197158### Cross-Compiler bauen:
198159
199- * Im Reiter **Cross** noch folgende CheckBoxen anwählen:
200- * Bei ARM:
201- * CPU: **arm**
202- * OS: **android**
160+- Im Reiter **Cross** noch folgende CheckBoxen anwählen:
161+ - Bei ARM:
162+ - CPU: **arm**
163+ - OS: **android**
203164
204- * * Bei i386:
205- * CPU: **i386**
206- * OS: **android**
165+- - Bei i386:
166+ - CPU: **i386**
167+ - OS: **android**
207168
208- * Button `Install compiler` drücken, somit wird der Cross-Compiler gebaut.
169+- Button `Install compiler` drücken, somit wird der Cross-Compiler gebaut.
209170
210171## Lazarus einrichten
211172
212173### Lazarus auf deutsch
213174
214- * Lazarus mit dem neuen Desktop-Icon (Lazarus_fpcupdeluxe) starten.
215- * _"Tools -- > Options --> General --> Language"_ Lazarus auf deutsch stellen, mit `Ok` bestätigen und Lazarus neu starten.
175+- Lazarus mit dem neuen Desktop-Icon (Lazarus_fpcupdeluxe) starten.
176+- *"Tools --\> Options --\> General --\> Language"* Lazarus auf deutsch stellen, mit `Ok` bestätigen und Lazarus neu starten.
216177
217-Lazarus sollte jetzt deutsch sein.
178+Lazarus sollte jetzt deutsch sein.
218179
219180### LAMW einrichten
220181
221- * "Werkzeuge --> [LAMW] Android Module Wizard --> Paths Settings [Jdk,Sdk,Ndk]"
222- * "Path to Java JDK" --> /usr/lib/jvm/java-11-openjdk-amd64
223- * "Path to Ant bin:" --> /home/tux/android/fpcupdeluxe/ccr/lamw-ant/apache-ant-1.10.8/bin
224- * ~~"Path to Ant bin:" -- > /usr/bin~~
225- * ~~"Path to Gradle" -- > /home/tux/Programme/android/gradle-4.4.1~~
226-~~~~
227- * ~~"Path to Gradle" -- > /home/tux/Programme/android/gradle-6.2.2~~
228- * "Path to Gradle" --> /home/tux/fpcupdeluxe_android.alt/ccr/lamw-gradle/gradle-6.2.1
229- * ~~"Path to Android NDK" -- > /home/tux/Programme/android/sdk/ndk-bundle~~
230- * "Path to Android NDK" --> /home/tux/Programme/android/android-ndk-r21d
231- * "NDK Version" --> 11
232- * ~~"Path to Android SDK" -- > /home/tux/Programme/android/sdk~~
233- * "Path to Android SDK" --> /home/tux/Programme/android/android-sdk-linux
182+- "Werkzeuge --\> \[LAMW\] Android Module Wizard --\> Paths Settings \[Jdk,Sdk,Ndk\]"
183+ - "Path to Java JDK" --\> /usr/lib/jvm/java-11-openjdk-amd64
184+ - "Path to Ant bin:" --\> /home/tux/android/fpcupdeluxe/ccr/lamw-ant/apache-ant-1.10.8/bin
185+ - "Path to Ant bin:" --\> /usr/bin
186+ - "Path to Gradle" --\> /home/tux/Programme/android/gradle-4.4.1
187+ - "Path to Gradle" --\> /home/tux/Programme/android/gradle-6.2.2
188+ - "Path to Gradle" --\> /home/tux/fpcupdeluxe_android.alt/ccr/lamw-gradle/gradle-6.2.1
189+ - "Path to Android NDK" --\> /home/tux/Programme/android/sdk/ndk-bundle
190+ - "Path to Android NDK" --\> /home/tux/Programme/android/android-ndk-r21d
191+ - "NDK Version" --\> 11
192+ - "Path to Android SDK" --\> /home/tux/Programme/android/sdk
193+ - "Path to Android SDK" --\> /home/tux/Programme/android/android-sdk-linux
234194
235195## Erstes Project
236196
237-Als nächstes
197+Als nächstes
238198
239- * "Datei --> Neu --> Project --> LAMW[GUI]Android Module"
240- * "Path to Workspace" --> /home/tux/android_test
241- * "Architekture/Instructions" --> ARMv7a+VFPv3
242- * "Apk Builder: --> "Gradle
199+- "Datei --\> Neu --\> Project --\> LAMW\[GUI\]Android Module"
200+ - "Path to Workspace" --\> /home/tux/android_test
201+ - "Architekture/Instructions" --\> ARMv7a+VFPv3
202+ - "Apk Builder: --\> "Gradle
243203
244-`Ok` drücken
204+`Ok` drücken
245205
246-Projekt will sich speichern, mit "speichern" bestätigen.
206+Projekt will sich speichern, mit "speichern" bestätigen.
247207
248208### Erster Start
249209
250- * "Start" --> [LAMW] Build Android Apk and Run
251-Warnung mit "ja" bestätigen.
210+- "Start" --\> \[LAMW\] Build Android Apk and Run\
211+ Warnung mit "ja" bestätigen.
252212
253-Das erste Kompilieren geht recht lange, da noch vieles für den Crosscompiler übersetzt werden muss.
213+Das erste Kompilieren geht recht lange, da noch vieles für den Crosscompiler übersetzt werden muss.
254214
255215## Project Einstellungen ändern
256216
257-Nachträglich Build ändern:
217+Nachträglich Build ändern:
258218
259- * Projekt --> Projekteinstellungen... --> [LAMW] Android Project Options --> Build
219+- Projekt --\> Projekteinstellungen... --\> \[LAMW\] Android Project Options --\> Build
260220
261221---
262-*From the Free Pascal wiki, page "Android - Android with FPCUPDeluxe/de", as the Internet Archive kept it on 2024-03-04. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
222+*From the Free Pascal wiki, page "Android - Android with FPCUPDeluxe/de", as it stood on 2020-08-24 after a change by Mathias, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
223+Category: Code Snippets
224+Category: Code Snippets/Multiplatform

Back to history