Difference between revisions of "Android tutorial/es"

From Free Pascal wiki
Jump to navigationJump to search
 
(19 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{Android tutorial}}
 
= Windows =
 
= Windows =
  
Line 106: Line 107:
 
Rutas >  
 
Rutas >  
  
Libraries -Fl :
+
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
 
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 :
+
Nombre de fichero destino:
 
android\libs\armeabi\liblclapp.so
 
android\libs\armeabi\liblclapp.so
  
Code generation
+
Generación de Código:
 
   SO Deseado (-T) -> Android
 
   SO Deseado (-T) -> Android
 
   Familia CPU deseada (-P) -> arm
 
   Familia CPU deseada (-P) -> arm
Line 121: Line 122:
 
   Enable strip symbols (-Xs)
 
   Enable strip symbols (-Xs)
  
Other : -dANDROID -Xd -CpARMV6 -FLlibdl.so
+
Otros : -dANDROID -Xd -CpARMV6 -FLlibdl.so
  
 
Ide macro values :
 
Ide macro values :
Line 127: Line 128:
 
macro value : customdrawn
 
macro value : customdrawn
  
Now
+
Ahora:
Run > Compile this will generate this library :
+
ejecutar > Compilar Lo cual generará la librería:
 
C:\Android\Projects\androidlcl\android\libs\armeabi\liblclapp.so [5.073 kb]
 
C:\Android\Projects\androidlcl\android\libs\armeabi\liblclapp.so [5.073 kb]
  
==Deployment==
+
==Desarrollo==
  
* Edit with a text editor
+
* Editar con un editor de texto:
 
C:\Android\Projects\androidlcl\android\generate_debug_key.bat
 
C:\Android\Projects\androidlcl\android\generate_debug_key.bat
  
Modify the first 6 lines like this :
+
Modificar las 6 primeras líneas tal como figura a contiuación:
  
 
<syntaxhighlight lang="dos">
 
<syntaxhighlight lang="dos">
REM Adjust these paths to yours
+
REM Ajusta estas rutas adecuándolas a tu instalación
 
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 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 APP_NAME=lcltest
Line 147: Line 148:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Run "generate_debug_key.bat"
+
Ejecutar "generate_debug_key.bat"
  
Use as password : "senhas"
+
Utilizar como contraseña: "senhas"
  
This will produce the file :
+
Esto generará el fichero:
  
 
C:\Android\Projects\androidlcl\android\bin\LCLDebugKey.keystore
 
C:\Android\Projects\androidlcl\android\bin\LCLDebugKey.keystore
  
  
* Edit with a text editor
+
* Editar con un editor de texto:
 
C:\Android\Projects\androidlcl\android\build_debug_apk.bat
 
C:\Android\Projects\androidlcl\android\build_debug_apk.bat
  
Modify the first 6 lines like this :
+
Modificar las primeras 6 líneas para que se parezca a esto:
 
<syntaxhighlight lang="dos">
 
<syntaxhighlight lang="dos">
REM Adjust these paths to yours
+
REM Ajusta estas rutas adecuándolas a tu instalación
 
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 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 APP_NAME=lcltest
Line 170: Line 171:
  
  
I had to change mine to this on sdk version 22:
+
Tengo que cambiar el mio a esto en la versión 22 de SDK:
 
<syntaxhighlight lang="dos">
 
<syntaxhighlight lang="dos">
 
SET APK_BUILD_TOOLS=C:\development\android-sdk\build-tools\22.0.1
 
SET APK_BUILD_TOOLS=C:\development\android-sdk\build-tools\22.0.1
Line 180: Line 181:
  
  
and these lines:
+
Y estas líneas:
  
REM Convert the java bytecode to dalvik bytecode
+
REM Convierte el bytecode java a bytecode dalvik
 
::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 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
 
::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
Line 191: Line 192:
  
  
run "build_debug_apk.bat" answer at the questions and give the password "senhas" when asked
+
Ejecutar "build_debug_apk.bat" respondiendo a las preguntas y entrar la contraseña "senhas" cuando se solicite
  
This will generate
+
Esto generará:
  
 
C:\Android\Projects\androidlcl\android\bin\lcltest.apk [1.549 kb]
 
C:\Android\Projects\androidlcl\android\bin\lcltest.apk [1.549 kb]
  
  
* Create an Android Virtual Device
+
* Crear un Dispositivo Android Virtual:
 +
 
 
START >  AVD Manager
 
START >  AVD Manager
  
Line 207: Line 209:
 
Target Android 4 API 14
 
Target Android 4 API 14
  
Hit OK
+
Pulsar OK
  
Once created select the virtual device and hit "start" > "Launch" wait a couple of minutes.
+
Una vez creado seleccionar el dispositivo virtual creado y pulsar "start" > "Launch" y esperar unos pocos minutos.
 
  
* Edit with a text editor
+
 
 +
* Editar con un editor de texto:
 
C:\Android\Projects\androidlcl\android\adb_install.bat
 
C:\Android\Projects\androidlcl\android\adb_install.bat
  
Modify  like this :  
+
Modificar tal como figura a continuación:  
 
<syntaxhighlight lang="dos">
 
<syntaxhighlight lang="dos">
 
REM Adjust these paths to yours
 
REM Adjust these paths to yours
Line 226: Line 228:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Run "adb_install.bat" . This will install the "LCL Test" into your Virtual device
+
Ejecutar "adb_install.bat" . Esto instalará el "LCL Test" dentro de tu Dispositivo Virtual.
  
  
* Debugging
+
* Depurando
Edit with a text editor the file
+
 
 +
Edita con un editor de ficheros el siguiente fichero de proceso por lotes (.bat):
  
 
C:\Android\Projects\androidlcl\android\adb_install.bat
 
