Option to pack unstripped .so into libwebrtc.aar
Bug: webrtc:12508
Change-Id: I12e9e9efabc9e8669cad1ff6be9919fef5027da7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/270423
Reviewed-by: Xavier Lepaul <xalep@webrtc.org>
Commit-Queue: Xavier Lepaul <xalep@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37689}
diff --git a/tools_webrtc/android/build_aar.py b/tools_webrtc/android/build_aar.py
index fb5b67a..de5fe2f 100755
--- a/tools_webrtc/android/build_aar.py
+++ b/tools_webrtc/android/build_aar.py
@@ -68,6 +68,10 @@
action='store_true',
default=False,
help='Use goma.')
+ parser.add_argument('--use-unstripped-libs',
+ action='store_true',
+ default=False,
+ help='Use unstripped .so files within libwebrtc.aar')
parser.add_argument('--verbose',
action='store_true',
default=False,
@@ -197,14 +201,16 @@
aar_file.write(os.path.join(output_directory, JAR_FILE), 'classes.jar')
-def Collect(aar_file, build_dir, arch):
+def Collect(aar_file, build_dir, arch, unstripped):
"""Collects architecture specific files into the .aar-archive."""
logging.info('Collecting: %s', arch)
output_directory = _GetOutputDirectory(build_dir, arch)
abi_dir = os.path.join('jni', arch)
for so_file in NEEDED_SO_FILES:
- aar_file.write(os.path.join(output_directory, so_file),
+ source_so_file = os.path.join("lib.unstripped",
+ so_file) if unstripped else so_file
+ aar_file.write(os.path.join(output_directory, source_so_file),
os.path.join(abi_dir, so_file))
@@ -220,7 +226,8 @@
extra_gn_args=None,
ext_build_dir=None,
extra_gn_switches=None,
- extra_ninja_switches=None):
+ extra_ninja_switches=None,
+ unstripped=False):
extra_gn_args = extra_gn_args or []
extra_gn_switches = extra_gn_switches or []
extra_ninja_switches = extra_ninja_switches or []
@@ -234,7 +241,7 @@
# Architecture doesn't matter here, arbitrarily using the first one.
CollectCommon(aar_file, build_dir, archs[0])
for arch in archs:
- Collect(aar_file, build_dir, arch)
+ Collect(aar_file, build_dir, arch, unstripped)
license_dir = os.path.dirname(os.path.realpath(output_file))
GenerateLicenses(license_dir, build_dir, archs)
@@ -248,7 +255,8 @@
logging.basicConfig(level=logging.DEBUG if args.verbose else logging.INFO)
BuildAar(args.arch, args.output, args.use_goma, args.extra_gn_args,
- args.build_dir, args.extra_gn_switches, args.extra_ninja_switches)
+ args.build_dir, args.extra_gn_switches, args.extra_ninja_switches,
+ args.use_unstripped_libs)
if __name__ == '__main__':