LAMW

From Free Pascal wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

English (en) polski (pl) русский (ru)

Android robot.svg

This article applies to Android only.

See also: Multiplatform Programming Guide

LAMW

LAMW: Lazarus Android Module Wizard is a wizard to create JNI Android loadable module (.so) and Android Apk using Lazarus/Free Pascal.


Features:

Native Android GUI
AppCompat and Material Design supported!
RAD! Form designer and drag&drop component development model!
More than 140 components!
Github Page: https://github.com/jmpessoa/lazandroidmodulewizard


Get Lazarus for Android

Laz4Android 2.0.12 (Windows)

All cross-android compilers already installed!
arm-android/aarch64-android/i386-android/x86_64-android/jvm-android


How to
Install * Laz4Android 2.0.12
Light bulb  Note: Install here: "C:\laz4android2.0.12" (not "Program Files" !!!)
Install * LAMW
Light bulb  Note: Download LAMW and unzip it in some folder (ex. "C:\laz4android2.0.12\components")
Packages installations order/sequence:
tfpandroidbridge_pack.lpk (in "..../android_bridges" folder)
lazandroidwizardpack.lpk (in ""..../android_wizard" folder)
amw_ide_tools.lpk (in "..../ide_tools" folder)
Go to Infrastructure.

LAMW Manager (Linux and Windows)

Light bulb  Note: All in One! LAMW Manage produces a complete Lazarus for Android environment by automating the step Infrastructure!
Install * LAMW Manager Installer for Linux
Install * LAMW Manager Installer for Windows

Install LAMW using fpcupdeluxe (Linux and Windows)

How to install on Linux (FPCUPdeluxe + LAMW)
How to install on Windows (FPCUPdeluxe + LAMW)

Do It Yourself! (Windows)

Install * Lazarus 2.0.12
Light bulb  Note: Install here: "C:\lazarus2.0.12" (not "Program Files" !!!)
Install * LAMW
Light bulb  Note: Download LAMW and unzip it in some folder (ex. "C:\lazarus2.0.12\components")
Packages installations order/sequence:
tfpandroidbridge_pack.lpk (in "..../android_bridges" folder)
lazandroidwizardpack.lpk (in ""..../android_wizard" folder)
amw_ide_tools.lpk (in "..../ide_tools" folder)
Install * FPC source code (trunk)
Download FPC source code and unzip it in some folder and point up the source path in next step


Go to Lazarus menu "Tools" >> "[LAMW] Android Module Wizard" >> "Build FPC Cross Android"
Light bulb  Note: repeat the "Build and install" process once for each architecture
(x) Armv7a + Soft (android 32 bits << tested!)
Build
Install
(x) Aarch64 (android 64 bits << tested!)
Build
Install
Light bulb  Note: After "build" and "install" the cross-compilers and after to do all Infrastructure go to Using LAMW and try to create your first [New] LAMW project!
If you get an error "Fatal: Cannot find unit system used by fcllaz of package FCL" when trying "Run" >> "Build" your project then go to "fpc.cfg" (ex. "C:\lazarus2.0.12\fpc\3.2.0\bin") and:
change:
#searchpath for units and other system dependent things
-FuC:\lazarus2.0.12\fpc\$FPCVERSION/units/$fpctarget
-FuC:\lazarus2.0.12\fpc\$FPCVERSION/units/$fpctarget/*
-FuC:\lazarus2.0.12\fpc\$FPCVERSION/units/$fpctarget/rtl
to:
#searchpath for units and other system dependent things
-FuC:\lazarus2.0.12\fpc\3.2.0/units/$fpctarget
-FuC:\lazarus2.0.12\fpc\3.2.0/units/$fpctarget/*
-FuC:\lazarus2.0.12\fpc\3.2.0/units/$fpctarget/rtl


And go to Lazarus IDE menu "Tools" >> "Options" >> "Environment" >> [FPC Source]
change:
$(LazarusDir)fpc\$(FPCVer)\source
to:
$(LazarusDir)fpc\3.2.0\source


Infrastructure

Light bulb  Note: Only for non-users of LAMW Manager!

Get Java JDK

Install * Java JDK 8

Get Android NDK

Install * r19c

Get Ant builder

Install * Ant
Simply extract the zip file to a convenient location...

Get Gradle builder

Install * Gradle 6.6.1
Light bulb  Note: Use the option "extract here" to produce the folder "gradle-6.6.1" in a convenient location...

Get Android SDK

Install * r25.2.5-windows
Install * r25.2.5-linux
Install * r25.2.5-macosx
How to
unpacked/install to a "sdk" folder
open a command line terminal and go to folder "sdk/tools"
run the command >> "android update sdk" to open a GUI "SDK Manager"
Go to [Tools] and keep "as is"
Android SDK Tools (installed)
(x) Android SDK Platform-Tools
(x) Android SDK Build-Tools 29.0.3 (and others more recent)
Go to [Android R] and uncheck all!
Go to [Android 10 API 29] uncheck all and check only
(x)SDK Platform
Go to [Extras] and check:
(x)Android Support Repository
(x)Google USB Drive (Windows only...)
(x)Google Repository
(x)Google Play Services
[Install 7 package!]


Using LAMW

Configure Paths

Lazarus IDE menu "Tools" >> "[LAMW] Android Module Wizard" >> "Paths Settings ..."
Light bulb  Note: MacOs: path to Java JDK auto setting!

Create and Run your first Android Apk

How to
From Lazarus IDE select "Project" >> "New Project"
From displayed dialog select "[LAMW] GUI Android Module" and "Ok"
Fill the form/dialog fields and "Ok"
Light bulb  Note: Path to Workspace" is your projects folder
Light bulb  Note: Accept "default" options! (but pay attention to the * signage)
"Save" unit1 as/where suggested
Light bulb  Note: Search your project folder... you will find many treasures there! (look for lazarus project in ".../jni" folder)
From Lazarus IDE select "Run" >> "Build"
Success! Your system is up to produce your first Android Apk!


Configure your phone device to debug mode and plug it to the computer usb port


From Lazarus IDE select "Run" >> "[LAMW] Build Apk and Run"
Congratulations! You are now an Android Developer!

Other references

Tutorial: My First "Hello Word" App