diff options
-rw-r--r-- | build/apex/Android.bp | 14 | ||||
-rwxr-xr-x | build/apex/art_apex_test.py | 2 |
2 files changed, 16 insertions, 0 deletions
diff --git a/build/apex/Android.bp b/build/apex/Android.bp index 3c305b8995..de42615972 100644 --- a/build/apex/Android.bp +++ b/build/apex/Android.bp @@ -435,7 +435,21 @@ apex_test { certificate: ":com.android.art.certificate", tests: art_gtests, binaries: ["signal_dumper"], // Need signal_dumper for run-tests. + // Mark this test APEX as non-updatable, as its contains + // additional files (used only for testing) that would not pass + // dependency checks performed on updatable APEXes (see + // go/apex-allowed-deps-error). updatable: false, + // Because this APEX is non-updatable, some of its native shared + // libraries (implicitly added as dependencies) are eligible to + // the symlink optimization. As we want this APEX to be + // self-contained (for testing purposes), we want to package + // these dependencies in this APEX, instead of symbolic links to + // their counterparts on the `system` partition, which may not + // even exist, as in the case of `libbacktrace` (see b/232790938 + // and b/233357459). Marking this APEX as "future updatable" + // disables all symlink optimizations for it. + future_updatable: true, } // TODO: Do this better. art_apex_test_host will disable host builds when diff --git a/build/apex/art_apex_test.py b/build/apex/art_apex_test.py index 43fa01c756..5ead8dab49 100755 --- a/build/apex/art_apex_test.py +++ b/build/apex/art_apex_test.py @@ -217,6 +217,8 @@ class Checker: return False, 'Could not find %s' if fs_object.is_dir: return False, '%s is a directory' + if fs_object.is_symlink: + return False, '%s is a symlink' return True, '' def is_dir(self, path): |