LAMW Android: Fatal: Cannot find system used by controls

Antworten
KoBraSoft
Beiträge: 57
Registriert: So 6. Jun 2021, 09:57
OS, Lazarus, FPC: Winux (L 2.2.4 FPC 3.2.2)
CPU-Target: 64Bit 32 Bit
Kontaktdaten:

LAMW Android: Fatal: Cannot find system used by controls

Beitrag von KoBraSoft »

Hallo,
ich versuche die Demos von LAMW in android/fpc-lazarus/ccr/lamw/demos/GUI auszuführen. Ich erhalte beim Build folgende Fehlermeldung
Fatal: Cannot find system used by controls. Make sure all ppu files of a package are in its output directory. ppu in wrong directory=/home/ko/android/fpc-lazarus/fpc/units/arm-android/rtl/system.ppu..
Soweit ich verstehe, erwartet der Compiler, dass alle ppu Dateien im output Ordner des package liegen.
Ich habe bereits alle möglichen Einstellungen getestet, komme aber nicht weiter. Hat jemand einen Tip?

PS
Es scheinen nicht sehr viele Leute mit Lazarus Android Programme zu erstellen. (Zum Beispiel gab es in diesem Jahr erst einen Post in diesem Forum)
Ich hatte schon länger vor mich mit der Androidprogrammierung zu beschäftigen. Da ich jetzt eine konkrete Kundenanfrage erhalten habe, habe ich beschlossen mich da einzuarbeiten. Ich bin folgendermaßen Vorgegangen:
  • Auf einem Testrechner Betriebssystem (Xubtntu 22.04) neu aufspielen
Konrad

www.KoBraSoft.de

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: LAMW Android: Fatal: Cannot find system used by controls

Beitrag von Warf »

Wie du bereits schon festgestellt hast ist die Lazarus Android Community nicht die größte. Ich würde dir empfehlen es im englischen Forum zu versuchen, dort gibt es ein Android Bereich in dem zumindest ein bisschen was los ist:
https://forum.lazarus.freepascal.org/in ... ,43.0.html

Du darfst natürlich am Ende gerne berichten wenn du im englischen Forum Hilfe bekommen hast

KoBraSoft
Beiträge: 57
Registriert: So 6. Jun 2021, 09:57
OS, Lazarus, FPC: Winux (L 2.2.4 FPC 3.2.2)
CPU-Target: 64Bit 32 Bit
Kontaktdaten:

Re: LAMW Android: Fatal: Cannot find system used by controls

Beitrag von KoBraSoft »

Ich habe das Problem gefunden: In Project -> Project options -> [LAMW] Android Project Options ->Build->Chipset habe ich "ARMv7a+VFPv3" auszuwählen, dann Run -> Build und dann Run -> [LAMW] Build Android Apk and Run
Meist muss man Lazarus neu starten und wenn gefragt wird das project speichern.

Man merkt das die Entwicklung von LAMW noch nicht abgeschlossen ist, aber zum Erstellen von Programmen reicht es bereits.
Konrad

www.KoBraSoft.de

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: LAMW Android: Fatal: Cannot find system used by controls

Beitrag von af0815 »

KoBraSoft hat geschrieben:
So 21. Mai 2023, 15:49
Man merkt das die Entwicklung von LAMW noch nicht abgeschlossen ist, aber zum Erstellen von Programmen reicht es bereits.
LAMW kann nie abgeschlossen sein. Dazu wird von Google viel Zuviel herumgeschraubt. Immer wieder Umstellungen der Tools, gravierende Änderungen am Systemdesign. Immer mehr der Zwang, das der Benutzer etwas freigeben muss. Immer feinere Rechte,.... andere Komponenten,...
Die Entwicklung kann also nie abgeschlossen werden, wobei der Maintainer echt bemüht ist. Das sollte man ihm auch sagen. Auch wenn man selbst Bugfixes findet, werden die auf kürzersten Weg eingearbeitet.

