Gather shared libs for split apks based on dependencies.

Traverses split dependency hierarchy to determine what the split paths
should be to add to the shared libs to pass down to dex2oat.

Bug: 34169257
Bug: 37480811
Test: cts-tradefed run singleCommand cts -d --module
CtsAppSecurityHostTestCases -t android.appsecurity.cts.SplitTests

Checked not only that CTS tests pass, but that shared libraries match
and collision checks are not being performed.

E.g. testInstallAllFeatureSplits has dependencies where:
  APK_BASE <- APK_FEATURE_A <- APK_FEATURE_B and
  APK_BASE <- APK_FEATURE_C.

Shared libraries passed to dex2oat:
  for base.apk:  /system/framework/android.test.runner.jar
  for feature_a: /system/framework/android.test.runner.jar:base.apk
  for feature_b: /system/framework/android.test.runner.jar:base.apk:split_feature_a.apk
  for feature_c: /system/framework/android.test.runner.jar:base.apk

Change-Id: I77098452887e3a498c121be59ce1eda98b80f3e9
1 file changed