Difference between revisions of "Android tutorial"

From Lazarus wiki
Jump to navigationJump to search
(use drive C instead of D for projects)
Line 77: Line 77:
  
 
==Compiling the demo "androidlcl"==
 
==Compiling the demo "androidlcl"==
Copy C:\Android\laz4android\examples\androidlcl at D:\Projects\android\androidlcl
+
Copy C:\Android\laz4android\examples\androidlcl at C:\Android\Projects\androidlcl
  
 
Run "C:\Android\laz4android\lazarus.exe"
 
Run "C:\Android\laz4android\lazarus.exe"
  
File > open "D:\Projects\android\androidlcl\androidlcltest.lpr"
+
File > open "C:\Android\Projects\androidlcl\androidlcltest.lpr"
  
 
Project > project options
 
Project > project options
Line 111: Line 111:
 
Now
 
Now
 
Run > Compile this will generate this library :
 
Run > Compile this will generate this library :
D:\Projects\android\androidlcl\android\libs\armeabi\liblclapp.so [5.073 kb]
+
C:\Android\Projects\androidlcl\android\libs\armeabi\liblclapp.so [5.073 kb]
  
  
Line 117: Line 117:
  
 
* Edit with a text editor
 
* Edit with a text editor
D:\Projects\android\androidlcl\android\generate_debug_key.bat
+
C:\Android\Projects\androidlcl\android\generate_debug_key.bat
  
 
Modify the first 6 lines like this :
 
Modify the first 6 lines like this :
Line 127: Line 127:
 
SET ANDROID_HOME=C:\Android\android-sdk
 
SET ANDROID_HOME=C:\Android\android-sdk
 
SET APK_SDK_PLATFORM=C:\Android\android-sdk\platforms\android-8
 
SET APK_SDK_PLATFORM=C:\Android\android-sdk\platforms\android-8
SET APK_PROJECT_PATH=D:\Projects\android\androidlcl\android
+
SET APK_PROJECT_PATH=C:\Android\Projects\androidlcl\android
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 136: Line 136:
 
This will produce the file :
 
This will produce the file :
  
D:\Projects\android\androidlcl\android\bin\LCLDebugKey.keystore
+
C:\Android\Projects\androidlcl\android\bin\LCLDebugKey.keystore
  
  
 
* Edit with a text editor
 
* Edit with a text editor
D:\Projects\android\androidlcl\android\build_debug_apk.bat
+
C:\Android\Projects\androidlcl\android\build_debug_apk.bat
  
 
Modify the first 6 lines like this :
 
Modify the first 6 lines like this :
Line 149: Line 149:
 
SET ANDROID_HOME=C:\Android\android-sdk
 
SET ANDROID_HOME=C:\Android\android-sdk
 
SET APK_SDK_PLATFORM=C:\Android\android-sdk\platforms\android-8
 
SET APK_SDK_PLATFORM=C:\Android\android-sdk\platforms\android-8
SET APK_PROJECT_PATH=D:\Projects\android\androidlcl\android
+
SET APK_PROJECT_PATH=C:\Android\Projects\androidlcl\android
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 156: Line 156:
 
This will generate
 
This will generate
  
D:\Projects\android\androidlcl\android\bin\lcltest.apk [1.549 kb]
+
C:\Android\Projects\androidlcl\android\bin\lcltest.apk [1.549 kb]
  
  
Line 174: Line 174:
  
 
* Edit with a text editor
 
* Edit with a text editor
D:\Projects\android\androidlcl\android\adb_install.bat
+
C:\Android\Projects\androidlcl\android\adb_install.bat
  
 
Modify  like this :  
 
Modify  like this :  
Line 193: Line 193:
 
Edit with a text editor the file  
 
Edit with a text editor the file  
  
D:\Projects\android\androidlcl\android\adb_install.bat
+
C:\Android\Projects\androidlcl\android\adb_install.bat
  
 
like this :
 
like this :
Line 207: Line 207:
 
By running this you will get a debug file here :
 
By running this you will get a debug file here :
  
D:\Projects\android\androidlcl\android\std.txt
+
C:\Android\Projects\androidlcl\android\std.txt
  
 
Enjoy !  
 
Enjoy !  

Revision as of 19:25, 2 March 2014

Windows

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

In this tutorial assume used versions JDK 1.6u45 + SDK 22.2.1 + ndk-r9 + Laz4Android1.1-41139-FPC2.7.1

Prepare folder

Create on C:\ a folder called "Android"

Install JDK

1.6u45 (i have installed jdk-6u45-windows-x64.exe)

http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html#jdk-6u45-oth-JPR

It will be installed in to C:\Program Files\Java\.

Installing SDK

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

DOWNLOAD FOR OTHER PLATFORMS > SDK Tools Only

installer_r22.2.1-windows.exe (Recommended)

Install sdk (installer_r22.2.1-windows) into C:\Android\android-sdk

Copy at "C:\Android\android-sdk\tools" the file "apkbuilder.bat" (can be found here

https://github.com/ACSOP/android_sdk/raw/master/apkbuilder/etc/apkbuilder.bat )

Now update the SDK [WIN START > SDK Manager ]

add android 4.0 (API 14)

add android 2.2 (API 8]

Install packages.

Installing NDK

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

Download only the file android-ndk-r9-windows-x86.zip

Unzip android-ndk-r9-windows-x86.zip into C:\Android\android-ndk-r9


Installing Laz4Android1.1-41139-FPC2.7.1.7z

Download it from https://skydrive.live.com/?cid=89ae6b50650182c6&id=89AE6B50650182C6!149

Unzip Laz4Android1.1-41139-FPC2.7.1.7z into C:\Android\laz4android

Copy

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

to

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

Edit the file C:\Android\laz4android\build.bat like this :

SET FPC_BIN_PATH=C:\Android\laz4android

Run build.bat (doubleclick) -> It will compile & bulid lazarus.


Rebuilding 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


Compiling 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\android

Run "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\android

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]


  • 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

pause

Run "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

pause

By running this you will get a debug file here :

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

Enjoy !

Links

Linux