From 37258b6113e59a4e6ac7de3f6c0a9b250fd926de Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Fri, 26 Feb 2016 17:45:22 -0800 Subject: [PATCH] Support for jars with large numbers of classes --- build/android/gyp/jar_toc.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/build/android/gyp/jar_toc.py b/build/android/gyp/jar_toc.py index 774475bf739..00d97d211f3 100755 --- a/build/android/gyp/jar_toc.py +++ b/build/android/gyp/jar_toc.py @@ -73,13 +73,15 @@ def ExtractToc(disassembled_classes): def UpdateToc(jar_path, toc_path): classes = GetClassesInZipFile(zipfile.ZipFile(jar_path)) - toc = '' - if len(classes) != 0: - javap_output = CallJavap(classpath=jar_path, classes=classes) - toc = ExtractToc(javap_output) + toc = [] + + limit = 1000 # Split into multiple calls to stay under command size limit + for i in xrange(0, len(classes), limit): + javap_output = CallJavap(classpath=jar_path, classes=classes[i:i+limit]) + toc.append(ExtractToc(javap_output)) with open(toc_path, 'w') as tocfile: - tocfile.write(toc) + tocfile.write(''.join(toc)) def DoJarToc(options):