summaryrefslogtreecommitdiffstats
path: root/android_webview/tools
diff options
context:
space:
mode:
authormichaelbai <michaelbai@chromium.org>2016-01-25 16:43:10 -0800
committerCommit bot <commit-bot@chromium.org>2016-01-26 00:44:02 +0000
commite77d565e1b9a8d3a2822b54bbaee1d81f5a67198 (patch)
treef0b1b57c1ce5baa92f20ff39816262414d87e446 /android_webview/tools
parent48671daec4184675fe6fd61b43a9f8ee0d535ec4 (diff)
downloadchromium_src-e77d565e1b9a8d3a2822b54bbaee1d81f5a67198.zip
chromium_src-e77d565e1b9a8d3a2822b54bbaee1d81f5a67198.tar.gz
chromium_src-e77d565e1b9a8d3a2822b54bbaee1d81f5a67198.tar.bz2
Support uncompress and page align shared libraries
This is no corresponding gyp change, because the ant apkbuilder doesn't support uncompress shared libraries, to only have GN support this meets our requirement. BUG=579610 Review URL: https://codereview.chromium.org/1619553003 Cr-Commit-Position: refs/heads/master@{#371384}
Diffstat (limited to 'android_webview/tools')
-rwxr-xr-xandroid_webview/tools/apk_merger.py16
1 files changed, 13 insertions, 3 deletions
diff --git a/android_webview/tools/apk_merger.py b/android_webview/tools/apk_merger.py
index e9ea1fe..7851fe5 100755
--- a/android_webview/tools/apk_merger.py
+++ b/android_webview/tools/apk_merger.py
@@ -121,7 +121,8 @@ def RemoveMetafiles(tmp_apk):
def SignAndAlignApk(tmp_apk, signed_tmp_apk, new_apk, zipalign_path,
- keystore_path, key_name, key_password):
+ keystore_path, key_name, key_password,
+ page_align_shared_libraries):
try:
finalize_apk.JarSigner(
keystore_path,
@@ -133,7 +134,10 @@ def SignAndAlignApk(tmp_apk, signed_tmp_apk, new_apk, zipalign_path,
raise ApkMergeFailure('Failed to sign APK: ' + e.output)
try:
- finalize_apk.AlignApk(zipalign_path, signed_tmp_apk, new_apk)
+ finalize_apk.AlignApk(zipalign_path,
+ page_align_shared_libraries,
+ signed_tmp_apk,
+ new_apk)
except build_utils.CalledProcessError as e:
raise ApkMergeFailure('Failed to align APK: ' + e.output)
@@ -151,6 +155,8 @@ def main():
parser.add_argument('--key_name', required=True)
parser.add_argument('--key_password', required=True)
parser.add_argument('--shared_library', required=True)
+ parser.add_argument('--page-align-shared-libraries', action='store_true')
+ parser.add_argument('--uncompress-shared-libraries', action='store_true')
args = parser.parse_args()
tmp_dir = tempfile.mkdtemp()
@@ -166,6 +172,9 @@ def main():
'natives_blob_32.bin': ['-0'],
args.shared_library: []}
+ if args.uncompress_shared_libraries:
+ expected_files[args.shared_library] += ['-0']
+
try:
shutil.copyfile(args.apk_64bit, tmp_apk)
@@ -190,7 +199,8 @@ def main():
AddDiffFiles(diff_files, tmp_dir_32, tmp_apk, expected_files)
SignAndAlignApk(tmp_apk, signed_tmp_apk, new_apk, args.zipalign_path,
- args.keystore_path, args.key_name, args.key_password)
+ args.keystore_path, args.key_name, args.key_password,
+ args.page_align_shared_libraries)
except ApkMergeFailure as e:
print e