Treat APK path change as compatible
The path to an APK may change, on an update, or at any other time when
it's not running. So we shouldn't treat a path change as rendering the
VM config incompatible.
(If the new path points to an APK with a different signature or
incompatible version then starting the VM may still fail - but we
can't determine that statically from the config, any more than we can
from checking package names.)
Modify the relevant test to match.
Bug: 321184334
Test: atest MicrodroidTests
Change-Id: I384360b0d19013b12da338af95cbc5ae104fa983
diff --git a/javalib/src/android/system/virtualmachine/VirtualMachineConfig.java b/javalib/src/android/system/virtualmachine/VirtualMachineConfig.java
index ad36208..474c2f2 100644
--- a/javalib/src/android/system/virtualmachine/VirtualMachineConfig.java
+++ b/javalib/src/android/system/virtualmachine/VirtualMachineConfig.java
@@ -494,7 +494,6 @@
&& Objects.equals(this.mPayloadConfigPath, other.mPayloadConfigPath)
&& Objects.equals(this.mPayloadBinaryName, other.mPayloadBinaryName)
&& Objects.equals(this.mPackageName, other.mPackageName)
- && Objects.equals(this.mApkPath, other.mApkPath)
&& Objects.equals(this.mOs, other.mOs);
}
diff --git a/tests/testapk/src/java/com/android/microdroid/test/MicrodroidTests.java b/tests/testapk/src/java/com/android/microdroid/test/MicrodroidTests.java
index 6471fed..33d41ab 100644
--- a/tests/testapk/src/java/com/android/microdroid/test/MicrodroidTests.java
+++ b/tests/testapk/src/java/com/android/microdroid/test/MicrodroidTests.java
@@ -616,9 +616,12 @@
.isFalse();
}
+ // Changes that were incompatible but are currently compatible, but not guaranteed to be
+ // so in the API spec.
+ assertConfigCompatible(baseline, newBaselineBuilder().setApkPath("/different")).isTrue();
+
// Changes that are currently incompatible for ease of implementation, but this might change
// in the future.
- assertConfigCompatible(baseline, newBaselineBuilder().setApkPath("/different")).isFalse();
assertConfigCompatible(baseline, newBaselineBuilder().setEncryptedStorageBytes(100_000))
.isFalse();