Implementation and analysis of pluggable Android applications

Implementation and analysis of pluggable Android applications In this paper we present an implementation for a typical Android application to support Plug-ins or add-on application to enhance functionality at run time. Such a framework allows an application to offer new functionality without updating the base application every time in the application store. Our implementation uses advanced bound services and AIDL concepts to provide communication between the application and its plugins. It implements an installed plugin discovery mechanism and also provides deployment from Plug-In SDK perspectives. The plug-ins developed with this framework implementation use the typical Android method for application development, which is the Android SDK. Therefore, no extra skill set is required for first or third party developers to write such plug-ins. We present how the plug-ins are discovered and launched from the parent application, and also how the parent application can expose APIs which are utilized by the plug-ins. We consider typical nativeAndroid applications as well as web applications as plugins. We identify key problems in implementing web applications as plugins and their solutions. We also analyze how to open the plug-in development kit to third party developers i.e. deployment scenarios of the plugin SDK. Finally, we determine the time taken to execute an API which transfers various sizes of data over bound service inter process communication.