Difference between revisions of "Android tutorial/es"

From Free Pascal wiki
Jump to navigationJump to search
Line 261: Line 261:
 
<syntaxhighlight lang="bash">sudo apt-get install openjdk-7-jdk</syntaxhighlight>
 
<syntaxhighlight lang="bash">sudo apt-get install openjdk-7-jdk</syntaxhighlight>
  
==Install SDK==
+
==Instalar SDK (Software Development Kit)==
Go to http://developer.android.com/sdk/index.html
+
Ir a http://developer.android.com/sdk/index.html
  
DOWNLOAD FOR OTHER PLATFORMS > SDK Tools Only
+
DESCARGAS PARA OTRA PLATAFORMA > SDK Tools Only
  
android-sdk_r22.6.2-linux.tgz (Recommended)
+
android-sdk_r22.6.2-linux.tgz (Recomendado)
  
Extract SDK () into ~\Android\android-sdk
+
Extraer SDK () dentro de ~\Android\android-sdk
 
<syntaxhighlight lang="bash">tar -zxvf android-sdk_r22.6.2-linux.tgz</syntaxhighlight>
 
<syntaxhighlight lang="bash">tar -zxvf android-sdk_r22.6.2-linux.tgz</syntaxhighlight>
  
  
Now update the SDK (Start ~\Android\android-sdk\tools\android)
+
Ahora actualizar el SDK (Start ~\Android\android-sdk\tools\android)
  
add android 4.0 (API 14)
+
añadir android 4.0 (API 14)
  
add android 2.2 (API 8]
+
añadir android 2.2 (API 8]
  
Install packages.
+
Instalar los paquetes.
  
 
==Instalar NDK==
 
==Instalar NDK==

Revision as of 14:20, 13 May 2015

Windows

Este es un tutorial rápido sobre como crear aplicaciones para Android con Lazarus.

Para este tutorial se asumen los siguientes programas que deben tener las versiones que se muestran a continuación:

JDK 1.6u45 SDK 22.2.1 NDK-r9 Laz4Android1.1-41139-FPC2.7.1

Adicionalmente ver:

http://wiki.lazarus.freepascal.org/Custom_Drawn_Interface/Android#Step_3_-_Create_the_Android_project_structure

http://wiki.lazarus.freepascal.org/Custom_Drawn_Interface/Android#Step_4_-_Creating_the_APK_package_in_Windows

Preparando una carpeta

Crear en C:\ una carpeta llamada "Android"

Instalar JDK (Java Development Kit)

1.6u45 (yo he instalado 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

Esto se debe instalar en C:\Program Files\Java\. o bien C:\Archivos de Programa\Java\. (Supongo que la instalación en español será así y no influirá a la hora de que lo encuentre laztoapk).

Instalando SDK

Ir a http://developer.android.com/sdk/index.html

DOWNLOAD FOR OTHER PLATFORMS > SDK Tools Only

installer_r22.2.1-windows.exe (Recommendado)

Instalar sdk (installer_r22.2.1-windows) en C:\Android\android-sdk

Copiar a "C:\Android\android-sdk\tools" el fichero "apkbuilder.bat" (lo podemos encontrar aquí:

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

Ahora actualizamos el SDK [WIN START > SDK Manager ]

añadimosandroid 4.0 (API 14)

añadimos android 2.2 (API 8]

Instalamos los paquetes.

Instalando NDK

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

Descargar únicamente el fichero android-ndk-r9-windows-x86.zip

Descomprimir android-ndk-r9-windows-x86.zip dentro de C:\Android\android-ndk-r9

Instalando Laz4Android

Descargarlo desde https://skydrive.live.com/?cid=89ae6b50650182c6&id=89AE6B50650182C6!149

(A fecha Marzo 2015 se puede descargar de http://sourceforge.net/projects/laz4android/?source=directory donde se encuentra en la versión laz4android1.5-47987-FPC3.1.1.exe). He traducido el tutorial a pesar de todo pero que sepais que ya ha trancurrido bastante tiempo desde que se escribió.

Descomprimir Laz4Android1.1-41139-FPC2.7.1.7z dentro de C:\Android\laz4android

Copiar

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

a

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

Editar el fichero C:\Android\laz4android\build.bat like this :

SET FPC_BIN_PATH=C:\Android\laz4android

Ejecutar build.bat (doble click) -> Esto compilará y reconstruirá Lazarus.

Reconstruir el IDE de Laz4Android

Ejecutar C:\Android\laz4android\lazarus.exe

Seleccionar "Arrancar IDE"

Seleccionar "Paquete" "Instalar/Desinstalar Paquetes"

Seleccionar customdrawn 0.0 > Instalar selección y pulsar salvar para reconstruir el IDE, continuar.

Compilando la demo "androidlcl"

Copia C:\Android\laz4android\examples\androidlcl en C:\Android\Projects\androidlcl

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

Archivo > Abrir "C:\Android\Projects\androidlcl\androidlcltest.lpr"

Proyecto > Opciones del Proyecto > Opciones del Compilador > Seleccionar "Release TAndroid"

Rutas >

Libraries -Fl : 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

 SO Deseado (-T) -> Android
 Familia CPU deseada (-P) -> arm
 Procesador deseado (-Cp) -> (predeterminada)

Enlazado:

 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


I 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\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]


  • 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

Prepare folder

Create directory ~\Android

Install OpenJDK

sudo apt-get install openjdk-7-jdk

Instalar SDK (Software Development Kit)

Ir a http://developer.android.com/sdk/index.html

DESCARGAS PARA OTRA PLATAFORMA > SDK Tools Only

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

Extraer SDK () dentro de ~\Android\android-sdk

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


Ahora actualizar el SDK (Start ~\Android\android-sdk\tools\android)

añadir android 4.0 (API 14)

añadir android 2.2 (API 8]

Instalar los paquetes.

Instalar NDK

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

Descargar únicamente el fichero android-ndk-r9d-linux-x86.tar.bz2

Extraer android-ndk-r9d-linux-x86.tar.bz2 dentro de ~\Android\android-ndk-r9

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

Construir FPC 2.7.1

Instalar el último paquete de distribución FPC disponible:

sudo apt-get install fpc

Descargar el FPC trunk más actual desde el SVN:

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

Construir el trunk de para ARM hacia ~/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/fpc

Reconstruir el IDE de Lazarus

Ejecutar ~\Android\lazarus

Selecciona "Start IDE"

Selecciona "Paquete" "Instalar/Desinstalar Paquetes"

Selecciona customdrawn 0.0 > Instalar la selección y pulsar salvar y reconstruir IDE , continuar

Enlaces