File: build_android_package.py

package info (click to toggle)
robotraconteur 1.2.7-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 101,380 kB
  • sloc: cpp: 1,149,268; cs: 87,653; java: 58,127; python: 26,897; ansic: 356; sh: 152; makefile: 90; xml: 51
file content (29 lines) | stat: -rw-r--r-- 1,211 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import shutil
import subprocess
from pathlib import Path
import glob
import tempfile
import re
import zipfile

asset_dir = "artifacts/main"
android_abis = ["x86", "x86_64", "armeabi-v7a", "arm64-v8a"]

with open(asset_dir + '/out-android-x86_64/rrversion.txt') as f:
    ver_str1 = f.read().strip()

ver_str_m = re.match(r"^(\d+\.\d+.\d+)", ver_str1)
assert ver_str_m
ver_str = ver_str_m.group(1)

with zipfile.ZipFile('distfiles/RobotRaconteurCoreAndroid-v1(%s).aar' % ver_str, 'w', zipfile.ZIP_DEFLATED) as zip:
    zip.write('robotraconteur/packaging/android_aar/AndroidManifest.xml',
              arcname="AndroidManifest.xml")
    zip.write('robotraconteur/packaging/android_aar/R.txt', arcname="R.txt")
    zip.write('robotraconteur/packaging/android_aar/aar-metadata.properties',
              arcname='META-INF/com/android/build/gradle/aar-metadata.properties')
    zip.write(f'{asset_dir}/out-android-x86_64/Java/RobotRaconteurAndroid.jar',
              arcname='libs/RobotRaconteurAndroid.jar')
    for abi in android_abis:
        zip.write(f'{asset_dir}/out-android-{abi}/Java/libRobotRaconteurJavaNative-android.so',
                  arcname=f'jni/{abi}/libRobotRaconteurJavaNative-android.so')