Vous êtes sur la page 1sur 3

ANDROID

Introduction
Android is a software platform and operating system for mobile devices, based on the Linux kernel, and developed by Google and later the Open Handset Alliance. It allows developers to write managed code in the Java language, controlling the device via Google-developed Java libraries. Applications written in C and other languages can be compiled to ARM native code and run, but this development path isn't officially supported by Google. Android is available as open source. Google threw open the entire source code (including network and telephony stacks) that were not available previously, under an Apache license. Certain parts that relate to a specific hardware can't be made open and are not considered part of the Android platform. With Apache License, vendors are free to add proprietary extensions without submitting those back to the open source community. While Google's contributions to this platform are expected to remain open-sourced, the branches could explode using varieties of licenses.

Features

Application framework enabling reuse and replacement of components Dalvik virtual machine optimized for mobile devices Integrated browser based on the open source WebKit engine Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional) SQLite for structured data storage Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) GSM Telephony (hardware dependent) Bluetooth, EDGE, 3G, and WiFi (hardware dependent) Camera, GPS, compass, and accelerometer (hardware dependent) Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE

Android Architecture
The following diagram shows the major components of the Android operating system. Each section is described in more detail below.

Applications Developed on Android Platforms

In September 2008, Motorola confirmed that it was working on hardware products that would run Android. Huawei Technologies is planning to launch smart phones that would run Android in Q1 2009. Lenovo is working on an Android-based mobile phone that supports the Chinese 3G TDSCDMA standard. HTC is planning a "portfolio" of Android based phones to be released summer of 2009. Sony Ericsson is planning to release an Android based handset in the summer of 2009. Samsung plans to offer a phone based on Googles Android operating system in the second quarter of 2009. GiiNii Movit Mini is a Internet device based on Google's Android operating system

Designing for Security


Android was designed so that most developers will be able to build applications using the default settings and not be confronted with difficult decisions about security. Android also has a number of security features built into the operating system that significantly reduce the frequency and impact of application security issues.

Some of the security features that help developers build secure applications include:

The Android Application Sandbox that isolates data and code execution on a per-application basis. Android application framework with robust implementations of common security functionality such as cryptography, permissions, and secure IPC. Technologies like ASLR, NX, ProPolice, safe_iop, OpenBSD dlmalloc, OpenBSD calloc, and Linux mmap_min_addr to mitigate risks associated with common memory management errors An encrypted filesystem that can be enabled to protect data on lost or stolen devices. Nevertheless, it is important for developers to be familiar with Android security best practices to make sure they take advantage of these capabilities and to reduce the likelihood of inadvertently introducing security issues that can affect their applications. This document is organized around common APIs and development techniques that can have security implications for your application and its users. As these best practices are constantly evolving, we recommend you check back occasionally throughout your application development process.

Vous aimerez peut-être aussi