Android tutorial/ru
(Android only)
Windows
Это краткое руководство по созданию приложений для Android с помощью Lazarus.
В этом уроке предполагается использование версий JDK 1.6u45 + SDK 22.2.1 + ndk-r9 + Laz4Android1.1-41139-FPC2.7.1
Подготовка папки
Создайте на диске C:\ папку под названием "Android"
Установка JDK
- 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
- Заходим по адресу https://developer.android.com/studio
- Находим раздел "Command line tools only" --> загружаем SDK Commandline Tools для:
- Устанавливаем sdk (installer_r22.2.1-windows) в папку C:\Android\android-sdk
- Копируем в папку "C:\Android\android-sdk\tools" файл "apkbuilder.bat" (может быть найден здесь)
- Теперь обновляем SDK [WIN "Старт" --> SDK Manager ]
- Добавляем android 4.0 (API 14)
- Добавляем android 2.2 (API 8]
- Устанавливаем пакеты.
Установка NDK
- Переходим для загрузки последних стабильных х64 версий или не поддерживаемых версий
- Загружаем только файл android-ndk-r9-windows-x86.zip
- Распаковываем android-ndk-r9-windows-x86.zip в папку C:\Android\android-ndk-r9
Установка 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 таким образом:
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
- Edit with a text editor
C:\Android\Projects\androidlcl\android\generate_debug_key.bat
Modify the first 6 lines like this :
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\androidRun "generate_debug_key.bat"
Use as password : "senhas"
This will produce the file :
C:\Android\Projects\androidlcl\android\bin\LCLDebugKey.keystore
- Edit with a text editor
C:\Android\Projects\androidlcl\android\build_debug_apk.bat
Modify the first 6 lines like this :
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\androidI had to change mine to this on sdk version 22:
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\classesrun "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]
- Create an Android Virtual Device
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.
- Edit with a text editor
C:\Android\Projects\androidlcl\android\adb_install.bat
Modify like this :
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
pauseRun "adb_install.bat" . This will install the "LCL Test" into your Virtual device
- Debugging
Edit with a text editor the file
C:\Android\Projects\androidlcl\android\adb_install.bat
like this :
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
pauseBy running this you will get a debug file here :
C:\Android\Projects\androidlcl\android\std.txt
Enjoy !
Links
- [http://forum.lazarus.freepascal.org/index.php/topic,22414.msg141964.html? Original forum topic]
- Lazarus and Android PDF tutorial with images
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
sudo apt-get install openjdk-7-jdkInstall 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
tar -zxvf android-sdk_r22.6.2-linux.tgzNow 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
tar -jxvf android-ndk-r9d-linux-x86.tar.bz2Build FPC 2.7.1
Install latest FPC distribution package:
sudo apt-get install fpcDownload latest FPC trunk from SVN:
svn co http://svn.freepascal.org/svn/fpc/trunk/ ~/Android/fpcsrcBuild FPC trunk for ARM to ~/Android/fpc:
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/fpcRebuild 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.
Talk about this page
Nobody has opened a bench for this page yet. Sign in to open one.
