Revert "Always embed jni libs and store uncompressed"

Revert submission 3075263

Reason for revert: verifying the test failure b/339332424

Reverted changes: /q/submissionid:3075263

Change-Id: I0e1a526893ee6c591eaefadcee4bbbf321dfc1df
This commit is contained in:
Sam Chiu
2024-05-08 06:49:33 +00:00
parent 4f63dc7904
commit a71b90cf81
6 changed files with 195 additions and 36 deletions

View File

@@ -62,8 +62,8 @@ def parse_args():
'in the manifest.'))
parser.add_argument('--extract-native-libs', dest='extract_native_libs',
default=None, type=lambda x: (str(x).lower() == 'true'),
help=('specify if the app wants to use embedded native libraries. Must not '
'be true if manifest says false.'))
help=('specify if the app wants to use embedded native libraries. Must not conflict '
'if already declared in the manifest.'))
parser.add_argument('--has-no-code', dest='has_no_code', action='store_true',
help=('adds hasCode="false" attribute to application. Ignored if application elem '
'already has a hasCode attribute.'))
@@ -299,16 +299,7 @@ def add_extract_native_libs(doc, extract_native_libs):
attr = doc.createAttributeNS(android_ns, 'android:extractNativeLibs')
attr.value = value
application.setAttributeNode(attr)
elif attr.value == "false" and value == "true":
# Note that we don't disallow the case of extractNativeLibs="true" in manifest and
# --extract-native-libs="false". This is fine because --extract-native-libs="false" means that
# the build system didn't compress the JNI libs, which is a fine choice for built-in apps. At
# runtime the JNI libs will be extracted to outside of the APK, but everything will still work
# okay.
#
# The opposite (extractNativeLibs="false" && --extract-native-libs="true") should however be
# disallowed because otherwise that would make an ill-formed APK; JNI libs are stored compressed
# but they won't be extracted. There's no way to execute the JNI libs.
elif attr.value != value:
raise RuntimeError('existing attribute extractNativeLibs="%s" conflicts with --extract-native-libs="%s"' %
(attr.value, value))