Nowadays in the world there are more than 2 billion active devices running Android and, only on the Google Play Store, more than 2.8 million applications. If from a final user point of view the possibility of choosing among hundreds of devices differing not only by hardware characteristics but also by software features is a great advantage as it allows anyone to choose the devices that fit the best their needs, from a developer point of view it isn't always a positive thing. In fact, developers find themself in a situation where they need to develop and test applications that will run on devices with very different hardware and software features that may perform in a really different way. These spread differences make almost impossible for the app developers to test their work on every possible hardware and software combinations and they are limited to a restricted number of devices. During the execution of this thesis, it was carried out a study to understand the functioning of the Android operative system. The main focus of the study was about understanding how the OS handles the execution of applications and system services. The goal was to find a possible modification to implement a monitoring system able to collect information about UI and performances and then transmit them to a remote server to allow developers to monitor the distribution and to fix possible errors. The results of this study is a modification of the Android sources that allowed the creation a custom system service able to monitor applications and to collect information. These modifications can be considered as the first basic step of a future monitoring system that OEMs could implement in their devices so that app developers could monitor and evaluate their work even after the publication of their apps. After implementing the modifications, the source code was recompiled and it was generated a system image able to be run on the standard Android emulator provided by Google in the developers SDK. This system image was also used to perform tests to evaluate the performance and the correctness of the identified solution.
Al giorno d'oggi nel mondo esistono più di 2 miliardi di dispositivi marchiati Android e, solamente sul Google Play Store, più di 2.8 milioni di applicazioni. Se dal punto di vista degli utenti finali la possibilità di scegliere fra centinaia di dispositivi diversi fra di loro che si distinguono sia per caratteristiche hardware che per caratteristiche software offre grandi vantaggi e permette a ciascuno di scegliere i dispositivi che meglio si adattano al proprio utilizzo, per gli sviluppatori non sempre è una cosa positiva. Gli sviluppatori si trovano infatti a dover sviluppare e successivamente a verificare il funzionamento delle applicazioni per dispositivi con caratteristiche non solo hardware, ma anche software molto diverse fra di loro. La vastità di dispositivi diversi presenti sul mercato rende praticamente impossibile per gli sviluppatori testare le proprie applicazioni su ogni combinazione hardware-software possibile e questi devono quindi limitarsi a un numero ristretto. Lo scopo di questa tesi è quello di studiare una possibile soluzione che permetta agli sviluppatori di verificare il funzionamento per poter correggere gli errori e valutare i cambiamenti delle proprie applicazioni anche dopo che queste sono state pubblicate sui vari marketplace. Durante lo svolgimento della tesi è stato svolto uno studio incentrato sul funzionamento del sistema operativo, in particolare su come questo gestisce l'esecuzione delle applicazioni e dei servizi di sistema, con lo scopo di capire come fosse possibile modificarlo per poter implementare un sistema di monitoraggio in grado di raccogliere le informazioni sul funzionamento e sull'interfaccia grafica delle applicazioni per poi trasmetterle a un server remoto in modo che gli sviluppatori possano verificarne lo stato e correggere eventuali problemi. Il risultato di questo studio è una modifica al codice sorgente del sistema operativo stesso per permettere l'implementazione di un servizio di sistema con il compito di monitorare le applicazioni. La modifica costituisce la base di un possibile sistema di monitoraggio più completo che i vari produttori di dispositivi potrebbero migliorare e sviluppare per metterlo a disposizione degli sviluppatori di applicazioni, così da fornire un sistema completo di monitoraggio in grado di valutare il funzionamento anche dopo la pubblicazione. Il sistema, dopo l'implementazione delle modifiche, è stato compilato ed è stata generata un'immagine di sistema eseguibile sull'emulatore fornito da Google nell'SDK per sviluppatori. Questa immagine è stata utilizzata per verificare il funzionamento e l'efficienza della soluzione proposta.
Runtime monitor. Un servizio di sistema per il monitoraggio delle applicazioni Android
COLOMBO, MATTEO
2019/2020
Abstract
Nowadays in the world there are more than 2 billion active devices running Android and, only on the Google Play Store, more than 2.8 million applications. If from a final user point of view the possibility of choosing among hundreds of devices differing not only by hardware characteristics but also by software features is a great advantage as it allows anyone to choose the devices that fit the best their needs, from a developer point of view it isn't always a positive thing. In fact, developers find themself in a situation where they need to develop and test applications that will run on devices with very different hardware and software features that may perform in a really different way. These spread differences make almost impossible for the app developers to test their work on every possible hardware and software combinations and they are limited to a restricted number of devices. During the execution of this thesis, it was carried out a study to understand the functioning of the Android operative system. The main focus of the study was about understanding how the OS handles the execution of applications and system services. The goal was to find a possible modification to implement a monitoring system able to collect information about UI and performances and then transmit them to a remote server to allow developers to monitor the distribution and to fix possible errors. The results of this study is a modification of the Android sources that allowed the creation a custom system service able to monitor applications and to collect information. These modifications can be considered as the first basic step of a future monitoring system that OEMs could implement in their devices so that app developers could monitor and evaluate their work even after the publication of their apps. After implementing the modifications, the source code was recompiled and it was generated a system image able to be run on the standard Android emulator provided by Google in the developers SDK. This system image was also used to perform tests to evaluate the performance and the correctness of the identified solution.File | Dimensione | Formato | |
---|---|---|---|
tesi_matteo_colombo_883114.pdf
accessibile in internet per tutti
Descrizione: Runtime Monitor - Un servizio di sistema per il monitoraggio di applicazioni Android
Dimensione
4.13 MB
Formato
Adobe PDF
|
4.13 MB | Adobe PDF | Visualizza/Apri |
I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/10589/167309