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:
- Error de compilación de Android; Java plugin se ha aplicado, no es compatible con Android
- Error gradle cuando Theme declare-styleable en dos bibliotecas
- Gradle Android plugin generar archivos R para diferentes sabores de productos?
- Cómo utilizar artifactoryPublish para publicar artefactos de liberación y depuración
- No se puede crear con gradle cuando Google Play Services se agrega como dependencia
-
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 .
- Los archivos múltiples dex definen <mi paquete> / BuildConfig, no pueden encontrar la causa:
- Gradle no puede encontrar dependencia (biblioteca de soporte de Android)
- Utilizar una convención de nomenclatura diferente para los apks firmados generados mediante el asistente en Android Studio
- Cómo aplicar dependencias para todos los proyectos / módulos de niños Gradle Android Studio
- Java.lang.UnsatisfiedLinkError - NDK en el nivel de estudio de Android?
- Obtener error Gradle "No se pudo reservar espacio suficiente para montón de objetos" constantemente en Intellij IDEA
- Error en la construcción con Gradle en la línea de comandos con un proyecto de estudio de Android: Xlint error
- TransformClassesAndResourcesWithProguardForRelease FALLA
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')
- Transición de elemento compartido en una vista en un RecyclerView, ¿posible?
- Cómo cambiar ProgressDialog Spinner color en Android?