Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Hi i want one page brief summary of this article i need this for my Operating System class priject and My project name is Android.

Hi i want one page brief summary of this article i need this for my Operating System class priject and My project name is Android.

Android also supports its native API which is on C or C++ programming language. Developers can go with this environment if they want to make bit faster application than the java application. For this purpose android provides NDK which contains all the necessary libraries to develop any android applications. But generally 85% of the developers prefer java language because of its modularity and many other unique features rather than C or C++ [1]. First version of android was released in 2005 by Google Inc. and then android grows up with different versions which are mentioned in Table I. A. Android Architecture The general architecture of an android operating system [4] which is divided in to 5 major components as shown in Fig. 1. Android architecture components are applications, application framework, libraries, android runtime, and linux kernel and described below, Fig 1: Android architecture components Applications All the components of the development framework are combined into one installable file called .apk file which contains the entire application and could be installed in any android cell phone. Application framework This will include development components which is an open platform to make any application with the use of some other API which is used by the core application. This framework contains many managers like Activity M, Window M, Resource M, Telephony M, Package M, Content M, Notification Area and etc. Therefore the actual development of any application is done at this stage only and after that runs by an underlying layers. Libraries Android is also famous for its rich set of libraries which enables developer to make any kind of android application. This layer includes core library, media library, web kit, SQLite Library and other resource packages with its library files. Android runtime In android every process is having individual memory to execute; so android provides a specific runtime to each and every activity. This is all done by Dalvik Virtual Machine (DVM). Linux kernel Linux is known for its security and activity management system. Linux also provides better memory management, process management and many features. Kernel is an abstract layer of any operating system which helps for interaction between the software and the hardware device. III. DEVELOPMENT ENVIRONMENT The development environment is the very first topic while starting any application development. Generally programmers prefer eclipse classic version to develop any android application. Eclipse classic is an Integrated Development Environment that is IDE for android. To configure this IDE we require the following components from the open market [2]. A. Android SDK Eclipse IDE is only for developing java based application and android is an java based language but it also requires some other useful tools for developing such applications. Therefore this Software Development Kit of Android will be used for that purpose only. B. Android Development Tools plugin Programmer also requires various tools to manipulate the developed code in the android device. For that purpose this Android Development Tools (ADT) Plugin for the eclipse will be used so that programmer can optimize the framework and its resources C. Android emulator This is a virtual android mobile phone which has the same configuration as like any real mobile phone. This emulator is specific for testing and debugging any android application. This is an inbuilt feature in Android SDK under the AVD manager tools. There are some limitations also in these AVDs like no camera, Bluetooth, cant receive or call or message service. These types of tasks cannot be performed in the virtual device. Check style plugin is very useful open source plugin embedded into an Eclipse IDE which tells the programmer where they committed mistake in the code. This plugin running at back end side of the eclipse and improve our code even before testing it on real emulator. D. Eclipse IDE This is a very basic requirement to develop any android application. This will provide graphical user interface with the combination of android development kit. It provides such tools like project manager, code window, console window, compiler notification, activity log and other important tools to develop any application. Java Development Kit (JDK) As mentioned in early sections, android is java based programming language. Therefore to execute any java program we require its development tool kit which enables system to run the developed application. This JDK is also integrated with the eclipse IDE and is also an open source platform so anyone can use it free of cost. Java Runtime Environment (JRE) Like android, java program also runs under the java runtime environment. Because of this JRE, java programming language is called a platform independent programming language. JRE will convert byte code which is compiled by the java compiler and convert it into a machine level language. IV. ANDROID SECURITY Android is an open source operating system so anyone can use its code for their own purpose. Therefore maintaining security is quite difficult at the development side. Because developer can make any application which is running behind the user notice and steal their information from the mobile device and transfer it to developers database on the server side. There are such applications which affect the mobile environment and make a defect in users applications [3, 4]. There are some characteristics from which developers can easily steal user information. So user need to be aware of these criteria while installing any unknown application [5]. A. Repackager application The malicious program is hidden into any application and covers it with the normal application interface so that any user will install without knowing that there is such program behind this application. The well-known example is Trojan horse. B. Receiving unknown commands Android supports a push back service which enables server to send any small information to the android device. But the malware server can be used to send harmful commands over the internet. Therefore if user is unknown to any such commands or notifications then they should not approve them to make an effect in the system. C. Steal information There are many malicious applications which will steal users data and upload it to the malware server. Such information can be as follows [5]: International Mobile Equipment Identity (IMEI) number, International Mobile Subscriber Identity (IMSI) number, GPS location, GSM phone number, SDK version information, Android device model, and other resource information. Therefore user needs to aware of these criteria for their own security. Do not accept any agreement or notice from the unknown applications. Android market is very famous for its millions of its applications which include any developer to deploy their application without being authenticate. Third Party Application is such application which is not at all authenticated or licensed for using it. If user installs this type of application then they may steal the above said data. Many people make their Android device continuously connected with the internet. Sometimes while surfing on the internet or while downloading some files, there are some virus which came along with our actual data so if user is not aware about the secured security layer then they may have such virus problem [6]. Always prefer secured site to download such contents which provides better security as shown in Fig. 2. Fig. 2. Android security architecture Manifest .xml file This is the basic file that each any every android application includes while developing it. This file contains all the necessary permissions from the android mobile phones and requests the user to accept it. This file is an extendible markup language file which includes its own tags to define the structure of the permissions and its usage in the application. Generally developers may use the following permissions [7]: - Android.permission.READ_CONTAC - Android.permission.WRITE_CONTACT Access Rules App Database App Files - Android.permission.SEND_SMS - Android.permission.WRITE_SMS - Android.permission.RECEIVE_SMS - Android.permission.READ_SMS - Android.permission.INTERNET - Android.permission.BLUETOOTH -Android.permission.READ_PHONE_STATE - Android.permission.WRITE_STORAGE - Android.permission.READ_STORAGE These permissions are used in the androidManifest.xml file and while installing the application this file asks the user to accept these permissions and make an access to the mobile data. V. CONCLUSION This paper presented fundamental things about the Android operating system and its usage in the real market. Now you are very well aware of its development environment components and its various use and effects. For android security, I have mentioned the key components in just keep that point before using or installing such applications. References [1] Agematsu, H., Kani, J., Nasaka, K., Kawabata, H., Isohara, T., Takemori, K., and Nishigaki, M., A Proposal to Realize the Provision of Secure Android Applications--ADMS: An Application Development and Management System, In Sixth International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing (IMIS), pp. 677-682, IEEE. 2012. [2] Grgurina, Robi, Goran Brestovac, and Tihana Galinac Grbac, Development environment for Android application development: An experience report, MIPRO, 2011 Proceedings of the 34th International Convention. IEEE, pp. 1693-1698, 2011. [3] http://developer.android.com/guide/topics/security/permissions.html. [4] Android Security FAQ: http://developer.android.com/guide/faq/security.html. [5] Pieterse, Heloise, and Martin S. Olivier, Android botnets on the rise: Trends and characteristics, Information Security for South Africa (ISSA), pp. 1-5, IEEE, 2012. [6] Son, Ki-Cheol, and Jong-Y. Lee, The method of android application speed up by using NDK, 3rd International Conference on Awareness Science and Technology (iCAST), pp-382-385, IEEE, 2011. [7] Android Security Overview: Http://source.android.com/tech/security/. Dr. A. Ayyasamy is born and brought up from Malaipatti, Sankarankovil. He completed his B.E. & M.E. in Computer Science and Engineering from Annamalai University, Chidambaram, Tamilnadu, India in the year 2006 and 2008, respectively. He has joined the Faculty of Engineering and Technology, Annamalai University as an Assistant Professor in the year 2007 where he obtained his Doctorate in 2015. He is a versatile and multilingual personality who has been active in his teaching profession and sensitive towards the social work. He has Guided 20 Under Graduate Students and 18 Post Graduate Students. He has the credit of publishing nearly 12 research articles in the referred and peer reviewed International journals and presented nearly 11 papers in the national/International conferences. The Center for Advanced Research and Design awarded as a Young Faculty in 2015. His areas of interest are Mobile Ad-hoc Network, Wireless Network, Video Streaming Services, Streaming Media Architectures, QoS, and Routing Protocols, Computer Engineering. He served or is serving as an Associate Editor/Editorial Board Member for various International Journals and Reviewer in Various International Journals including SPRINGER (International Journal of Wireless Information Networks), Ad Hoc & Sensor Wireless Networks, and Recent Patents on Computer Science. He also accepted an invitation to be a Technical Review Committee Member/Technical Committee Member for many international Conferences (India, USA, Malaysia, London). He is External Examiner for MCA from Anna University, Guindy, Chennai. Dr. A. Ayyasamy is the member of ACM Journals (member ID-9839431), International Association of Engineers (IAENG) (member ID-133536), and Senior Member (ID No: SNM10100052577) of Universal Association of Computer and Electronics Engineers (UACEE).

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Informix Database Administrators Survival Guide

Authors: Joe Lumbley

1st Edition

0131243144, 978-0131243149

More Books

Students also viewed these Databases questions