Uploaded image for project: 'Titanium SDK/CLI'
  1. Titanium SDK/CLI
  2. TIMOB-27686

Android: Auto-download build system dependencies via gradle

    Details

    • Story Points:
      5

      Description

      Summary:
      Gradle supports automatically downloading build system related dependencies such as Google's "build-tools" and targeted API Level libraries. We should leverage this feature so that app developer's won't have to download/install them manually via Google's "Android SDK Manager" dialog. This will make building Android apps more convenient and minimize tech-support issues.

      Recommended Solution:
      Once gradle build support has been added via TIMOB-19300 in Titanium 9.0.0, we get this feature for free when we start the "gradlew" app build.

      But in order for this to happen, we need to ignore some of the error results returned by our node-titanium-sdk module's Android detect API here in our Titanium SDK's _build.js script's validate() function.

      The error string IDs we need to ignore are:

      • 'ANDROID_BUILD_TOOLS_TOO_NEW'
      • 'ANDROID_BUILD_TOOLS_NOT_SUPPORTED'
      • 'ANDROID_BUILD_TOOLS_CONFIG_SETTING_NOT_INSTALLED'
      • 'ANDROID_API_TOO_OLD'
      • 'ANDROID_API_TOO_NEW'
      • 'ANDROID_NO_APIS'
      • 'ANDROID_NO_VALID_APIS'
      • 'ANDROID_SDK_MISSING_PROGRAMS'

      Note 1:
      We still need our Android SDK/NDK detection code, because there is no way to run the Android gradlew tool without first setting up a "local.properties" file that reference the SDK/NDK directories.

      Note 2:
      Our Titanium CLI still needs to keep its existing Android tooling detection code since the CLI needs to support Titanium SDK versions older than 9.0.0.

        Attachments

          Activity

            People

            • Assignee:
              gmathews Gary Mathews
              Reporter:
              jquick Joshua Quick
              Reviewer:
              Joshua Quick
              Tester:
              Samir Mohammed
            • Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Backbone Issue Sync

                • Backbone Issue Sync is enabled for your project, but we do not have any synchronization info for this issue.

                  Git Integration