Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-25851] CLI complains about Android SDK 26 not supported while docs confirm it

GitHub Issuen/a
TypeImprovement
PriorityNone
StatusClosed
ResolutionDone
Resolution Date2018-08-15T03:27:44.000+0000
Affected Version/sRelease 7.0.2
Fix Version/sn/a
ComponentsAndroid, CLI
LabelsCLI, SDK, build
ReporterRene Pot
AssigneeEric Merriman
Created2018-03-09T16:59:22.000+0000
Updated2018-08-15T03:27:44.000+0000

Description

When compiling an app using Build Tools/SDK 26 you get the following warning:
Building with Android SDK API 26 which hasn't been tested against Titanium SDK 7.0.2
However, the docs say 26 is supported. Also, whenever the right SDK cannot be found this error is triggered
[ERROR] :  Unable to find a suitable installed Android SDK that is API >=23 and <=25
Should also be 26 *Expected Result* No warning to be given by CLI

Comments

  1. Joshua Quick 2018-03-09

    If you're referring to the Android SDK "build-tools" version, yes I'm aware of this issue. The CLI is wrongly selecting the newest build-tools version instead of selecting the range we officially support. We chose not to "fix" this because it would have caused build failures to customers who don't have an older build-tools version that we do support. This is the warning I get for using a build-tools version that's too new...
       [WARN] :   Android Build Tools 27.0.3 are too new and may or may not work with Titanium.
       [WARN] :   If you encounter problems, select a supported version with:
       [WARN] :      appc ti config android.buildTools.selectedVersion ##.##.##
       [WARN] :    where ##.##.## is a version in /Users/jquick2/Library/Android/sdk/build-tools that is 26.x
       2018-3-9 10:37:46
       Operating System
         Name                        = Mac OS X
         Version                     = 10.12.6
         Architecture                = 64bit
         # CPUs                      = 8
         Memory                      = 17179869184
       Node.js
         Node.js Version             = 8.9.3
         npm Version                 = 5.5.1
       Titanium CLI
         CLI Version                 = 5.0.14
       Titanium SDK
         SDK Version                 = 7.2.0
         SDK Path                    = /Users/jquick2/Library/Application Support/Titanium/mobilesdk/osx/7.2.0
         Target Platform             = android
       
    For your info, build-tools v26 and higher would have caused a build failure in Titanium 7.0.2 with the usage of proguard and APK multidexing, but luckily we caught it in time before release. https://github.com/appcelerator/titanium_mobile/pull/9694#issuecomment-356762749 For the next version of Titanium, we should update the "build-tools" versions supported, but also look into restricting the CLI to the officially supported version range as well.
  2. Ewan Harris 2018-03-09

    [~jquick] I believe Rene is referring to the log [here](https://github.com/appcelerator/titanium_mobile/blob/c859b5ebabc19e3568caf191de8d6ae6a79b3d34/android/cli/commands/_build.js#L1260-L1266). which is generated off the android SDK range set in [android/package.json](https://github.com/appcelerator/titanium_mobile/blob/e3df11d022b527841eb5baf8cfeecbeb9a89c08b/android/package.json#L24). I can't remember what the requirements are for us to bump the version range up on this
  3. Joshua Quick 2018-03-09

  4. Joshua Quick 2018-08-15

    Full support for API Level 26/27 (aka: Android 8) was added to Titanium 7.3.0. Closing ticket.

JSON Source