Sign in Join
Wiki copytemporary

Android tutorial/ru: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Android tutorial/ru

OldNewLine
1+*(Android only)*
2+
3+# Windows
4+
5+Это краткое руководство по созданию приложений для Android с помощью Lazarus.
6+
7+В этом уроке предполагается использование версий JDK 1.6u45 + SDK 22.2.1 + ndk-r9 + Laz4Android1.1-41139-FPC2.7.1
8+
9+## Подготовка папки
10+
11+Создайте на диске C:\\ папку под названием "Android"
12+
13+## Установка JDK
14+
15+1.6u45 (я установил 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>
16+
17+Он должен был установлен в C:\Program Files\Java\\.
18+
19+## Установка SDK
20+
21+- Заходим по адресу <https://developer.android.com/studio>
22+- Находим раздел "Command line tools only" --\> загружаем SDK Commandline Tools для:
23+ - [Windows](https://dl.google.com/android/repository/commandlinetools-win-6514223_latest.zip)
24+ - [Mac](https://dl.google.com/android/repository/commandlinetools-mac-6514223_latest.zip)
25+ - [Linux](https://dl.google.com/android/repository/commandlinetools-linux-6514223_latest.zip)
26+
27+- Устанавливаем sdk (installer_r22.2.1-windows) в папку C:\Android\android-sdk
28+- Копируем в папку "C:\Android\android-sdk\tools" файл "apkbuilder.bat" (может быть найден [здесь](https://github.com/ACSOP/android_sdk/raw/master/apkbuilder/etc/apkbuilder.bat))
29+- Теперь обновляем SDK \[WIN "Старт" --\> SDK Manager \]
30+- Добавляем android 4.0 (API 14)
31+- Добавляем android 2.2 (API 8\]
32+- Устанавливаем пакеты.
33+
34+## Установка NDK
35+
36+- Переходим для загрузки [последних стабильных х64 версий](https://developer.android.com/ndk/downloads) или [не поддерживаемых версий](https://developer.android.com/ndk/downloads/older_releases)
37+- Загружаем только файл android-ndk-r9-windows-x86.zip
38+- Распаковываем android-ndk-r9-windows-x86.zip в папку C:\Android\android-ndk-r9
39+
40+## Установка Laz4Android
41+
42+Загружаем его отсюда <https://skydrive.live.com/?cid=89ae6b50650182c6&id=89AE6B50650182C6!149>
43+
44+Новая версия может быть загружена отсюда:[1](http://sourceforge.net/projects/laz4android/)
45+
46+Распаковываем Laz4Android1.1-41139-FPC2.7.1.7z в C:\Android\laz4android
47+
48+Копируем:
49+
50+C:\Android\android-ndk-r9\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-*.exe
51+
52+в
53+
54+C:\Android\laz4android\fpc\2.7.1\bin\i386-win32\\*
55+
56+Редактируем файл C:\Android\laz4android\build.bat таким образом:
57+
58+```dos
59+SET FPC_BIN_PATH=C:\Android\laz4android
60+```
61+
62+Запускаем build.bat (doubleclick) -\> Он скомпилирует и пересоберет lazarus.
63+
64+## Rebuild Laz4Android IDE
65+
66+Run C:\Android\laz4android\lazarus.exe
67+
68+Select "Start IDE"
69+
70+select "Package" "Install/Uninstall Packages"
71+
72+select customdrawn 0.0 \> install selection and hit save and rebuild IDE , continue
73+
74+## Compile the demo "androidlcl"
75+
76+Copy C:\Android\laz4android\examples\androidlcl at C:\Android\Projects\androidlcl
77+
78+Run "C:\Android\laz4android\lazarus.exe"
79+
80+File \> open "C:\Android\Projects\androidlcl\androidlcltest.lpr"
81+
82+Project \> project options
83+
84+Compiler options \> select "Release TAndroid"
85+
86+Paths \>
87+
88+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
89+
90+Target file name : android\libs\armeabi\liblclapp.so
91+
92+Code generation
93+
94+` Target OS -T android`\
95+` Target CPU -P arm`\
96+` Target processor default`
97+
98+Linking :
99+
100+` Enable strip symbols (-Xs)`
101+
102+Other : -dANDROID -Xd -CpARMV6 -FLlibdl.so
103+
104+Ide macro values : macro name : LCLWidgetType macro value : customdrawn
105+
106+Now Run \> Compile this will generate this library : C:\Android\Projects\androidlcl\android\libs\armeabi\liblclapp.so \[5.073 kb\]
107+
108+## Deployment
109+
110+- Edit with a text editor
111+
112+C:\Android\Projects\androidlcl\android\generate_debug_key.bat
113+
114+Modify the first 6 lines like this :
115+
116+```dos
117+REM Adjust these paths to yours
118+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
119+SET APP_NAME=lcltest
120+SET ANDROID_HOME=C:\Android\android-sdk
121+SET APK_SDK_PLATFORM=C:\Android\android-sdk\platforms\android-8
122+SET APK_PROJECT_PATH=C:\Android\Projects\androidlcl\android
123+```
124+
125+Run "generate_debug_key.bat"
126+
127+Use as password : "senhas"
128+
129+This will produce the file :
130+
131+C:\Android\Projects\androidlcl\android\bin\LCLDebugKey.keystore
132+
133+- Edit with a text editor
134+
135+C:\Android\Projects\androidlcl\android\build_debug_apk.bat
136+
137+Modify the first 6 lines like this :
138+
139+```dos
140+REM Adjust these paths to yours
141+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
142+SET APP_NAME=lcltest
143+SET ANDROID_HOME=C:\Android\android-sdk
144+SET APK_SDK_PLATFORM=C:\Android\android-sdk\platforms\android-8
145+SET APK_PROJECT_PATH=C:\Android\Projects\androidlcl\android
146+```
147+
148+I had to change mine to this on sdk version 22:
149+
150+```dos
151+SET APK_BUILD_TOOLS=C:\development\android-sdk\build-tools\22.0.1
152+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%
153+SET APP_NAME=androidlcl
154+SET ANDROID_HOME=C:\development\android-sdk
155+SET APK_SDK_PLATFORM=C:\development\android-sdk\platforms\android-22
156+SET APK_PROJECT_PATH=C:\Android\Projects\androidlcl\android
157+
158+and these lines:
159+
160+REM Convert the java bytecode to dalvik bytecode
161+::REM For older SDKs: call dx --dex --verbose --output=%APK_PROJECT_PATH%\bin\classes.dex %APK_PROJECT_PATH%\bin\classes
162+::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
163+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
164+```
165+
166+run "build_debug_apk.bat" answer at the questions and give the password "senhas" when asked
167+
168+This will generate
169+
170+C:\Android\Projects\androidlcl\android\bin\lcltest.apk \[1.549 kb\]
171+
172+- Create an Android Virtual Device
173+
174+START \> AVD Manager
175+
176+New \> AVD name \> give a name
177+
178+Device 5.1 WVGA
179+
180+Target Android 4 API 14
181+
182+Hit OK
183+
184+Once created select the virtual device and hit "start" \> "Launch" wait a couple of minutes.
185+
186+- Edit with a text editor
187+
188+C:\Android\Projects\androidlcl\android\adb_install.bat
189+
190+Modify like this :
191+
192+```dos
193+REM Adjust these paths to yours
194+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
195+
196+adb uninstall com.pascal.lcltest
197+adb install bin\lcltest.apk
198+
199+pause
200+```
201+
202+Run "adb_install.bat" . This will install the "LCL Test" into your Virtual device
203+
204+- Debugging
205+
206+Edit with a text editor the file
207+
208+C:\Android\Projects\androidlcl\android\adb_install.bat
209+
210+like this :
211+
212+```dos
213+REM Adjust these paths to yours
214+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
215+
216+adb logcat > std.txt
217+
218+pause
219+```
220+
221+By running this you will get a debug file here :
222+
223+C:\Android\Projects\androidlcl\android\std.txt
224+
225+Enjoy !
226+
227+## Links
228+
229+- \[<http://forum.lazarus.freepascal.org/index.php/topic,22414.msg141964.html>? Original forum topic\]
230+- [Lazarus and Android PDF tutorial with images](http://sourceforge.net/projects/laztoapk/files/Lazarus%20and%20Android.pdf/download)
231+
232+# Linux
233+
234+> **Note:** Work in progress...
235+
236+This is a quick tutorial on how to create android apps with Lazarus.
237+
238+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
239+
240+## Prepare folder
241+
242+Create directory ~\Android
243+
244+## Install OpenJDK
245+
246+``` bash
247+sudo apt-get install openjdk-7-jdk
248+```
249+
250+## Install SDK
251+
252+Go to <http://developer.android.com/sdk/index.html>
253+
254+DOWNLOAD FOR OTHER PLATFORMS \> SDK Tools Only
255+
256+android-sdk_r22.6.2-linux.tgz (Recommended)
257+
258+Extract SDK () into ~\Android\android-sdk
259+
260+``` bash
261+tar -zxvf android-sdk_r22.6.2-linux.tgz
262+```
263+
264+Now update the SDK (Start ~\Android\android-sdk\tools\android)
265+
266+add android 4.0 (API 14)
267+
268+add android 2.2 (API 8\]
269+
270+Install packages.
271+
272+## Install NDK
273+
274+<http://developer.android.com/tools/sdk/ndk/index.html>
275+
276+Download only the file android-ndk-r9d-linux-x86.tar.bz2
277+
278+Extract android-ndk-r9d-linux-x86.tar.bz2 into ~\Android\android-ndk-r9
279+
280+``` bash
281+tar -jxvf android-ndk-r9d-linux-x86.tar.bz2
282+```
283+
284+## Build FPC 2.7.1
285+
286+Install latest FPC distribution package:
287+
288+``` bash
289+sudo apt-get install fpc
290+```
291+
292+Download latest FPC trunk from SVN:
293+
294+``` bash
295+svn co http://svn.freepascal.org/svn/fpc/trunk/ ~/Android/fpcsrc
296+```
297+
298+Build FPC trunk for ARM to ~/Android/fpc:
299+
300+``` bash
301+make crossinstall CPU_TARGET=arm OS_TARGET=linux \
302+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
303+```
304+
305+## Rebuild Lazarus IDE
306+
307+Run ~\Android\lazarus
308+
309+Select "Start IDE"
310+
311+select "Package" "Install/Uninstall Packages"
312+
313+select customdrawn 0.0 \> install selection and hit save and rebuild IDE , continue
314+
315+## Links
316+
317+- [Android Programming with Lazarus through Custom Drawn Interface](http://pascalgeek.blogspot.cz/2013/10/android-programming-with-lazarus.html)
318+
319+---
320+*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](/wiki-contact).*

Back to history