LAMW ist ja eine Bridge zwischen den Systemen, kompiliert wird zB. über Gradle. Das hat jetzt nicht unbedingt mit Lazarus direkt zu tun, wenn dort was im Buildprozess geändert wird, so muss man das erst mal herausfinden, was anders ist. Lazarus und LAMW spielt da genaugenommen den Grenzgänger zwischen den Welten.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Mathias
Beiträge: 6164
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: LAMW Android: Fatal: Cannot find system used by controls

Beitrag von Mathias »

LAMW ist ja eine Bridge zwischen den Systemen, kompiliert wird zB. über Gradle.
Genau, dieses Gradle macht mir auch Sorgen, gähnend langsam, das ist ein C-Compiler eine Rakete dagegen.
Früher gab es mal Ant oder wie dies hiess, mit dem ging es ordentlich schnell, wird aber leider NmW. nicht mehr unterstützt.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: LAMW Android: Fatal: Cannot find system used by controls

Beitrag von af0815 »

Pascal, speziell LAMW kann da nur mimikri betreiben und ist nicht Herr der Sache. Man kann froh sein, wenn es die Bridge überhaupt gibt. Gradle ist ein notwendiges Übel. Nicht mehr und nicht weniger, allerdings wird das auch von den Android Studios im Hintergrund verwendet, deswegen sind die alles andere als flott.
Kurzum Take it or leave it - Friß oder stirb.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Mathias
Beiträge: 6164
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: LAMW Android: Fatal: Cannot find system used by controls

Beitrag von Mathias »

, deswegen sind die alles andere als flott.
Kurzum Take it or leave it - Friß oder stirb.
Dies ist bei mir der Hauptgrund, das ich mit android aufgehört habe.
Auch AS ist mit dem gradle lahm geworden.
Es würde mich nicht verwundern. wen gradle ein interpretiertes Phyton Project ist. Ansonsten kann ich mir diese Gemütlichkeit nicht vorstellen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: LAMW Android: Fatal: Cannot find system used by controls

Beitrag von af0815 »

Gradle ist ein Build System für verschiedene Sprachen und läuft scheinbar über die JVM
Gradle runs on the JVM. This is a bonus for users familiar with Java, since build logic can use the standard Java APIs. It also makes it easy to run Gradle on different platforms.
Klar woher das Tempo kommt :-) Siehe auch hier https://docs.gradle.org/current/usergui ... radle.html
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Mathias
Beiträge: 6164
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: LAMW Android: Fatal: Cannot find system used by controls

Beitrag von Mathias »

Wo ich immer noch recht staune, das so viele Apps für Android entwickelt werden, obwohl dies recht mühsam ist.
So nebenbei ist Android ein gutes Beispiel, wie man an gutes OS (Linux) so verhunzen kann.
Man merkt auch gut, wie viele Apps regelmässig abstürzen und sonst komisches Verhalten zeigen.
Wenigstens ist AS unterdessen ein wenig erwachsen geworden, immerhin hat es unterdessen einen brauchbaren Emulator.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: LAMW Android: Fatal: Cannot find system used by controls

Beitrag von Warf »

Es ist überhaupt nicht mühsam wenn man die richtigen tools benutzt. Das offene Geheimnis ist, kein Android Studio zu benutzen. Lade dir mal Visual Studio runter, starte ein Xamarin Projekt und schau mal wie einfach das ist. Selbst C++ mit QT Creator ist einstegerfreundlicher.

Viele (früher sogar die meisten, kenne die aktuelle Statistik nicht) Mobile Apps sind mit Web Technologie geschrieben. Das macht es besonders einfach, weil man die ziemlich einfach auf dem Desktop entwickeln und debuggen kann. Für Spiele benutzt du direkt eine Engine wie Unity oder Godot, sodass du auch da auch Android Studio anfassen musst. Dann gibt es wie gesagt noch alternativen wie Xamarin, QT und etliche mehr. Und selbst wenn man JVM (Java/Kotlin) verwendet, kann man auch IntelliJ direkt nehmen statt Android Studio (was auf IntelliJ basiert), was auch einfacher zu benutzen ist.

Antworten