Android Application Security Testing Part-1: Android Indroduction
Android Introduction:

Ø Android is an
open-source Linux-basd Operating System(OS).
Ø Andy Rubin founded Android
Incorporation in Palo Alto, California, United States in October, 2003
with Rich Miner (co-founder of Wildfire Communications, Inc.), Nick Sears
(former VP at T-Mobile), and Chris White (Design and Interface Development at
WebTV..
Ø The development of Android started in 2003 by
Android Incorporation. which was purchased by Google in 17th August 2005
Ø Android was developed by the open handset
alliance, Which was led by google and other companies.
Ø The current Android logo was designed
by Irina Blok
Ø Android mobile operating system began
with the public release of the Android beta in November 5, 2007. The
first commercial version, Android 1.0, was released in September 2008
Ø The November 5 date is popularly celebrated as
Android's "birthday".
Ø The first android phone was launched by HTC on
22ndOctober 2008. HTC Dream which is also known as the T-Mobile G1 in the
United States of America and some parts of Europe is the first commercially
launched device to be powered by Android operating system
Ø Android OS not only limited to Smartphones,
tablets but also extending to Home Appliances, smartTVs (Android TV), Android
Auto and smartwatches (Wear OS) ..etc.
Ø The Google Play Store (originally the Android
Market), operated and developed by Google, serves as the official app store for
the Android, allowing users to download apps developed with the Android
software development kit (SDK) and published through Google
Ø Android applications are typically written in
Java, with its elegant object-oriented design. However, at times, you need to
overcome the limitations of Java, such as memory management and performance, by
programming directly into Android native interface. Android provides Native
Development Kit (NDK) to support native development in C/C++, besides the
Android Software Development Kit (Android SDK) which supports Java.
Ø It is necessary to use native codes (C/C++) to
overcome the memory management and performance constraints in Java. Java
supports native codes via the Java Native Interface (JNI).
Ø Java access to C libraries via JNI, short for
Java Native Interface.
Ø Java Native Interface: The java native interface
(jni) is a programming framework that enables java code running in
a java virtual machine (jvm) to call and be called by native applications
(programs specific to a hardware and operating system platform) and
libraries written in other languages such as C, C++and assembly.
Useful Links: