Sign in Join
Wiki copytemporary

Android tutorial/ru

English · Español · Русский

(Android only)

Windows

Это краткое руководство по созданию приложений для Android с помощью Lazarus.

В этом уроке предполагается использование версий JDK 1.6u45 + SDK 22.2.1 + ndk-r9 + Laz4Android1.1-41139-FPC2.7.1

Подготовка папки

Создайте на диске C:\ папку под названием "Android"

Установка JDK

  1. u45 (я установил jdk-6u45-windows-x64.exe) arm-linux-androideabi/bin http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html#jdk-6u45-oth-JPR

Он должен был установлен в C:\Program Files\Java\.

Установка SDK

Установка NDK

Установка Laz4Android

Загружаем его отсюда https://skydrive.live.com/?cid=89ae6b50650182c6&id=89AE6B50650182C6!149

Новая версия может быть загружена отсюда:1

Распаковываем Laz4Android1.1-41139-FPC2.7.1.7z в C:\Android\laz4android

Копируем:

C:\Android\android-ndk-r9\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-*.exe

в

C:\Android\laz4android\fpc\2.7.1\bin\i386-win32\*

Редактируем файл C:\Android\laz4android\build.bat таким образом:

dos
SET FPC_BIN_PATH=C:\Android\laz4android

Запускаем build.bat (doubleclick) -> Он скомпилирует и пересоберет lazarus.

Rebuild Laz4Android IDE

Run C:\Android\laz4android\lazarus.exe

Select "Start IDE"

select "Package" "Install/Uninstall Packages"

select customdrawn 0.0 > install selection and hit save and rebuild IDE , continue

Compile the demo "androidlcl"

Copy C:\Android\laz4android\examples\androidlcl at C:\Android\Projects\androidlcl

Run "C:\Android\laz4android\lazarus.exe"

File > open "C:\Android\Projects\androidlcl\androidlcltest.lpr"

Project > project options

Compiler options > select "Release TAndroid"

Paths >

Libraries -Ll : C:\Android\android-ndk-r9\platforms\android-8\arch-arm\usr\lib;C:\Android\android-ndk-r9\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\lib\gcc\arm-linux-androideabi\4.6

Target file name : android\libs\armeabi\liblclapp.so

Code generation

 Target OS -T android
 Target CPU -P arm
 Target processor default

Linking :

 Enable strip symbols (-Xs)

Other : -dANDROID -Xd -CpARMV6 -FLlibdl.so

Ide macro values : macro name : LCLWidgetType macro value : customdrawn

Now Run > Compile this will generate this library : C:\Android\Projects\androidlcl\android\libs\armeabi\liblclapp.so [5.073 kb]

Deployment

C:\Android\Projects\androidlcl\android\generate_debug_key.bat

Modify the first 6 lines like this :

dos
REM Adjust these paths to yours
SET PATH=C:\Android\android-sdk\tools;C:\Android\android-sdk\build-tools\17.0.0;C:\Android\android-sdk\platform-tools\;C:\Progra~1\Java\jdk1.6.0_45\bin
SET APP_NAME=lcltest
SET ANDROID_HOME=C:\Android\android-sdk
SET APK_SDK_PLATFORM=C:\Android\android-sdk\platforms\android-8
SET APK_PROJECT_PATH=C:\Android\Projects\androidlcl\android

Run "generate_debug_key.bat"

Use as password : "senhas"

This will produce the file :

C:\Android\Projects\androidlcl\android\bin\LCLDebugKey.keystore

C:\Android\Projects\androidlcl\android\build_debug_apk.bat

Modify the first 6 lines like this :

dos
REM Adjust these paths to yours
SET PATH=C:\Android\android-sdk\tools;C:\Android\android-sdk\build-tools\17.0.0;C:\Android\android-sdk\platform-tools\;C:\Progra~1\Java\jdk1.6.0_45\bin
SET APP_NAME=lcltest
SET ANDROID_HOME=C:\Android\android-sdk
SET APK_SDK_PLATFORM=C:\Android\android-sdk\platforms\android-8
SET APK_PROJECT_PATH=C:\Android\Projects\androidlcl\android

I had to change mine to this on sdk version 22:

dos
SET APK_BUILD_TOOLS=C:\development\android-sdk\build-tools\22.0.1
SET PATH=C:\development\android-sdk\tools;C:\development\android-sdk\platform-tools\;C:\Program Files\Java\jdk1.7.0_79\bin;%APK_BUILD_TOOLS%
SET APP_NAME=androidlcl
SET ANDROID_HOME=C:\development\android-sdk
SET APK_SDK_PLATFORM=C:\development\android-sdk\platforms\android-22
SET APK_PROJECT_PATH=C:\Android\Projects\androidlcl\android

