From 968178b5dd79c5e772916ae6e715f66ef86073ac Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 22 Nov 2017 17:34:40 +0100 Subject: [PATCH] Fixed NDK version number lookup --- prepare.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/prepare.py b/prepare.py index b508ba9b4..2ee357314 100755 --- a/prepare.py +++ b/prepare.py @@ -140,7 +140,7 @@ class AndroidPreparator(prepare.Preparator): retval = True ndk_build = find_executable('ndk-build') ndk_path = os.path.dirname(ndk_build) - # NDK prior to r11 had a RELEASE.TXT file holding the version number + # NDK prior to r11 had a RELEASE.TXT file holding the version number release_file = os.path.join(ndk_path, 'RELEASE.TXT') if os.path.isfile(release_file): version = open(release_file).read().strip() @@ -156,8 +156,19 @@ class AndroidPreparator(prepare.Preparator): if len(python_config_files) > 0: version = open(python_config_files[0]).readlines()[0] res = re.match('^.*/(aosp-)?ndk-r(\d+).*$', version) - version = int(res.group(2)) - retval = False + if res is not None: # Will be if NDK < 16 + version = int(res.group(2)) + retval = False + else: + release_file = os.path.join(ndk_path, 'source.properties') # Since NDK 16 + if os.path.isfile(release_file): + version = open(release_file).read().strip() + res = re.findall(r'(?:(\d+))', version) + version = int(res[0]) + retval = False + else: + error("Could not get Android NDK version!") + sys.exit(-1) else: error("Could not get Android NDK version!") sys.exit(-1)