The required <uses-library> "org.apache.http.legacy" is in the manifest for Settings. It is necessary to explicitly add it to `uses_libs` because it is not among the app dependencies (so Soong does not add it automatically to the manifest_fixer). It also doesn't add it as a compatibility library because the target API level for the app is not below 28. Bug: 132357300 Test: lunch cf_x86_phone-userdebug && m Test: m out/soong/.intermediates/packages/apps/Settings/Settings/android_common/manifest_check/AndroidManifest.xml Test: m out/soong/.intermediates/packages/apps/Settings/tests/robotests/SettingsRoboTestStub/android_common/manifest_check/AndroidManifest.xm Change-Id: Id5d5fe1dff68cf6fce667a00e35710cf0e667d02
Running Settings Robolectric tests
The full suite
$ croot
$ make RunSettingsRoboTests
Running a single test class
$ croot
$ make RunSettingsRoboTests ROBOTEST_FILTER=<ClassName>
For example:
make RunSettingsRoboTests ROBOTEST_FILTER=CodeInspectionTest
You can also use partial class name in ROBOTEST_FILTER. If the partial class name matches multiple file names, all of them will be executed.