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.
GoogleTest
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Ein GoogleTest (GTest, auch als „native Tests“ bezeichnet) für die Plattform greift in der Regel auf HALs niedrigerer Ebene zu oder führt einen Roh-IPC mit verschiedenen Systemdiensten aus. Daher ist der Testansatz in der Regel eng mit dem zu testenden Dienst verknüpft.
Wenn Sie Ihre GTests in die Continuous-Testing-Infrastruktur einbinden möchten, erstellen Sie sie mit dem GTest-Framework.
Beispiele
Hier einige Beispiele für GTest in der Plattformquelle:
Zusammenfassung der Schritte
Folgen Sie der Beispielkonfiguration für GTest-Module.
Wenn Sie GTest-Abhängigkeiten automatisch einschließen möchten, verwenden Sie die Build-Regel BUILD_NATIVE_TEST
in der Konfiguration Ihres Testmoduls.
Erstellen Sie eine Testkonfiguration. Folgen Sie dabei den Beispielen für einfache und komplexe Optionen.
Erstellen Sie das Testmodul mit mmm
für inkrementelle Builds oder mma
für vollständige Builds:
make hwui_unit_tests -j
Führen Sie den Test lokal mit Atest aus:
atest hwui_unit_tests
Sie können Ihren GTests auch Argumente hinzufügen. Die folgenden Argumente sind besonders nützlich:
Führen Sie den Test mit dem Trade Federation-Testharness aus:
make tradefed-all -j
tradefed.sh run template/local_min --template:map test=hwui_unit_tests
Manuell installieren und ausführen:
Senden Sie das generierte Test-Binary auf Ihr Gerät:
adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \
/data/nativetest/hwui_unit_tests/hwui_unit_tests
Starten Sie GTest und führen Sie den Test aus, indem Sie das Test-Binary auf dem Gerät aufrufen:
adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
Weitere Informationen zur Anpassung der Testausführung finden Sie, wenn Sie dem Test-Binary den Parameter --help
hinzufügen. Weitere Informationen zu Parametern finden Sie im erweiterten Leitfaden für GTest.
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).
[null,null,["Zuletzt aktualisiert: 2025-07-27 (UTC)."],[],[],null,["# GoogleTest\n\nA GoogleTest (GTest, also sometimes called \"native tests\") for the platform\ntypically accesses lower-level HALs or performs raw IPC against various system\nservices. Because of this, the testing approach is usually tightly coupled with\nthe service under test.\n\nTo integrate with continuous testing infrastructure, build your GTests\nusing the [GTest](https://github.com/google/googletest)\nframework.\n\nExamples\n--------\n\nHere are some examples of GTest in the platform source:\n\n- [frameworks/av/camera/tests](https://android.googlesource.com/platform/frameworks/av/+/android16-release/camera/tests/)\n- [frameworks/native/libs/gui/tests](https://android.googlesource.com/platform/frameworks/native/+/android16-release/libs/gui/tests/)\n\nSummary of steps\n----------------\n\n1. Follow the [example GTest module setup](https://android.googlesource.com/platform/frameworks/base/+/android16-release/libs/hwui/tests/unit/).\n\n2. To automatically include GTest dependencies, use the `BUILD_NATIVE_TEST`\n build rule in your test module configuration.\n\n3. Write a test configuration, following the examples for [simple](/docs/core/tests/development/blueprints)\n and [complex](/docs/core/tests/development/test-config) options.\n\n4. Build the test module with `mmm` for incremental builds, or `mma` for full\n builds:\n\n make hwui_unit_tests -j\n\n5. Run the test locally using [Atest](/docs/core/tests/development/atest):\n\n atest hwui_unit_tests\n\n You can also add arguments to your GTests. The following are especially useful arguments:\n - `native-test-flag` specifies additional flag values to pass to the GTest shell command.\n - `native-test-timeout` specifies a test timeout value in microseconds.\n\n The following example code uses both of these arguments: \n\n atest test-name -- --module-arg test-name:native-test-flag:\"\\\"argument1 argument2\\\"\" \\\n --module-arg test-name:native-test-timeout:60000\n\n6. Run the test with the Trade Federation test harness:\n\n make tradefed-all -j\n tradefed.sh run template/local_min --template:map test=hwui_unit_tests\n\n7. Manually install and run:\n\n 1. Push the generated test binary onto your device:\n\n adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \\\n /data/nativetest/hwui_unit_tests/hwui_unit_tests\n\n 2. Launch GTest and execute the test by invoking the test binary on the device:\n\n adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests\n\n For more information about customizing test execution, add the `--help`\n parameter to your test binary. For more information on parameters, refer to\n the [GTest advanced guide](https://github.com/google/googletest/blob/master/googletest/docs/advanced.md)."]]