and these lines:

REM Convert the java bytecode to dalvik bytecode
::REM For older SDKs: call dx --dex --verbose --output=%APK_PROJECT_PATH%\bin\classes.dex %APK_PROJECT_PATH%\bin\classes
::REM For older SDKs:  call java -Djava.ext.dirs=%ANDROID_HOME%\platform-tools\lib\ -jar %ANDROID_HOME%\platform-tools\lib\dx.jar --dex --verbose --output=%APK_PROJECT_PATH%\bin\classes.dex %APK_PROJECT_PATH%\bin\classes
call java -Djava.ext.dirs=%ANDROID_HOME%\platform-tools\lib\;%APK_BUILD_TOOLS%\lib\ -jar %APK_BUILD_TOOLS%\lib\dx.jar --dex --verbose --output=%APK_PROJECT_PATH%\bin\classes.dex %APK_PROJECT_PATH%\bin\classes

run "build_debug_apk.bat" answer at the questions and give the password "senhas" when asked

This will generate

C:\Android\Projects\androidlcl\android\bin\lcltest.apk [1.549 kb]

START > AVD Manager

New > AVD name > give a name

Device 5.1 WVGA

Target Android 4 API 14

Hit OK

Once created select the virtual device and hit "start" > "Launch" wait a couple of minutes.

C:\Android\Projects\androidlcl\android\adb_install.bat

Modify like this :

dos
REM Adjust these paths to yours
SET PATH=C:\Android\android-sdk\tools;C:\Android\android-sdk\build-tools\17.0.0;C:\Android\android-sdk\platform-tools\;C:\Progra~1\Java\jdk1.6.0_45\bin

adb uninstall com.pascal.lcltest
adb install bin\lcltest.apk

pause

Run "adb_install.bat" . This will install the "LCL Test" into your Virtual device

Edit with a text editor the file

C:\Android\Projects\androidlcl\android\adb_install.bat

like this :

dos
REM Adjust these paths to yours
SET PATH=C:\Android\android-sdk\tools;C:\Android\android-sdk\build-tools\17.0.0;C:\Android\android-sdk\platform-tools\;C:\Progra~1\Java\jdk1.6.0_45\bin

adb logcat > std.txt

pause

By running this you will get a debug file here :

C:\Android\Projects\androidlcl\android\std.txt

Enjoy !

Links

Linux

Note: Work in progress...

This is a quick tutorial on how to create android apps with Lazarus.

In this tutorial assume used versions are Ubuntu 13.10, OpenJDK 1.7.0_51, SDK 22.2.1, ndk-r9, Laz4Android1.1-41139-FPC2.7.1

Prepare folder

Create directory ~\Android

Install OpenJDK

bash
sudo apt-get install openjdk-7-jdk

Install SDK

Go to http://developer.android.com/sdk/index.html

DOWNLOAD FOR OTHER PLATFORMS > SDK Tools Only

android-sdk_r22.6.2-linux.tgz (Recommended)

Extract SDK () into ~\Android\android-sdk

bash
tar -zxvf android-sdk_r22.6.2-linux.tgz

Now update the SDK (Start ~\Android\android-sdk\tools\android)

add android 4.0 (API 14)

add android 2.2 (API 8]

Install packages.

Install NDK

http://developer.android.com/tools/sdk/ndk/index.html

Download only the file android-ndk-r9d-linux-x86.tar.bz2

Extract android-ndk-r9d-linux-x86.tar.bz2 into ~\Android\android-ndk-r9

bash
tar -jxvf android-ndk-r9d-linux-x86.tar.bz2

Build FPC 2.7.1

Install latest FPC distribution package:

bash
sudo apt-get install fpc

Download latest FPC trunk from SVN:

bash
svn co http://svn.freepascal.org/svn/fpc/trunk/ ~/Android/fpcsrc

Build FPC trunk for ARM to ~/Android/fpc:

bash
make crossinstall CPU_TARGET=arm OS_TARGET=linux \
CROSSBINDIR=~/Android/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/arm-linux-androideabi/bin OPT=-dFPC_ARMEL INSTALL_PREFIX=~/Android/fpc

Rebuild Lazarus IDE

Run ~\Android\lazarus

Select "Start IDE"

select "Package" "Install/Uninstall Packages"

select customdrawn 0.0 > install selection and hit save and rebuild IDE , continue

Links


From the Free Pascal wiki, page "Android tutorial/ru", as it stood on 2020-06-26 after a change by Zoltanleo, 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.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.