No se encontró el método DSL Gradle: "classpath ()"
Estoy trabajando en un proyecto de Android, que utiliza Gradle como se menciona a continuación.
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.12.+' } } allprojects { repositories { mavenCentral() } } dependencies { classpath 'com.android.tools.build:gradle:0.12.+' compile fileTree(dir: 'libs', include: '*.jar') compile project(':workspace:darkmoon:darul-android:vitamio:vitamio') compile project(':Dev:adt-bundle-mac-x86_64:sdk:extras:google:google_play_services:libproject:google-play-services_lib') } android { compileSdkVersion 19 buildToolsVersion "20.0.0" sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } // Move the tests to tests/java, tests/res, etc... instrumentTest.setRoot('tests') // Move the build types to build-types/<type> // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... // This moves them out of them default location under src/<type>/... which would // conflict with src/ being used by the main source set. // Adding new build types or product flavors should be accompanied // by a similar customization. debug.setRoot('build-types/debug') release.setRoot('build-types/release') } }
Pero cuando lo construyo, sigue recibiendo este error: "Método Gradle DSL no encontrado", y señaló a la siguiente línea:
- Gradle Sync no terminará después de la actualización 0.4.6
- Uso de Quasar Fibers en la aplicación para Android
- Gradle define el valor de la ruta absoluta para un archivo de almacén de claves
- Error de generación con Android Studio 3.0 Canary 4
- Android Studio 0.4: No se pudo encontrar el método jniDir ()
dependencies { classpath 'com.android.tools.build:gradle:0.12.+' compile fileTree(dir: 'libs', include: '*.jar') compile project(':workspace:epsilonmobile:darul-android:vitamio:vitamio') compile project(':Dev:adt-bundle-mac-x86_64:sdk:extras:google:google_play_services:libproject:google-play-services_lib') }
Disculpa si esta pregunta es un poco noob, soy nuevo en Gradle y Android Studio
- Cómo obtener 'Error: No se puede obtener la propiedad': lib 'on null object` en un nuevo proyecto de Android Studio
- Esta dependencia me da dos versiones de un frasco. ¿Cómo puedo solucionar esto?
- Cambiar el directorio de compilación gradle en android studio?
- ¿Por qué no agregar mavenLocal () en todas las aplicaciones de Android?
- Error de gradle de estudio de Android con excepción de nivel superior
- Ejecución de gradle's connectedAndroidTest en un dispositivo específico
- Android copia proyecto existente con nuevo nombre en Android Studio
- Cómo incluir manualmente el paquete aar externo usando el nuevo sistema de generación de Android de Gradle
Una configuración de classpath
sólo está disponible para buildscript
dependencias de buildscript
. Necesita deshacerse de la línea classpath 'com.android.tools.build:gradle:0.12.+'
en el bloque de dependencies
nivel superior. (Los complementos de Gradle deben ser declarados en buildscript { dependencies { ... } }
.)
En un script gradle, el buildscript
es una sección especial donde se pueden declarar dependencias del propio script de compilación (es decir, binarios requeridos por el proceso de compilación).
El proceso de compilación de gradle no es más que un proceso de java y por lo tanto, soporta dependencias de classpath normales.
com.android.tools.build:gradle:0.12.+
identificar un binario requerido por el proceso de compilación (contiene código capaz de entender / ejecutar la sección android del script de compilación).
El androide apk que será construido por este script no necesita el binario com.android.tools.build:gradle:0.12.+
para ejecutar en su dispositivo android (es decir, el apk es, por supuesto, ya construir cuando se ejecuta en el dispositivo ): No hay ninguna razón para declararlo de nuevo en las dependencias de nivel superior (son las dependencias requeridas por la aplicación)