2 # Script to install (if they do not exist) the Android SDK library (ie. Android JDK)
5 import os, subprocess, struct
6 import urllib.request, urllib.error, urllib.parse, urllib.parse
12 target_os = env.get('TARGET_OS')
13 src_dir = env.get('SRC_DIR')
15 SConscript(src_dir + '/build_common/tools/UnpackAll.py')
16 SConscript(src_dir + '/build_common/external_libs.scons')
19 if target_os == 'android':
20 android_home = env.get('ANDROID_HOME')
22 print('Creating ANDROID_HOME for Android SDK')
24 # older IoTivity versions expected the SDK at this position, this is left for backwards compatibility
25 androidlib_dir = src_dir + '/extlibs/android/sdk/android-sdk_r24.2'
27 if not os.path.exists(androidlib_dir):
28 from sys import platform as _platform
29 if _platform == "linux" or _platform == "linux2":
30 androidlib_zip_file = src_dir + '/extlibs/android/android-sdk_r24.2-linux.tgz'
31 androidlib_url = 'http://dl.google.com/android/android-sdk_r24.2-linux.tgz'
32 androidlib_dir = src_dir + '/extlibs/android/sdk/android-sdk-linux'
33 elif _platform == "darwin":
34 androidlib_zip_file = src_dir + '/extlibs/android/android-sdk_r24.2-macosx.zip'
35 androidlib_url = 'http://dl.google.com/android/android-sdk_r24.2-macosx.zip'
36 androidlib_dir = src_dir + '/extlibs/android/sdk/android-sdk-macosx'
37 elif _platform == "win32":
38 androidlib_zip_file = src_dir + '/extlibs/android/android-sdk_r24.2-windows.zip'
39 androidlib_url = 'http://dl.google.com/android/android-sdk_r24.2-windows.zip'
40 androidlib_dir = src_dir + '/extlibs/android/sdk/android-sdk-windows'
42 if not os.path.exists(androidlib_dir):
43 # If the zip file is not already present, download it
44 if not os.path.exists(androidlib_zip_file):
45 androidlib_zip = env.Download(androidlib_zip_file, androidlib_url)
47 androidlib_zip = androidlib_zip_file
50 print('Unzipping android lib...')
51 env.UnpackAll(androidlib_dir, androidlib_zip)
52 print('Unzipping android lib complete')
54 # Remove downloaded file
55 # os.remove(androidlib_zip_file)
57 androidlib_dir = env.get('ANDROID_HOME')
59 # Set the ANDROID_HOME
60 env.Replace(ANDROID_HOME = androidlib_dir)
61 print('ANDROID_HOME = ' + env.get('ANDROID_HOME'))