From a51530715ff3e8959c20b4e7d414c42e23f33526 Mon Sep 17 00:00:00 2001 From: Jiyong Park Date: Tue, 4 Sep 2018 10:01:41 +0900 Subject: Version number in APEX manifest is set as versionCode of AndroidManifest Package name together with version number fully identifies an APEX (and thus APK). Bug: 112458021 Test: runtests.sh Change-Id: I3d3193bc6071bebd577858fffc617660cb555380 --- apexer/apexer.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'apexer/apexer.py') diff --git a/apexer/apexer.py b/apexer/apexer.py index 8612241..c7c81c9 100644 --- a/apexer/apexer.py +++ b/apexer/apexer.py @@ -76,19 +76,20 @@ def GetDirSize(dir_name): size += os.path.getsize(os.path.join(dirpath, f)) return size + def RoundUp(size, unit): assert unit & (unit - 1) == 0 return (size + unit - 1) & (~(unit - 1)) -def PrepareAndroidManifest(packagename): +def PrepareAndroidManifest(package, version): template = """\ + package="{package}" versionCode="{version}"> """ - return template.format(packagename=packagename) + return template.format(package=package, version=version) def ValidateArgs(args): @@ -133,6 +134,7 @@ def CreateApex(args, work_dir): print("Invalid manifest: 'name' does not exist") return False package_name = manifest['name'] + version_number = manifest['version'] # create an empty ext4 image that is sufficiently big # Sufficiently big = twice the size of the input directory @@ -233,7 +235,7 @@ def CreateApex(args, work_dir): if args.verbose: print('Creating AndroidManifest ' + android_manifest_file) with open(android_manifest_file, 'w+') as f: - f.write(PrepareAndroidManifest(package_name)) + f.write(PrepareAndroidManifest(package_name, version_number)) # copy manifest to the content dir so that it is also accessible # without mounting the image -- cgit v1.2.3