"Android Bottom interface and Driver Development Technology" Digest

Source: Internet
Author: User
Tags java se

The first chapter:
Ide:eclipse ADT for Java Developer
Others: Apache Ant Java SE Development Kit5 or 6 Linux and Mac using Apache Ant 1.65+,
Use 1.7+ version on Windows, (separate JRE is not possible, must have JDK), incompatible with GNU Java Compiler (GCJ)


Java_home X:\XX\XX\JAVA\JDK1.6.0-17
Classpath:.; %java_home%/lib/rt.jar;%java_home%/lib/tools.jar

Android is customizing a dedicated plugin for eclipse---android Development Tools (ADT), a plug-in that provides users with a powerful integrated environment for developing Android applications.
ADT extends eclipse functionality, allowing users to quickly build an Android project and create an application interface.
Install Android Development Tools plug-in

AVD (Android virtual device), each AVD simulates a set of virtual devices to run the Android platform, which must have at least its own kernel, system images and data partitions, and can have
own SD card and user data and appearance display, etc.

Commnad:
Android list targets view available platforms

Development environment:
JDK, dev tool Eclipse, Android SDK, install ADT and configure SDK home, create an AVD or use a real machine (requires driver)


Chapter II:
Drivers are driven and motivated, and the drive in the field of computing is also a driving force.

A driver is a configuration file that is written by the hardware vendor based on the OS, without a driver, and the hardware in the computer does not work (because the OS and hardware are not known and cannot communicate).
Drivers are an integral part of the hardware, and the corresponding drivers must also be installed when new hardware is installed.

How does Windows know what devices are installed and which files to copy: The installation is an. inf file.
The. inf is a file that describes device installation information, introduced from the Windows95 era, that uses specific syntactic text to describe the type of device to be installed, the manufacturer, the model, the file to be copied, the destination path to be copied to, and the information to add to the registry. By reading and interpreting the text, Windows can know how to install the driver.
Other. inf files can not only install drivers, but also install software that doesn't have anything to do with hardware, such as Windows Update, which is supported by Windows systems, and the system parts that are downloaded when you update are using an. inf file to illustrate how to install the part.


The so-called mobile phone driver, that is, some mobile phones and computers can not be directly connected, you must use the phone's own disk drive. The other is the installation of a phone memory information to read the program.

If the computer through the serial connection, generally do not need a driver, but need to use software to achieve and mobile phone connection. This software is usually available on your phone's attached CD-ROM.


Android SDK Directory:
Add-ons: Contains the official API package, the most important is the map API
Docs: Contains documents, i.e. help documents and documentation
Platforms: For each version of the SDK version is provided with its corresponding API package and some sample files, which contain various versions of Android
Temp: Contains some common file templates
Tools: Contains a number of common tool files
Usb_driver: Contains driver files under AMD64 and x86
SDK Setup.exe:Android startup files

SDK Toolset:
Android Emulator: The emulator is a virtual mobile device that runs on a computer.

Debug Monitoring Service Ddms.bat
Android Debug Bridge adb.exe:adb is a versatile tool that can help manage the status of devices and emulators:
There are several ways to join ADB:
(1) Run the shell command on the device
(2) Managing the emulator or copying files via port forwarding
(3) Copying or copying files from the simulator or device.

Android Resource Pack Tool Aapt.exe: This tool can create an APK file that contains binaries and resource files for Android apps in the apk file

Android Interface Description Language Aidl.exe: Used to generate inter-process Interface code
Create an SD card tool
DX tool Dx.bat Rewrite class bytecode to Android bytecode (stored in Dex file)
Build Ant Build File Activitycreator.bat
AvD


Android as a platform for mobile devices, its software hierarchy includes OS, middleware middle ware and applications applications


SSL Secure Socket Layer: Provides security support for data communication between the TCP/IP protocol and various application layer protocols

FreeType: Features of bitmap and vector fonts


The various libraries of Android are generally provided in the form of system middleware, and they all have a notable feature that is closely related to the application of the mobile device platform.


The Android operating environment mainly refers to the virtual machine technology-dalvik.
Dalvik virtual machine differs from a generic Java virtual machine in that it does not execute Java standard bytecode (bytecode), but rather executes files in Dalvik executable format (. dex)

During execution, each application is a process (one app in Android will correspond to a Linux user, a Linux process).
The biggest difference between the two is that the Java VM is a stack-based virtual machine (stack-based), and Dalvik is a register-based virtual machine (register-based).
Obviously, the latter's greatest benefit is that it can be optimized for hardware, which is better suited to the characteristics of mobile devices.

An Android application can benefit from the following parts of the application framework:
Activity (Activities)
Broadcast Intent receiver (broadcast intent receiver)
Service (services)
Content Provider (contents provider)
Intent and Intent Filter

Androidmanifest.xml equivalent to the application's configuration file, in this file must declare the name of the application, the application of the Activity,service and receiver, etc.


Android puts the process into a importance Hierarchy (importance rating) based on the state of the components and components running in each process
。 Processes are categorized into the following 5 categories according to important procedures:
Foreground process (ForeGround)
Visible process Visibility
Services Process Service
Background process Background
Null process empty: a process that does not own any active application components. The only reason to keep this process is that the next time a component of your application needs to run, you don't need to recreate the process, which can improve startup speed

The relationship between Linux and Android is as follows:
Andorid using Linux as the kernel
Android has made changes to the Linux kernel to suit its applications on mobile devices
Android started as a branch of Linux and was later removed from the development tree by a Linux kernel group because it could not be incorporated into the Linux main development tree (2010.2)

Android is running on the core of the Linux2.6 kernel system, which provides services to the cores.

The kernel part also corresponds to a layer of abstraction between the hardware layer and other software groups in the system


At the bottom of the system level of the Android system is Linux, with a Java virtual machine called Dalvik, with the Android runtime on the surface layer

In the Android system, YAFFS2 is used as the MTD NAND Flash file.

The role of the kernel is to separate applications from hardware
The main task of the kernel is to interact with the computer hardware, to realize the programming control and interface operation of the hardware, and to access the hardware resources highly. In addition, the kernel provides a high-level execution environment for user applications and a virtual interface for accessing hardware.


Character device: Provides a connected stream of data that the application can read sequentially and does not normally support random access. Such devices run in bytes/characters to read and write data, modem is the character device
Block device: The application can randomly access the device data, and the program can determine where to read the data at its own discretion. Hardware

If you're using an original Linux OS as a base for Android, the job is simply to add drivers for Android.

Android's Ril (Radio Interface layer) provides a level of abstraction between telephony and Radio hardware. RIL is responsible for the reliable transmission of data, the sending of AT commands, and the parsing of Respose.
The application processor communicates with the wireless communication module with GPRS function through the AT command set. At Commnad, invented by Hayes, is a modem manufacturer that uses a folding modem command language, with each command beginning with the letter "at"

"Android Bottom interface and Driver Development Technology" Digest

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.