Commit 6df3693e authored by Andrew Grieve's avatar Andrew Grieve Committed by Commit Bot

Android: Use checked-in JDK for apksigner

TBR=agrieve  # Trivial build script change.

Bug: 1036426
Change-Id: I0c10f5024ccbfaafdeae1950e18c72e7651bdd03
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1982774
Commit-Queue: Andrew Grieve <agrieve@chromium.org>
Auto-Submit: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: default avatarEric Stevenson <estevenson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#727625}
parent 8dc1e03d
......@@ -252,9 +252,9 @@ def main():
try:
MergeApk(args, tmp_apk, tmp_dir_32, tmp_dir_64)
apksigner_path = os.path.join(
os.path.dirname(args.zipalign_path), 'apksigner')
finalize_apk.FinalizeApk(apksigner_path, args.zipalign_path,
apksigner_jar = os.path.join(
os.path.dirname(args.zipalign_path), 'lib', 'apksigner.jar')
finalize_apk.FinalizeApk(apksigner_jar, args.zipalign_path,
tmp_apk, new_apk, args.keystore_path,
args.key_password, args.key_name)
finally:
......
......@@ -89,8 +89,8 @@ def _ParseArgs(args):
choices=['true', 'True', 'false', 'False'],
help='Whether to uncompress native shared libraries. Argument must be '
'a boolean value.')
parser.add_argument('--apksigner-path',
help='Path to the apksigner executable.')
parser.add_argument(
'--apksigner-jar', help='Path to the apksigner executable.')
parser.add_argument('--zipalign-path',
help='Path to the zipalign executable.')
parser.add_argument('--key-path',
......@@ -112,11 +112,12 @@ def _ParseArgs(args):
options.secondary_native_libs = build_utils.ParseGnList(
options.secondary_native_libs)
# --apksigner-path, --zipalign-path, --key-xxx arguments are
# --apksigner-jar, --zipalign-path, --key-xxx arguments are
# required when building an APK, but not a bundle module.
if options.format == 'apk':
required_args = ['apksigner_path', 'zipalign_path', 'key_path',
'key_passwd', 'key_name']
required_args = [
'apksigner_jar', 'zipalign_path', 'key_path', 'key_passwd', 'key_name'
]
for required in required_args:
if not vars(options)[required]:
raise Exception('Argument --%s is required for APKs.' % (
......@@ -383,7 +384,7 @@ def main(args):
data=java_resource_jar.read(apk_path))
if options.format == 'apk':
finalize_apk.FinalizeApk(options.apksigner_path, options.zipalign_path,
finalize_apk.FinalizeApk(options.apksigner_jar, options.zipalign_path,
f.name, f.name, options.key_path,
options.key_passwd, options.key_name)
......
......@@ -8,6 +8,8 @@ import shutil
import subprocess
import tempfile
from util import build_utils
def FinalizeApk(apksigner_path, zipalign_path, unsigned_apk_path,
final_apk_path, key_path, key_passwd, key_name):
......@@ -19,14 +21,23 @@ def FinalizeApk(apksigner_path, zipalign_path, unsigned_apk_path,
zipalign_path, '-p', '-f', '4',
unsigned_apk_path, staging_file.name])
subprocess.check_output([
apksigner_path, 'sign',
'--in', staging_file.name,
'--out', staging_file.name,
'--ks', key_path,
'--ks-key-alias', key_name,
'--ks-pass', 'pass:' + key_passwd,
build_utils.JAVA_PATH,
'-jar',
apksigner_path,
'sign',
'--in',
staging_file.name,
'--out',
staging_file.name,
'--ks',
key_path,
'--ks-key-alias',
key_name,
'--ks-pass',
'pass:' + key_passwd,
# Force SHA-1 (makes signing faster; insecure is fine for local builds).
'--min-sdk-version', '1',
'--min-sdk-version',
'1',
])
shutil.move(staging_file.name, final_apk_path)
staging_file.delete = False
......@@ -2577,7 +2577,7 @@ if (enable_java_templates) {
script = "//build/android/gyp/apkbuilder.py"
depfile = "$target_gen_dir/$target_name.d"
_apksigner = "$android_sdk_build_tools/apksigner"
_apksigner = "$android_sdk_build_tools/lib/apksigner.jar"
_zipalign = "$android_sdk_build_tools/zipalign"
data_deps = [
"//tools/android/md5sum",
......@@ -2606,7 +2606,7 @@ if (enable_java_templates) {
rebase_path(depfile, root_build_dir),
"--resource-apk=$_rebased_compiled_resources_path",
"--output-apk=$_rebased_packaged_apk_path",
"--apksigner-path",
"--apksigner-jar",
rebase_path(_apksigner, root_build_dir),
"--zipalign-path",
rebase_path(_zipalign, root_build_dir),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment