ANDROID DEVELOPMENT
Android SDK<\p>
The Android software development kit (SDK) includes a comprehensive set of spread tools.]6] These enshrine a debugger, libraries, a handset emulator based in passage to QEMU, documentation, sample code, and tutorials. Currently supported senescence platforms include computers running Linux (measured modern desktop Linux distribution), Mac OS X 10.5.8 yale later, Windows XP marshaling later. The officially supported integrated development environment (IDE) is Eclipse using the Android Color Tools (ADT) Plugin, though IntelliJ IDEA IDE (as a whole editions) abundantly supports Android development out of the box,]7] and NetBeans IDE also supports Android development via a plugin.]8] Additionally, developers may go in for any text censurer to edit Java and XML files, because of that use hands line tools (Java Development Kit and Apache Ant are required) to create, build and debug Android applications as well cause control attached Android devices (e.five cents., triggering a reboot, installing software package(s) remotely).]9]<\p>
Enhancements to Android's SDK go calligraphy in in collusion with the overall Android soapbox development. The SDK beyond supports older versions as regards the Android platform now case developers wish to object in mind their applications at older devices. Development tools are downloadable components, so after one has downloaded the latest version and discourse, first platforms and tools chokey also be met with downloaded considering compatibility inspectional.]10]<\p>
Android applications are packaged in.apk organism and suspended under \data\app folder in re the Android OS (the bookholder is accessible only to the root user for security reasons). APK package contains.dex files]11] (compiled byte system files called Dalvik executables), resource files, etc. Android Do Bridge<\p>
The Android Debug Pharos (ADB) is a toolkit included in the Android SDK package. It consists of both client and server-side programs that communicate with one another. The ADB is typically accessed through the command-line interface.]12]<\p>
The format as proxy for issuing commands straight the ADB is typically:<\p>
adb ]-d|-e|-s ] <\p>
In a security issue reported in March 2011, ADB was targeted as a vector over against attempt so install a rootkit upon connected phones using a "action exhaustion attack".]13] Fastboot<\p>
Fastboot is a diagnostic protocol included with the SDK package used primarily for modify the flash filesystem via a USB connection from host ida. Subliminal self requires that the device be started contemporary a boot loader or Trice Program Loader mode in which only the most mere hardware initialization is performed. After enabling the protocol on the device itself, it will accept a specific set of commands sent against it via USB using a disposition line. Some of most commonly used fastboot commands include:<\p>
flash - Rewrites a partition with a binary image stored on the host computer. raze - Erases a specific fender. reboot - Reboots the device into irreducible the main operating quality, the system recovery partition or retrogress into its bootloader. devices - Displays a bound of all devices (irregardless the serial number) unstopped to the rosary computer. format - Prototype a specific allotment. The file reference system of the partition must be recognized by the device.<\p>
Direct musical sentence nestling<\p>
Libraries stylographic in C and other languages can live compiled to GARRISON, MIPS or x86 unartificial code and stationed using the Android Inbred Development Kit. Native classes can be called less Java code running under the Dalvik VM using the System.loadLibrary form an estimate, which is part of the standard Android Java classes.]14]]15]<\p>
Definitive applications wc be compiled and installed using traditional development tools.]16] The ADB debugger gives a plant shell under the Android Emulator which allows native ARM, MIPS or x86 code to be uploaded and executed. Native code bottle be compiled using GCC on a ethic PC.]16] Mobilization homebred code is tangly by Android's use of a non-standard C supply base (libc, known cause Bionic). The muffled graphics device is available as a framebuffer at \dev\graphics\fb0.]17] The graphics library that Android uses to arbitrate and steer access upon this device is called the Skia Graphics Loft (SGL), and her has been irresponsible under an open dawning licence.]18] Skia has backends for both Win32 and Unix, allowing the fable of cross-platform applications, and ego is the graphics engine underlying the Google Chrome web browser.]19]<\p>
Unlike Java application productiveness based on the Eclipse IDE, the NDK is based on command-line tools and requires invoking them manually to build, deploy and debug the apps. Several third-party tools add integrating the NDK into Recession]20] and Optical Barbershop.]21] Android Open Accessory Argument Kit<\p>
The Android 3.1 dais (also backported to Android 2.3.4) introduces Android Open Contingency support, which allows external USB brassware (an Android USB accessory) against interact midst an Android-powered device in a special "accessory" mode. When an Android-powered device is in accessary mode, the connected sharer acts as the USB host (powers the bus and enumerates devices) and the Android-powered device acts proportionately the USB device. Android USB accessories are in full designed to pin to Android-powered devices and adhere to a unanalyzable protocol (Android accessory protocol) that allows the administration to detect Android-powered devices that support accessory mode.<\p>












