Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works
Anything · Lazarus or Delphi
Random projectRandom project

LAMW

Lazarus Android Module Wizard. IDE wizard to create Android modules (.so) and packages (.apk).

In the Online Package Manager

Install it from inside Lazarus through Package, Online Package Manager.

Member rating

No ratings yet.

Sign in to rate this project.

README

N|Solid

LAMW: Lazarus Android Module Wizard

RAD Android! Form Designer and Components Development Model!
  • LAMW 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 150 components!

Getting Started

1. Get Lazarus for Android

  • Option a) Laz4Android (Windows)
    • All cross-android compilers already installed!
      • arm-android/aarch64-android/i386-android/x86_64-android/jvm-android
      • hint: Install like here: "C:\laz4android" (not "Program Files" !!!)
    • How to:
      • Install Laz4Android
      • Install LAMW
        • Download LAMW and unzip it in some folder
          • recommended folder: "C:\laz4android\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 "2. Infrastructure Setup".
  • Option b) LAMW Manager
  • Option c) Fpcupdeluxe (Linux and Windows)
  • Option d) How to: Do It Yourself!
    • d.1) Get Lazarus2.x.y
    • d.2) Install LAMW
      • Download LAMW and unzip it in some folder
        • recommended folder "C:\lazarus2.x.y\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)
    • d.3) Get FPC source code (trunk):
      • Unzip it in some folder and point up the source path in step "d.4"
    • d.4) Go to Lazarus menu "Tools" --> "[LAMW] Android Module Wizard" --> "Build FPC Cross Android" and 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
    pascal
    - hint: After "build" and "install" the cross-compilers and after to do  all "2. Infrastructure" go to "3. 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.x.y\fpc\3.2.2\bin") and:
       - change:
          ```cfg
                  #searchpath for units and other system dependent things
                  -FuC:\lazarus2.x.y\fpc\$FPCVERSION/units/$fpctarget 
                  -FuC:\lazarus2.x.y\fpc\$FPCVERSION/units/$fpctarget/*  
                  -FuC:\lazarus2.x.y\fpc\$FPCVERSION/units/$fpctarget/rtl
          ```
       - to:        
          ```cfg
                 #searchpath for units and other system dependent things
                 -FuC:\lazarus2.x.y\fpc\3.2.2/units/$fpctarget 
                 -FuC:\lazarus2.x.y\fpc\3.2.2/units/$fpctarget/*  
                 -FuC:\lazarus2.x.y\fpc\3.2.2/units/$fpctarget/rtl
         ```
       - and go to Lazarus IDE menu "Tools" -> "Options" -> "Environment"
         - "FPC Source"
           - change:
             ```cfg
                     $(LazarusDir)fpc\$(FPCVer)\source 
             ```
           - to:
             ```cfg             
                     $(LazarusDir)fpc\3.2.2\source
             ```

2. Infrastructure Setup :: only for non-users of "LAMW Manager" !!

2.1 Get Java JDK and Gradle system Apk builder
  • recommended: Java JDK 21 + Gradle version >= 8.5
  • recommended: Java JDK 17 + Gradle version >= 8.1.1
  • deprecated: Java JDK 11 + Gradle version >= 6.7.1
  • minimalist alternative: Java JDK 1.8 + Gradle version <= 6.7
    • JDK 1.8 support the limited but light Ant system Apk build
2.2 Get Android SDK
  • recommended: supporting JDK 21 + Gradle version >= 8.5
  • how To:
    • unpacked command line tools ".zip" to a "temporary" folder
    • create a directory tree like: C:\android\sdkJ21\cmdline-tools\latest
    • Copy all content from "temporary" folder to exactly "...\sdkJ21\cmdline-tools\latest"
    • Open a terminal or cmd and go to "...\sdkJ21\cmdline-tools\latest\bin"
      • run the command >> sdkmanager "build-tools;35.0.0" "platforms;android-35" "platform-tools"
      • hint: you can get others android components by sdkmanager...
  • recommended: supporting JDK 17 + Gradle version >= 8.1.1
  • how To:
    • unpacked command line tools ".zip" to a "temporary" folder
    • create a directory tree like: C:\android\sdkJ17\cmdline-tools\latest
    • Copy all content from "temporary" folder to exactly "...\sdkJ17\cmdline-tools\latest"
    • Open a terminal or cmd and go to "...\sdkJ17\cmdline-tools\latest\bin"
      • run the command >> sdkmanager "build-tools;35.0.0" "platforms;android-35" "platform-tools"
      • hint: you can get others android components by sdkmanager...
  • deprecated: supporting JDK 11 + Gradle version >= 6.7.1
  • how To:
    • unpacked command line tools ".zip" to a "temporary" folder
    • create a directory tree like: C:\android\sdkJ11\cmdline-tools\latest
    • Copy all content from "temporary" folder to exactly "...\sdkJ11\cmdline-tools\latest"
    • Open a terminal or cmd and go to "...\sdkJ11\cmdline-tools\latest\bin"
      • run the command >> sdkmanager "build-tools;35.0.0" "platforms;android-35" "platform-tools"
      • hint: you can get others android components by sdkmanager...
  • minimalist alternative: supporting JDK 1.8 + limited but light Ant system Apk build + Gradle <= 6.7
  • how to:
    • unpacked/install the ".zip" file to a folder like "sdkJ1.8"
    • open a command line terminal or cmd and go to folder the "sdkJ1.8\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 or up package!
    • IMPORTANT: on command line terminal or cmd go to folder "sdkJ1.8\tools\bin"
      • run the command >>sdkmanager --update
      • run the command >>sdkmanager "build-tools;30.0.2" "platforms;android-35"
    • IMPORTANT: build-tools = 30.0.3 is the maximum supported in this setup!
2.3 Get Android NDK
  • recommended version
2.4 Get Ant builder
  • Simply extract the zip file to a convenient location...
2.5 Get Gradle builder
  • recommended versions
    • Java JDK 21: Gradle 8.5 or up
    • Java JDK 17: Gradle 8.2.1 or up
    • Java JDK 11: Gradle 7.6.3 or up
    • Java JDK 1.8: Gradle 6.7 or down
      • Use the option "extract here" to produce the folder "gradle-x.y.z" in a convenient location...
      • warning: Gradle build process need internet connection!!!

3. Using LAMW

  • 3.1) Configure Paths:
    • Lazarus IDE menu "Tools" -> "[LAMW] Android Module Wizard" -> "Paths Settings ..."
      • hint: [MacOs >= 10.5] Path to Java JDK auto setting as: ${/usr/libexec/java_home}
  • 3.2) How to: Create and Run your first Android Apk!
    • 3.2.1) From Lazarus IDE select "Project" -> "New Project"
    • 3.2.2) From displayed dialog select "[LAMW] GUI Android Module" and "Ok"
    • 3.2.3) Fill the displayed form fields and "Ok" and "Save"
      • hint: "Path to Workspace" is your projects folder!
      • hint: Accept "default" options! (but pay attention to the * signage)
      • hint: search your project folder... you will find many treasures there! (look for lazarus project in ".../jni" folder)
    • 3.2.4) From Lazarus IDE select "Run" -> "Build"
      • Success! Your sistem is up to produce your first Android Apk!
    • 3.2.5) Configure you phone device to debug mode/developer options and plug it to the computer usb port
    • 3.2.6) From Lazarus IDE select "Run" -> "[LAMW] Build Apk and Run"
      • Congratulations! You are now an Android Developer!

4. Others References

Tutorial: My First "Hello Word" App
"Getting Started" doc
"History and Change Log" doc
Getting Help: Lazarus Forum

N|Solid