From 75456275f1765db5ef13ecf730e3c878cb6acfbc Mon Sep 17 00:00:00 2001 From: Joshua Quick Date: Thu, 30 Apr 2020 11:01:41 -0700 Subject: [PATCH] fix(android)(9_0_X): module build to download ndk with gradle tool 3.5.0+ (#11620) - After updating Android gradle tool from 3.4.x to 3.6.0, module builds no longer auto-downloads NDK if missing. - Issue on Google's end which default to an "unstable" NDK version and tool does not support downloading unstable versions. - Downgraded default NDK version for modules from 21.0.6113669 to 20.1.5948944 * Avoids harmless "bad file descriptor" errors that get logged by newest NDK. Fixes TIMOB-27798 --- android/templates/module/generated/build.gradle | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/android/templates/module/generated/build.gradle b/android/templates/module/generated/build.gradle index 691e4ee8b6c..df594208292 100644 --- a/android/templates/module/generated/build.gradle +++ b/android/templates/module/generated/build.gradle @@ -151,6 +151,15 @@ preBuild.doFirst { } } +// If Titanium failed to set Android NDK path in "local.properties", then assume NDK is not installed. +// Have gradle auto-download NDK by setting the version we want below. (Will fail if a different version is installed.) +// Must be set to a stable release version listed here: https://developer.android.com/ndk/downloads +def localProperties = new Properties() +localProperties.load(file("${rootDir}/local.properties").newDataInputStream()) +if (localProperties.get('ndk.dir') == null) { + android.ndkVersion '20.1.5948944' +} + // Set up project to compile Java side before compiling the C/C++ side. // We must do this because our "kroll-apt" Java annotation processor generates C++ source files. project.afterEvaluate {