Sviluppo di software Android
Lo sviluppo di software Android è il processo mediante il quale vengono create nuove applicazioni per il sistema operativo Android. Le app sono in genere sviluppate in linguaggio Java utilizzando il kit di sviluppo software Android (SDK), nonostante siano disponibili altri ambienti di sviluppo.
Lo sviluppo di software Android è il processo mediante il quale vengono create nuove applicazioni per il sistema operativo Android. Le app sono in genere sviluppate in linguaggio Java utilizzando il kit di sviluppo software Android (SDK), nonostante siano disponibili altri ambienti di sviluppo.
Android SDK
Il kit di sviluppo software Android (SDK) include una serie completa di strumenti di sviluppo. Tra questi sono presenti: un debugger, librerie, un emulatore portatile basato su QEMU, documentazione, codici esemplificativi e tutorial. Le piattaforme di sviluppo attualmente supportate sono i computer che eseguono Linux (qualsiasi moderna distribuzione Linux), macOS 10.5.8 o versioni successive e Windows XP o successivo. A partire da marzo 2015, l'SDK non è disponibile su Android in sé, ma lo sviluppo del software rimane possibile utilizzando applicazioni Android specializzate.
Fino alla fine del 2014 l'ambiente di sviluppo integrato ufficialmente supportato (IDE) è stato Eclipse utilizzando gli Android Development Tools (ADT) Plugin, anche se ad esempio gli ambienti IntelliJ IDEA e NetBeans supportano pienamente lo sviluppo di Android. A partire dal 2015 Android Studio, realizzato da Google e alimentato da IntelliJ, è l'IDE ufficiale di Android. Gli sviluppatori, inoltre, possono utilizzare qualsiasi editor di testo per modificare i file Java o XML e successivamente utilizzare un comando (Java Development Kit e Apache Ant sono indispensabili) per creare, implementare ed eseguire le applicazioni avendone il controllo sui dispositivi Android collegati (ad esempio innescando il riavvio del dispositivo, installando un pacchetto software da remoto, ecc).
I miglioramenti apportati all'SDK vanno di pari passo con lo sviluppo globale della piattaforma Android. L'SDK supporta anche le versioni precedenti di Android nel caso in cui gli sviluppatori desiderassero eseguire le loro applicazioni su dispositivi più vecchi. Gli strumenti di sviluppo sono componenti scaricabili, pertanto dopo aver scaricato l'ultima versione dell'ambiente e della piattaforma, quelle meno recenti possono essere scaricate facilmente per eseguire dei test di compatibilità.
Le applicazioni Android hanno estensione .apk e vengono memorizzate nella cartella /data/app del dispositivo (la cartella è accessibile solo dopo aver effettuato il rooting per motivi di sicurezza ). Il pacchetto APK contiene i file .dex(Dalvik executable), file di risorse, ecc.
Android Debug Bridge (ADB)
L'Android Debug Bridge (ADB) è un toolkit incluso nel pacchetto SDK di Android. Si compone di due parti: lato client e lato server che comunicano tra loro. L'ADB è generalmente accessibile attraverso l'interfaccia a linea di comando, anche se esistono numerose interfacce grafiche utente per controllare l'ADB.
Il formato per l'emissione dei comandi attraverso l'ADB è solitamente:
adb [-d|-e|-s <serialNumber>] <command>
Ad esempio, le applicazioni Android possono essere salvate dal comando backup come file, a cui viene assegnato backup.ab come nome di default.
In un problema di sicurezza emerso nel marzo 2011, l'ADB stato accusato di agire come vettore per l'installazione di rootkit sui telefoni collegati per sferrare un "attacco alle risorse".
Fastboot
Fastboot è un protocollo diagnostico incluso nel pacchetto SDK utilizzato principalmente per modificare il file system flash di un dispositivo tramite una connessione USB collegata ad un host. È necessario che il dispositivo venga avviato in modalità boot loader o in modalità di avvio secondario, in cui viene eseguita solo l'inizializzazione dei driver indispensabili. Dopo aver abilitato il protocollo sul dispositivo, questo accetterà uno specifico insieme di comandi inviati via USB tramite una riga di comando. Alcuni dei comandi Fastboot più comunemente usati sono:
flash - riscrive una partizione usando un'immagine memorizzata nell'host
erase - cancella una partizione specifica
reboot - riavvia il dispositivo in modalità normale, caricando una partizione di recovery o avviando il boot loader
devices - mostra una lista dei dispositivi (con relativo numero di serie) collegati all'host
format - formatta una partizione specifica. Il filesystem deve essere riconosciuto dal dispositivo
MCMX