Difference between revisions of "Android tutorial/es"
Line 279: | Line 279: | ||
Install packages. | Install packages. | ||
+ | |||
+ | ==Install NDK== | ||
+ | http://developer.android.com/tools/sdk/ndk/index.html | ||
+ | |||
+ | Download only the file android-ndk-r9d-linux-x86.tar.bz2 | ||
+ | |||
+ | Extract android-ndk-r9d-linux-x86.tar.bz2 into ~\Android\android-ndk-r9 | ||
+ | <syntaxhighlight lang="bash">tar -jxvf android-ndk-r9d-linux-x86.tar.bz2</syntaxhighlight> |
Revision as of 14:09, 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
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
Install SDK
Go to http://developer.android.com/sdk/index.html
DOWNLOAD FOR OTHER PLATFORMS > SDK Tools Only
android-sdk_r22.6.2-linux.tgz (Recommended)
Extract SDK () into ~\Android\android-sdk
tar -zxvf android-sdk_r22.6.2-linux.tgz
Now update the SDK (Start ~\Android\android-sdk\tools\android)
add android 4.0 (API 14)
add android 2.2 (API 8]
Install packages.
Install NDK
http://developer.android.com/tools/sdk/ndk/index.html
Download only the file android-ndk-r9d-linux-x86.tar.bz2
Extract android-ndk-r9d-linux-x86.tar.bz2 into ~\Android\android-ndk-r9
tar -jxvf android-ndk-r9d-linux-x86.tar.bz2