Gradle No se pudo encontrar el método compile () para los argumentos

Tengo un hola mundo de pantalla completa de estudio de Android 1.5.1 app que he añadido un gradle / eclipse-mars subproyecto a. No se modificaron otros archivos excepto para añadir include ': javalib' a settings.gradle. Agregando una dependencia de lib de proyecto :

project(':app') { dependencies { compile project(':javalib') // line 23 } } 

A la raíz construir archivo de compilación y ejecutar gradle desde la línea de comandos, obtiene:

  • Dónde: Generar archivo 'D: \ AndroidStudioProjects \ AndroidMain \ build.gradle' línea: 23

  • Lo que salió mal: Se ha producido un error al evaluar el proyecto raíz 'AndroidMain'.

    No se pudo encontrar el método compile () para argumentos [project ': javalib'] en org.grad le.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler_Decorated@46 3ca82f.

Agregar el complemento de java al archivo de compilación raíz no ayudó.

No creo que esté en el lugar equivocado .

Tanto el proyecto raíz como el subproyecto añadido tienen el contenedor gradle.

Cualquier punteros serán apreciados.

Gracias

Editar: para aclarar, el archivo de compilación raíz es:

 // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.5.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } task hello << { task -> println "I'm $task.project.name" } } project(':app') { dependencies { //compile project(':javalib') // causes problems } } task clean(type: Delete) { delete rootProject.buildDir } 

Y el archivo de compilación de la aplicación es:

 apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { applicationId "acme.androidmain" minSdkVersion 22 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) //compile project(':javalib') // use :javalib:jar? //testCompile project(':javalib') testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.1' compile 'com.android.support:support-v4:23.1.1' } 

Editar: el propósito de este ejercicio es obtener código java núcleo en un proyecto de android. Actualmente el código de base es un proyecto independiente gradle / eclispe. Tengo un lote en el proyecto androide que hace un gradle -p standaloneprojectdir / jar y copió el jar en libs /.

I sólo aunque sería una manera más fácil que no sea para publicar el frasco y lo consigue de un repositorio ya que todo esto hecho en mi PC.

Sería bueno tener todo el código en vivo y sólo hacer una compilación 🙁

Editar: según la sugerencia de RaGe , aquí hay un proyecto de estudio virgen androide y un proyecto virgen de gradle / eclipse . No se ha hecho ninguna edición en estos archivos. Usted debe elegir aceptar que es para obtener la aplicación Android para acceder fácilmente a las clases de proyecto java (es decir, nueva Biblioteca (), en MainActivity.onCreate () se compila y ejecuta). No me importa donde vive el proyecto java. Idealmente, ambas fuentes estarían vivas en ambos ide.

Intentar esto también falla. Dice:> No se pudo encontrar: virginjavaproject, pero el directorio existe.

Editar: lo que realmente funcionó fue la solicitud de tracción de RaGe al proyecto androide virgen .

Tu ya lo tienes

 compile project(':javalib') 

En su :app proyecto de :app , no tiene que también inyectar la dependencia de su raíz build.gradle. Si todavía quieres hacerlo desde la raíz build.gradle , la forma correcta de hacerlo es:

 configure(':app') { dependencies { compile project(':javalib') // causes problems - NOT ANYMORE! } } 

La cabeza virgen del estudio del androide es lo que trabajó.

Tenemos 2 archivos denominados "biuld.gradle" … asegúrate de haber copiado tu "código de compilación" en el archivo biuld.gradle que está en la carpeta "app"

Como dice @ peter-niederwieser :

El script de compilación está mezclando dependencias de buildscript (es decir, dependencias de la propia compilación, normalmente esto significa plugins de Gradle) con dependencias regulares (es decir, dependencias del código a compilar / ejecutar). Estos últimos necesitan entrar en dependencies {…}, no en buildscript {dependencies {…}}. Todo excepto las dependencias de classpath son dependencias regulares.

También echa un vistazo a esto: No se pudo encontrar el método compile () para los argumentos Gradle .

Simplemente pegue esto en build.gradle (Project: "Your prject name")

  // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.1.2' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } 

Tuve este problema, pero con mi propia biblioteca. La forma de compilar correctamente fue:

 compile project(path: ':MyLib') 
  • Android Studio Gradle Error en tiempo de compilación
  • Android Studio: cómo generar apk firmado usando Gradle?
  • Administrar la clave de la API de Google Maps con Gradle en Android Studio
  • Wear App y con tipo de compilación personalizado con applicationIdSuffix
  • Android Gradle ejecuta pruebas en compilaciones no-depuración
  • Error Gradle - Error de ejecución para la tarea ': app: dexDebug'
  • Cómo definir distintas dependencias para distintos sabores de producto
  • Android Build.gradle DuplicateFileException Error
  • Alterar nombres de paquetes de Android para los sabores de aplicaciones gratuitas y pagas en Git
  • React-native android assembleDebug log: Archivo de código fuente desconocido: warning: string 'catalyst_debugjs' no tiene traducción por defecto
  • Uso de la biblioteca ViewPagerIndicator con Android Studio y Gradle
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.