Ab dem 27. März 2025 empfehlen wir, android-latest-release anstelle von aosp-main zu verwenden, um AOSP zu erstellen und Beiträge dazu zu leisten. Weitere Informationen finden Sie unter Änderungen am AOSP.
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Die Compatibility Test Suite (CTS) ist eine kostenlose Testsuite und Tools für kommerzielle Zwecke, mit denen Sie prüfen können, ob Ihre Geräte mit Android kompatibel sind. CTS soll in Ihren täglichen Workflow eingebunden werden, z. B. über ein kontinuierliches Build-System. CTS wird auf einem Computer ausgeführt und führt Tests direkt auf angeschlossenen Geräten oder in einem Emulator aus. Eine Übersicht über die Android-Kompatibilität finden Sie unter Android-Kompatibilitätsprogramm – Übersicht.
Abbildung 1: Automatisierte CTS-Tests
Abbildung 1 zeigt die Ausführung automatisierter CTS-Tests:
Laden Sie CTS herunter und installieren Sie es. In diesem Schritt werden auch die Testumgebung, die Teststation und das zu testende Gerät oder Testobjekt (Device Under Test, DUT) eingerichtet.
Automatisierte CTS-Tests ausführen
Ergebnisse speichern und prüfen
Beheben Sie Probleme und führen Sie die Tests noch einmal aus.
Mit CTS können Sie Inkompatibilitäten frühzeitig erkennen und dafür sorgen, dass Ihre Android-Implementierungen während des gesamten Entwicklungsprozesses kompatibel bleiben.
CTS-Komponenten
CTS umfasst die folgenden Hauptkomponenten:
Trade Federation
Ein Test-Harness und ein Framework ermöglichen die automatisierte Ausführung von Tests.
Automatisierte CTS-Tests
Tests, die das Trade Federation-Framework verwenden und mit dem Trade Federation-Test-Harness ausgeführt werden können.
CTS-Verifier-Tests (CTS-V)
Tests, die manuell ausgeführt werden müssen.
CTS Verifier (CTS-V) App
Eine App, mit der CTS-V-Tests durchgeführt und CTS-V-Testergebnisse erfasst werden.
Testfall
Ein einzelner Test, der auf dem DUT ausgeführt wird. Automatisierte Testfälle werden in Java als JUnit-Tests geschrieben und in Android-APK-Dateien verpackt, um auf dem Zielgerät ausgeführt zu werden.
Testfälle können Unittests oder Funktionstests sein. Ein Unit-Test prüft atomare Codeeinheiten auf der Android-Plattform. Ein einzelner Android-Klasse kann beispielsweise mit einem solchen Test geprüft werden.
Ein Funktionstest prüft eine Kombination von Methoden und Klassen, die für einen bestimmten Anwendungsfall verwendet werden.
Testkonfiguration
Eine bestimmte Reihe automatisierter Tests, die auf dem DUT ausgeführt werden. Testkonfigurationen sind XML-Dateien, die sich unter WORKING_DIRECTORY/cts/tools/cts-tradefed/res/config befinden.
Es gibt Testkonfigurationen, die alle automatisierten Testfälle und Testkonfigurationen enthalten, die eine Teilmenge der Testfälle enthalten.
Testmodul
Eine Testkonfiguration, die eine Sammlung von Testfällen für denselben Funktionsbereich enthält.
Test plan
Eine Testkonfiguration, die aus einer Sammlung von Testmodulen besteht.
Testabdeckung
Die Testfälle umfassen die folgenden Bereiche, um die Kompatibilität zu gewährleisten:
Area
Beschreibung
Signaturtests
Für jede Android-Version gibt es XML-Dateien, die die Signaturen aller öffentlichen APIs in der Version beschreiben. Der CTS enthält ein Dienstprogramm, mit dem diese API-Signaturen mit den auf dem Gerät verfügbaren APIs verglichen werden. Die Ergebnisse der Unterschriftsprüfung werden in der XML-Datei mit den Testergebnissen aufgezeichnet.
Plattform-API-Tests
Testen Sie die APIs der Plattform (Kernbibliotheken und Android Application Framework) gemäß der Dokumentation im Klassenindex des SDKs, um die API-Richtigkeit zu überprüfen, einschließlich korrekter Klassen-, Attribut- und Methodensignaturen, korrektem Methodenverhalten und negativen Tests, um das erwartete Verhalten bei falscher Parameterbehandlung sicherzustellen.
Dalvik-Tests
Der Schwerpunkt liegt auf dem Testen des Dalvik-Ausführbaren-Formats.
Plattformdatenmodell
Im CTS wird das Kerndatenmodell der Plattform getestet, das Entwicklern von Anwendungen über Contentanbieter zur Verfügung gestellt wird, wie im SDK-Paket android.provider (einschließlich Kontakte, Browser und Einstellungen) dokumentiert.
Plattformabsichten
Im CTS werden die Hauptplattform-Intents getestet, die im SDK unter
Häufig verwendete Intents beschrieben sind.
Plattformberechtigungen
Der CTS prüft die wichtigsten Plattformberechtigungen, wie im SDK Manifest.permission dokumentiert.
Plattformressourcen
Der CTS prüft die korrekte Verarbeitung der Hauptressourcentypen der Plattform, wie im SDK unter
Ressourcentypen – Übersicht dokumentiert. Die CTS-Tests umfassen Tests für einfache Werte, Drawables, Nine-Patch-Grafiken, Animationen, Layouts, Stile und Themen sowie das Laden alternativer Ressourcen.
Nächste Schritte
Lesen Sie dieses Dokument und fahren Sie dann mit CTS einrichten fort.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-27 (UTC)."],[],[],null,["# The Compatibility Test Suite (CTS) overview\n\n*Compatibility Test Suite (CTS)* is a free, commercial-grade test suite and\ntools used to help ensure that your devices are Android compatible. CTS is\nintended to be integrated into your daily workflow, such as through a\ncontinuous build system. CTS runs on a desktop machine and executes tests\ndirectly on attached devices or on an emulator. For an overview of Android compatibility, see [Android compatibility program overview](/docs/compatibility).\n\n**Figure 1.** CTS automated testing.\n\nFigure 1 shows the process of executing CTS automated tests:\n\n1. Download and install CTS. This step also involves setting up the test environment, the testing workstation, and the device you are testing or *device under test (DUT)*\n2. Run CTS automated tests.\n3. Store and review the results.\n4. Troubleshoot issues and rerun tests.\n\nUse CTS to reveal incompatibilities early, and to ensure that your Android\nimplementations remain compatible throughout the development process.\n\nCTS components\n--------------\n\nCTS contains the following major components:\n\n*Trade Federation*\n: A test harness and framework allow for the automated execution of tests.\n\n*CTS automated tests*\n: Tests that use the Trade Federation framework and can be run using the Trade\n Federation test harness.\n\n*CTS Verifier (CTS-V) tests*\n: Tests that must be run manually.\n\n*CTS Verifier (CTS-V) app*\n: An app used to conduct CTS-V tests and collect CTS-V test results.\n\n*Test case*\n\n: An individual test executed on the DUT. Automated test cases are\n written in Java as JUnit tests and packaged Android APK files to run on the\n device target.\n\n Test cases can be *unit tests* or *functional tests*. A unit test tests atomic\n units of code within the Android platform. For example, a unit test might test\n a single Android class.\n\n A functional test exercises a combination of methods and classes used for a\n specific use case.\n\n*Test configuration*\n\n: A specific set of automated tests that are run on the\n DUT. Test configurations are XML files located in\n \u003cvar translate=\"no\"\u003eWORKING_DIRECTORY\u003c/var\u003e`/cts/tools/cts-tradefed/res/config`.\n There are test configurations that contains all automated test cases and test\n configurations that contain a subset of test cases.\n\n*Test module*\n\n: A test configuration consisting of a collection of test cases for the same\n feature area.\n\n*Test plan*\n\n: A test configuration consisting of a collection of test modules.\n\n| **Note:** The Android Open Source Project accepts contributions to improve CTS just as for any other component. Improving the coverage and quality of CTS tests is one of the best ways to contribute to Android. To make contributions to CTS, follow the same process in [Submit code changes](/docs/setup/contribute/submit-patches).\n\nTest coverage\n-------------\n\nTest cases cover the following areas to ensure compatibility:\n\n| Area | Description |\n|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Signature tests | For each Android release, there are XML files describing the signatures of all public APIs contained in the release. The CTS contains a utility to check those API signatures against the APIs available on the device. The results from signature checking are recorded in the test result XML file. |\n| Platform API tests | Test the platform (core libraries and Android Application Framework) APIs as documented in the SDK [Class Index](https://developer.android.com/reference/classes) to ensure API correctness, including correct class, attribute and method signatures, correct method behavior, and negative tests to ensure expected behavior for incorrect parameter handling. |\n| Dalvik tests | The tests focus on testing the Dalvik executable format. |\n| Platform data model | The CTS tests the core platform data model as exposed to application developers through content providers, as documented in the SDK [`android.provider`](https://developer.android.com/reference/android/provider/package-summary) package (including contacts, browsers, and settings) |\n| Platform intents | The CTS tests the core platform intents, as documented in the SDK [Common intents](https://developer.android.com/guide/appendix/g-app-intents). |\n| Platform permissions | The CTS tests the core platform permissions, as documented in the SDK [`Manifest.permission`](https://developer.android.com/reference/android/Manifest.permission). |\n| Platform resources | The CTS tests for correct handling of the core platform resource types, as documented in the SDK [Resource types overview](https://developer.android.com/guide/topics/resources/available-resources). The CTS tests include tests for simple values, drawables, nine-patch, animations, layouts, styles and themes, and loading alternate resources. |\n\nWhat's next\n-----------\n\nAfter reading this document, continue to [Set up CTS](/docs/compatibility/cts/setup)."]]