Difference between revisions of "Android tutorial/es"
Line 268: | Line 268: | ||
Ir a http://developer.android.com/sdk/index.html | Ir a http://developer.android.com/sdk/index.html | ||
− | + | Other download options > SDK Tools Only | |
android-sdk_r22.6.2-linux.tgz (Recomendado) | android-sdk_r22.6.2-linux.tgz (Recomendado) |
Revision as of 14:39, 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:
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
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
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 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
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 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
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
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