Classpath com android tools build gradle

I just turned on an old computer and am trying to access some code. After updating all of my Android Studio, JDK, and Downloading the latest Gradle I am having trouble building the project. I get this error ;

I have dont this and this

Below is the content of build.gradle file

Below is the content of wrapper file

in my settings I have toggled between default and setting my path manually. I have also attemted to add google() and MavenCentral() to the repositories

I just ant to build and run my app but it is saying no! haha help

This is my android gradle file. I am getting error android gradle plugin that does not contain the method (e.g. ‘testcompile’ was added in 1.1.0.). How can I fix this problem.

3 Answers 3

After the correction now the build. gradle looks like this and now i ge the the error as " Error:(20, 0) Gradle DSL method not found: ‘classpath()’ Possible causes:

  • The project ‘WeatherApp’ may be using a version of the Android Gradle plug-in that does not contain the method (e.g. ‘testCompile’ was added in 1.1.0). Upgrade plugin to version 2.3.3 and sync project
  • The project ‘WeatherApp’ may be using a version of Gradle that does not contain the method. Open Gradle wrapper file
  • The build file may be missing a Gradle plugin. Apply Gradle plugin "
  • Читайте также:  Как определить промежутки монотонности функции

    Remove classpath ‘com.android.tools.build:gradle:2.3.3’ from there and add it to your top-level build.gradle file.

    In your dependencies block you have to remove this line

    This line should be used in the buildscript block, something like:

    Содержание статьи

    Большинство программистов, разрабатывающих для Android, хотя бы слышали о системе автоматической сборки Gradle. При этом, по моим наблюдениям, лишь немногие из использующих эту систему кодеров уделяют достаточно времени, чтобы как следует изучить ее возможности :). Самая частая причина звучит так: «Да ладно, это ж просто скрипт сборки, у меня есть задачи поважнее».
    А ведь на самом деле Gradle может быть очень полезен как для простой настройки сборки, так и для решения весьма нестандартных задач! Об этом и пойдет речь сегодня.

    Android Gradle plugin

    Gradle сам по себе ничего не знает о том, как билдить Android-проект, в этом ему помогает плагин, который разрабатывается вместе с Android SDK. Если ты только недавно начал осваивать программирование под Android, то мог и не заметить, что в главном сборочном скрипте build.gradle студия самостоятельно добавляет зависимость от этого плагина.

    А в скрипте твоего основного модуля этот плагин автоматически подключается строчкой apply plugin: ‘com.android.application’ . Именно поэтому у тебя в скрипте есть секция android < . >, в которой ты указываешь версию Build Tools, версии SDK для сборки и прочее.

    Перед тем как мы попытаемся глубже разобраться в работе самого Gradle, я покажу тебе несколько полезных вещей, которые умеет делать этот плагин и о которых ты мог не знать.

    Добавляем свои поля в BuildConfig

    BuildConfig — это автоматически генерируемый при сборке класс, который содержит только константы. Этот класс генерируется отдельно для каждого модуля в твоем проекте и по умолчанию включает в себя информацию об ID приложения, версии, типе сборки.

    Читайте также:  Adobe flash player для nokia

    Редактирование вручную этого файла бесполезно, так как он все равно перезатрется новыми данными при сборке. Зато Android-плагин может добавлять в него те поля, которые ты скажешь.

    Первый параметр — тип константы, второй — имя, третий — значение, все просто. Заметь, что значение поля TIMEOUT вычисляется на этапе сборки и в BuildConfig попадет уже как число 300 000. Теперь ты можешь конфигурировать свой любимый HTTP-клиент, просто ссылаясь на константы в BuildConfig.

    Добавляем свои данные в ресурсы

    Принцип точно такой же, что и с BuildConfig, но позволяет добавлять значения в файл ресурсов. Но зачем добавлять ресурс из конфига, если проще это сделать, как обычно, в XML-файле? Просто потому, что в скрипте, так же как и в случае с BuildConfig.TIMEOUT, значение ресурса можно вычислить. Например, сохранить дату сборки:

    Gradle создаст специальный файл generated.xml примерно такого содержания (только, разумеется, с правильными угловыми скобочками):

    И пусть тебя не смущает, что мы храним время в формате String. К сожалению, Android SDK не умеет хранить в ресурсах long, а в 32-битный integer время не влезет.

    Создаем разные варианты сборки

    Пожалуй, уже все Android-программисты знают о существовании встроенных типов сборок debug и release . Чуть меньше — о том, что можно создавать свои типы сборок. Еще меньше тех, кто дополнительно применяет productFlavors . Но давай по порядку.

    Мы используем build types, чтобы иметь возможность собирать приложение с существенными отличиями. Эти отличия обычно связаны с тем, как мы собираем приложение: для отладки или для релиза, с обфускацией кода или без, каким сертификатом оно будет подписано.

    Чтобы собрать нужный тип, выполняем команду gradle assemble , например gradle assembleDebug или gradle assembleQa .

    Читайте также:  Профили объективов для camera raw

    Product flavors дополняют build types и вносят еще один уровень гибкости в настройку сборки. Используй их, когда нужно, скажем так, не глобально изменить приложение, — это могут быть брендинг (иконки, цвета, тексты), окружение (адрес сервера, платформа, trial- или pro-версии).

    Build type и product flavor в сумме дают так называемый итоговый Build Variant, собрать который можно по схеме gradle assemble . Если ты хочешь запустить эти сборки не из консоли, а из студии, открой вкладку Build Variants и выбери то, что тебе нужно, из списка, как на рис. 1.

    Продолжение доступно только участникам

    Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

    Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее