Android SDKEdit
October 2009; 11 years ago
Java
de la Cruz-plataforma
inglés
IDE, SDK
developer.android.com/sdk/index.html
El Android software development kit (SDK) incluye un conjunto completo de herramientas de desarrollo. Estos incluyen un depurador, bibliotecas, un emulador de teléfono basado en QEMU, documentación, código de ejemplo y tutoriales., Las plataformas de desarrollo actualmente soportadas incluyen equipos que ejecutan Linux (cualquier distribución Linux de escritorio moderna), Mac OS X 10.5.8 o posterior, y Windows 7 o posterior. A partir de marzo de 2015, el SDK no está disponible en Android, pero el desarrollo de software es posible mediante el uso de aplicaciones Android especializadas.,
hasta finales de 2014, el entorno de desarrollo integrado (IDE) con soporte oficial era Eclipse utilizando el complemento de herramientas de desarrollo de Android (ADT), aunque IntelliJ IDEA IDE (todas las ediciones) es totalmente compatible con el desarrollo de Android desde el principio, y NetBeans IDE también es compatible con el desarrollo de Android a través de un complemento. A partir de 2015, Android Studio, hecho por Google y desarrollado por IntelliJ, es el IDE oficial; sin embargo, los desarrolladores son libres de usar otros, pero Google dejó en claro que ADT fue oficialmente obsoleto desde finales de 2015 para centrarse en Android Studio como el IDE oficial de Android., Además, los desarrolladores pueden usar cualquier editor de texto para editar archivos Java y XML, luego usar herramientas de línea de comandos (se requieren Java Development Kit y Apache Ant) para crear, construir y depurar aplicaciones Android, así como controlar dispositivos Android conectados (por ejemplo, activar un reinicio, instalar paquetes de software de forma remota).
Las mejoras en el SDK de Android van de la mano con el desarrollo general de la plataforma Android. El SDK también admite versiones anteriores de la plataforma Android en caso de que los desarrolladores deseen dirigir sus aplicaciones a dispositivos más antiguos., Las herramientas de desarrollo son componentes descargables, por lo que después de descargar la última versión y plataforma, también se pueden descargar las plataformas y herramientas más antiguas para realizar pruebas de compatibilidad.
Las aplicaciones de Android están empaquetadas .apk Formato y almacenado en /data/app
carpeta en el sistema operativo Android (la carpeta es accesible solo para el usuario root por razones de seguridad). Paquete APK contiene .archivos dex (archivos de código de bytes compilados llamados ejecutables Dalvik), archivos de recursos, etc.,
Android SDK Platform ToolsEdit
Las herramientas de Android SDK Platform son un subconjunto descargable por separado del SDK completo, que consta de herramientas de línea de comandos como adb
y fastboot
.
Android Debug Bridge (ADB)Edit
El Android Debug Bridge (ADB) es una herramienta para ejecutar comandos en un dispositivo Android conectado. El demonio adbd
se ejecuta en el dispositivo, y el cliente adb
inicia un servidor en segundo plano para multiplex comandos enviados a los dispositivos., Además de la interfaz de línea de comandos, existen numerosas interfaces gráficas de usuario para controlar adb.
el formato para emitir comandos suele ser:
adb <command>where -d is the option for specifying the single USB-attached device, -e for the single running Android emulator on the computer, -s for specifying a USB-attached device by its unique serial number.If there is only one attached device or running emulator, these options are not necessary.
por ejemplo, las aplicaciones de Android se pueden guardar mediante el comando backup
en un archivo, cuyo nombre es backup.ab
de forma predeterminada.
en un problema de seguridad reportado en marzo de 2011, ADB fue atacado como un vector para intentar instalar un rootkit en teléfonos conectados usando un «ataque de agotamiento de recursos».
FastbootEdit
Fastboot es un protocolo y tiene una herramienta con el mismo nombre incluida con el paquete SDK de Android que se utiliza principalmente para modificar el sistema de archivos flash a través de una conexión USB desde el ordenador host. Requiere que el dispositivo se inicie en un modo de cargador de arranque o cargador de programa secundario, en el que solo se realiza la inicialización de hardware más básica. Después de habilitar el protocolo en el propio dispositivo, aceptará un conjunto específico de comandos enviados a través de USB utilizando una línea de comandos., Algunos de los comandos fastboot más utilizados incluyen:
- flash-reescribe una partición con una imagen binaria almacenada en el equipo host.
- erase-borra una partición específica.
- reboot-reinicia el dispositivo en el sistema operativo principal, la partición de recuperación del sistema o de nuevo en su cargador de arranque.
- devices-muestra una lista de todos los dispositivos (con el número de serie) conectados al ordenador host.
- format-formatea una partición específica; el sistema de archivos de la partición debe ser reconocido por el dispositivo.,
Android NDKEdit
de junio de 2009; Hace 11 años
C y C++
- Windows Vista y más tarde
- OS X 10.,10 y posteriores
- Linux
IA-32 (Solo Windows) o x86-64 (Windows, macOS y Linux)
inglés
SDK
developer.android.com/ndk/
el código escrito en C / C++ se puede compilar en código nativo ARM o x86 (o sus variantes de 64 bits) utilizando el kit de desarrollo nativo de Android (NDK). El NDK utiliza el compilador Clang para compilar C / C++., GCC se incluyó hasta NDK r17, pero se eliminó en r18 en 2018.
Las bibliotecas nativas se pueden llamar desde código Java que se ejecuta en el tiempo de ejecución de Android usando System.loadLibrary
, parte de las clases Java estándar de Android.
Las herramientas de línea de comandos se pueden compilar con NDK e instalar usando adb.
Android utiliza Bionic como su biblioteca de C, y el libc++ de LLVM como su biblioteca estándar de C++., El NDK también incluye una variedad de otras API: compresión zlib, gráficos OpenGL ES O Vulkan, audio OpenSL ES y varias API específicas de Android para cosas como el registro, el acceso a cámaras o la aceleración de redes neuronales.
el NDK incluye soporte para CMake y su propio ndk-build
(basado en GNU Make). Android Studio admite la ejecución de cualquiera de estos desde Gradle. Otras herramientas de terceros permiten integrar el NDK en Eclipse y Visual Studio.,
para la creación de perfiles de CPU, el NDK también incluye simpleperf, que es similar a la herramienta Linux perf, pero con mejor soporte para Android y específicamente para pilas mixtas de Java / C++.
Android Open Accessory Development KitEdit
la plataforma Android 3.1 (también retroadaptada a Android 2.3.4) introduce la compatibilidad con Android Open Accessory, que permite que el hardware USB externo (un accesorio USB de Android) interactúe con un dispositivo con Android en un modo especial de «accesorio»., Cuando un dispositivo alimentado con Android está en modo accesorio, el accesorio conectado actúa como el host USB (alimenta el bus y enumera los dispositivos) y el dispositivo alimentado con Android actúa como el dispositivo USB. Los accesorios USB de Android están diseñados específicamente para conectarse a dispositivos con Android y adherirse a un protocolo simple (Android accessory protocol) que les permite detectar dispositivos con Android que admiten el modo accesorio.