Android tutorial/es
│
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:
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
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