Allow dex2oat to handle relative paths.
During installation at compile time, the PackageManager is passing shared libraries to dex2oat with -classpath. For split apps, we want the splits to have the proper dependencies, and are now passing previous parts of the split apk as shared libraries as we compile them all. These apks are staged in a temp dir during compilation, so we pass a relative path for them instead. Since PackageManager can now pass relative paths to dex2oat as shared libraries, dex2oat has an added --classpath-dir switch to specify the directory to use for relative class paths. At runtime when checking shared libraries, we use oat file functionality to resolve relative paths to determine if the paths match. Bug: 34169257 Test: cts-tradefed run singleCommand cts -d --module CtsAppSecurityHostTestCases -t android.appsecurity.cts.SplitTests Change-Id: I9667f0069c8d12e94598f8a78888d3855d870824
Loading
Please sign in to comment