Sign in Join
Wiki copytemporary

Android tutorial/es

English · Español · Русский

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 :

dos
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:

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

Enlazado:

text
 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

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

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

dos
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

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

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

dos
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:

dos
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]

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.

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

Modificar tal como figura a continuación:

dos
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.

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

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

como esto:

dos
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

bash
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

bash
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

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

Construir FPC 2.7.1

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

bash
sudo apt-get install fpc

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

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

Construir el trunk de para ARM hacia ~/Android/fpc:

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

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


From the Free Pascal wiki, page "Android tutorial/es", as it stood on 2015-07-16 after a change by FTurtle, 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.

Revision 5, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.