summaryrefslogtreecommitdiff
path: root/apexer/apexer.py
diff options
context:
space:
mode:
authorJiyong Park <jiyong@google.com>2018-09-04 10:01:41 +0900
committerJiyong Park <jiyong@google.com>2018-09-04 10:01:41 +0900
commita51530715ff3e8959c20b4e7d414c42e23f33526 (patch)
treeb0dec26a158e284b9e26f198dd18596a63591e5f /apexer/apexer.py
parent4edc623b47d5bd5e390c6e9c38b53a3ac0fd32cb (diff)
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
Diffstat (limited to 'apexer/apexer.py')
-rw-r--r--apexer/apexer.py10
1 files changed, 6 insertions, 4 deletions
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 = """\
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="{packagename}">
+ package="{package}" versionCode="{version}">
</manifest>
"""
- 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