Official English Document Link: https://source.android.com/compatibility/overview.html
Compatibility Program Overview
Compatibility Scenario Overview
The Android Compatibility program makes it easy-to-mobile device manufacturers to develop compatible Android devices.
Android's compatibility program makes it easy for Android phone manufacturers to develop compatible Android devices (Heaven Zhuhai Steering Note: What is compatible?). is to be compatible with the standard Google provides Android system can support the features, in case the handset manufacturer of open-source Android system modified beyond recognition, the developer development of the application is not installed, so the CTS to require mobile phone development must be tested on Google Play).
Program Goalsprogramme Objectives
The Android Compatibility program works for the benefit of the entire Android community, including users, developers, and Device manufacturers. Each of the group depends on the others. Users want a wide selection of devices and great apps; Great apps come from developers motivated to a large market for their apps with many devices in users ' hands; Device manufacturers rely on a wide variety of great apps to increase their products ' value for consumers.
The Android Compatibility program takes into account the interests of all groups in the Android community, including users, developers and mobile phone manufacturers. These groups depend on each other, and the user wants to choose a wide range of mobile phone types and excellent applications, and the developers of good applications will be inspired by a broad market to develop more excellent applications, as their applications can reach the users of different types of mobile phones through this vast market. , and equipment manufacturers rely on these wide range of excellent applications to enhance the value of their products to users. (Heaven Zhuhai Branch rudder Note: In fact, the whole paragraph of the meaning of Google is to express my Google Play is a very powerful application market. Your Android device maker device wants to make money, think more developers can develop the right model for your application, want more users to use your phone, then you will use my Google Play, and you want to use my Google Play, then you castrated modified Android operating system must meet certain rules, Otherwise the user on my Google Play downloaded an application to your hands even if you can not use it for everyone is not good.
Our goals were designed to benefit each of the these groups:
Our aim is to be designed for the benefit of the following people:
Provide A Consistent application and hardware environment to application developers. without a strong compatibility standard, devices can vary so greatly that developers must design different versions of their applications for different devices. The compatibility program provides a precise definition of what developers can expect from a compatible device in terms of APIs and capabilities. Developers can use this information to make good design decisions, and is confident that their apps would run well on any C ompatible device.
is Application developers provide a consistent application development environment and hardware environment : Without a compatibility standard, a variety of devices will be available, and developers will have to develop different versions of the application for each of the different devices. The compatibility scheme takes the form of a set of pre-defined APIs and capabilities (Heaven Zhuhai Steering Note: Capabilities can be understood as some of the features of a mobile phone) to provide a precise definition of what developers expect from a compatible device to be available. Developers can then use this information to make a good decision about how to design their application, and they are confident that the apps they develop can run well on any compatible device.
Enable A consistent application experience for consumers. If An application runs "Well" on one compatible Android device, it should run "on" any other device which is compatible WI Th the same Android platform version. Android devices would differ in hardware and software capabilities, so the compatibility program also provides the tools NE Eded for distribution systems such as Google Play to implement appropriate filtering. This means users see only the applications they can actually run.
provide a consistent app experience for consumers : If an app works well on a compatibility device, it should work well on all compatible devices with the Android version. A variety of Android devices vary in both hardware and software features, so this compatibility program provides tools to develop corresponding filtering capabilities for a variety of application distribution platforms, such as Google Player. This means that users will only see apps that their phones can run on the distribution platform.
Enable device manufacturers to differentiate while being compatible. The Android Compatibility program focuses on the aspects of Android relevant to running Third-party applications, which AL Lows device manufacturers the flexibility to create a unique devices that is nonetheless compatible.
enabling device manufacturers to be compatible while still being unique : The Android Compatibility program is concerned with whether the Android system installed on the device can run well with third-party applications (Heaven Zhuhai Steering Note: In addition to the manufacturer's own application of third-party applications), This allows device manufacturers to provide a great deal of flexibility in how to create a unique and distinctive device while considering compatibility (Heaven Zhuhai Branch rudder note: Because handset manufacturers only need to be sure to meet the compatibility of Android, then you can do anything else on the device)
Minimize costs and overhead associated with compatibility. Ensuring compatibility should is easy and inexpensive to device manufacturers. The testing tool is free, open source, and available for download. It is designed to being used for continuous self-testing during the device development process to eliminate the cost of Chang ing your workflow or sending your device to a third party for testing. Meanwhile, there is no required certifications, and thus no corresponding costs and fees.
additional costs associated with minimizing compatibility : Ensuring device compatibility is an easy and inexpensive task for equipment manufacturers. The Android Compatibility program provides tools that are free, open source, and downloadable. It is designed to allow equipment manufacturers to conduct continuous self-tests in the development of equipment so that equipment manufacturers can eliminate the additional costs associated with the development process changes or the delivery of equipment to third-party organizations for compatibility testing. At the same time, the Android compatibility program does not require any certification, so no corresponding fees and bills will be generated.
The Android compatibility program consists of three key components:
The Android Compatibility program consists of the following 3 key components:
- the source code to the Android software stack
- source code in Android software stack
- the compatilbility Definition Document (CDD), representing the "policy" aspect of compatibility
- Compatibility definition document (CDD), which represents the "policy" definition for Android compatibility
- the compatilbility Test Suite (CTS), representing the" mechanism "of compatibility
- compatibility test suite (CTS)," mechanism "for Android compatibility
Just as each version of the Android platform exists in a separate branch in the source code tree, there is a separate CTS and CDD for each version as well. The CDD, CTS, and source code is--along with your hardware and your software customizations--everything your need to C Reate a compatible device.
Just as different versions of the Android platform will separate different branches from the source tree, different versions of CTS and CDD will have different branches (Heaven Zhuhai Branch rudder Note: Different versions of the Android system will have the corresponding version of the CTS and CDD corresponding). The cdd,cts and the source code described above, together with your own hardware and software customizations as provided by the handset manufacturer, are everything you need to create a compatibility device.
Compatibility Definition DocumentCompatibility definition document (CDD)
For each release of the Android platform, a detailed CDD would be provided. The CDD represents the "policy" aspect of Android compatibility.
Every time an Android OS platform is released, a detailed CDD document is provided that represents the "policy" definition for Android compatibility.
No test suite, including CTS, can truly be comprehensive. For instance, the CTS includes a test this checks for the presence and correct behavior of OpenGL graphics APIs, but no so Ftware test can verify that the graphics actually appear correctly on the screen. More generally, it's impossible to test the presence of hardware features such as keyboards, display density, Wi-Fi, and B Luetooth.
some cases , including the CTS, there is no test suite that can be all-in-one for exhaustive automated testing of all compatibility aspects. For example, there is a test in the CTS that examines the correct rendering and correct behavior of the OpenGL graphics library APIs on the screen, But no software test can verify that the corresponding graphics are actually rendered on the screen (Heaven Zhuhai Branch Rudder Note: The test case including the CTS is just a call to OpenGL API, and the test is not able to detect whether the screen has the corresponding graphics, can only be observed by the naked eye. This is what is known in the software testing industry is not all features can be implemented test automation. More generally, it is impossible to test the functionality of hardware rendering (using test tools), such as testing the key physical keyboard (if available), screen density, Wi-Fi hardware features, Bluetooth hardware features.
The CDD ' s Role is to codify and clarify specific requirements, and eliminate ambiguity. The CDD does not attempt to be comprehensive. Since Android is a single corpus of Open-source code, the code itself is the comprehensive "specification" of the Platform and its APIs. The CDD acts as a "hub" referencing other content (such as SDK API documentation) This provides a framework in which the A Ndroid source code may used so, the end result is a compatible system.
The role of CDD is to define and clarify specific requirements and to eliminate ambiguous ambiguities. CDD doesn't try to be all-encompassing, because Android itself is an open-source code collection, and the code itself is a full-fledged "documentation" of the Android platform and the APIs it provides (Heaven Zhuhai Steering Note: It should be clear that you know something about agile development and refactoring--to document it, Good code is the best document). CDD acts as a "hub" role, (bringing in the need for compatibility) to redistribute references to other corresponding content (such as the SDK API documentation), which provides a framework that the Android source code will use, so that the system will naturally become a compatible system. ( Heaven Zhuhai Branch Rudder Note: This paragraph should have a better way of translation, if crossing some please provide, I will selectively adopt )
If you want to build a device compatible with a given Android version, start by checking out of the source code for that vers Ion, and then read the corresponding CDD and stay within its guidelines. For additional details, simply examine the latest CDD.
If you want to create a compatibility device in an established Android version, start by downloading the version of the Android source code, and then carefully read the CDD documentation for that version of the source code and follow its guidelines. For additional information, please see the most recent CDD documentation.
Compatibility Test SuiteCompatibility test Suite
The CTS is a free, Commercial-grade test suite, available for download. The CTS represents the "mechanism" of compatibility.
CTS is a free, commercial-grade test suite that is available for download. The CTS represents the "mechanism" for Android compatibility.
The CTS runs on a desktop machine and executes test cases directly on attached devices or an emulator. The CTS is a set of unit tests designed to being integrated into the daily workflow (such as via a continuous build system) O F The Engineers building a device. Its intent are to reveal incompatibilities early in, and ensure that the software remains compatible throughout the develop ment process.
CTS is a device that runs on your desktop system to drive connections to a desktop system host or a simulator to run the appropriate test case (script). CTS is a set of unit tests that are designed to allow us to integrate into our daily work processes (for example, by integrating into our continuous Integration System build system) to help engineers build an Android device system. It is meant to be exposed in the early stages of incompatibility, to ensure that the device is always compatible throughout the development process of the Android device system.
Compatibility Test Suite Verifier (CTS Verifier)Compatibility test Suite Validator
The Compatibility Test Suite Verifier (CTS Verifier) is a supplement to the CTS available for download. CTS Verifier provides tests for APIs and functions that cannot is tested on a stationary device without manual input (e.g. Audio quality, accelerometer, etc).
The Compatibility test suite Validator (CTS Validator) is an accessory feature of the CTS (Heaven Zhuhai: Actually an apk), which can be downloaded here. The CTS Validator provides APIs and functional tests (e.g., audio quality, accelerometer, etc.) that cannot be completed with interactive actions such as no user input
For details on the CTS, consult the CTS introduction.
For more information about CTS, please inquire about CTS.
Item |
Description |
Warning |
Author |
Heaven Zhuhai Branch Rudder |
Reprint please specify the source! More articles please check my blog! |
Blog Address |
Http://blog.csdn.net/zhubaitian
|
Overview of the Compatibility program for the official Android CTS document