C:\Android\Projects\androidlcl\android\adb_install.bat
  
like this :
+
como esto:
 +
 
 
<syntaxhighlight lang="dos">
 
<syntaxhighlight lang="dos">
 
REM Adjust these paths to yours
 
REM Adjust these paths to yours
Line 244: Line 248:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
By running this you will get a debug file here :
+
Al ejecutar esto obtendremos como salida un fichero de depurado:  
  
 
C:\Android\Projects\androidlcl\android\std.txt
 
C:\Android\Projects\androidlcl\android\std.txt
  
Enjoy !
+
¡ A disfrutarlo ! :)
  
 
==Links==
 
==Links==
  
* [http://forum.lazarus.freepascal.org/index.php/topic,22414.msg141964.html? Original forum topic]
+
* [http://forum.lazarus.freepascal.org/index.php/topic,22414.msg141964.html? Foro original del tema]
* [http://sourceforge.net/projects/laztoapk/files/Lazarus%20and%20Android.pdf/download Lazarus and Android PDF tutorial with images]
+
* [http://sourceforge.net/projects/laztoapk/files/Lazarus%20and%20Android.pdf/download Tutorial Lazarus y Android PDF tutorial con imágenes]
 +
 
 +
==Preparar carpeta==
  
==Prepare folder==
+
Crear el directorio ~\Android
Create directory ~\Android
 
  
==Install OpenJDK==
+
==Instalar OpenJDK==
 
<syntaxhighlight lang="bash">sudo apt-get install openjdk-7-jdk</syntaxhighlight>
 
<syntaxhighlight lang="bash">sudo apt-get install openjdk-7-jdk</syntaxhighlight>
 +
 +
Más información sobre OpenJDK en: http://openjdk.java.net/
 +
 +
==Instalar SDK (Software Development Kit)==
 +
Ir a http://developer.android.com/sdk/index.html
 +
 +
Other download options > SDK Tools Only
 +
 +
android-sdk_r22.6.2-linux.tgz (Recomendado)
 +
 +
Extraer SDK () dentro de ~\Android\android-sdk
 +
<syntaxhighlight lang="bash">tar -zxvf android-sdk_r22.6.2-linux.tgz</syntaxhighlight>
 +
 +
 +
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 (Native Development Kit)==
 +
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
 +
<syntaxhighlight lang="bash">tar -jxvf android-ndk-r9d-linux-x86.tar.bz2</syntaxhighlight>
 +
 +
==Construir FPC 2.7.1==
 +
 +
Instalar el último paquete de distribución FPC disponible:
 +
<syntaxhighlight lang="bash">sudo apt-get install fpc</syntaxhighlight>
 +
 +
Descargar el FPC trunk más actual desde el SVN:
 +
<syntaxhighlight lang="bash">svn co http://svn.freepascal.org/svn/fpc/trunk/ ~/Android/fpcsrc</syntaxhighlight>
 +
 +
Construir el trunk de para ARM hacia ~/Android/fpc:
 +
<syntaxhighlight lang="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</syntaxhighlight>
 +
 +
==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==
 +
 +
* [http://pascalgeek.blogspot.cz/2013/10/android-programming-with-lazarus.html Programando para Android con Lazarus a través del Interface Custom Drawn]
 +
 +
[[Category:Android/es]]
 +
[[Category:Tutorials/es]]
 +
[[category:Castellano]][[category:Español]]

Latest revision as of 21:17, 16 July 2015

English (en) español (es) русский (ru)

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

Nombre de fichero destino: android\libs\armeabi\liblclapp.so

Generación de Código:

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

Enlazado:

 Enable strip symbols (-Xs)

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

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

Ahora: ejecutar > Compilar Lo cual generará la librería: C:\Android\Projects\androidlcl\android\libs\armeabi\liblclapp.so [5.073 kb]

Desarrollo

  • Editar con un editor de texto:

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

Modificar las 6 primeras líneas tal como figura a contiuación:

REM Ajusta estas rutas adecuándolas a tu instalación
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

Ejecutar "generate_debug_key.bat"

Utilizar como contraseña: "senhas"

Esto generará el fichero:

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


  • Editar con un editor de texto:

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

Modificar las primeras 6 líneas para que se parezca a esto:

REM Ajusta estas rutas adecuándolas a tu instalación
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


Tengo que cambiar el mio a esto en la versión 22 de SDK:

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


Y estas líneas:

REM Convierte el bytecode java a bytecode dalvik
::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


Ejecutar "build_debug_apk.bat" respondiendo a las preguntas y entrar la contraseña "senhas" cuando se solicite

Esto generará:

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


  • Crear un Dispositivo Android Virtual:

START > AVD Manager

New > AVD name > give a name

Device 5.1 WVGA

Target Android 4 API 14

Pulsar OK

Una vez creado seleccionar el dispositivo virtual creado y pulsar "start" > "Launch" y esperar unos pocos minutos.


  • Editar con un editor de texto:

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

Modificar tal como figura a continuación:

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

Ejecutar "adb_install.bat" . Esto instalará el "LCL Test" dentro de tu Dispositivo Virtual.


  • Depurando

Edita con un editor de ficheros el siguiente fichero de proceso por lotes (.bat):

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

como esto:

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

Al ejecutar esto obtendremos como salida un fichero de depurado:

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

¡ A disfrutarlo ! :)

Links

Preparar carpeta

Crear el directorio ~\Android

Instalar OpenJDK

sudo apt-get install openjdk-7-jdk

Más información sobre OpenJDK en: http://openjdk.java.net/

Instalar SDK (Software Development Kit)

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

Other download options > 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 (Native Development Kit)

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