Android Gradle找不到参数的方法compile()

Android Gradle找不到参数的方法compile(),android,gradle,android-gradle-plugin,subproject,Android,Gradle,Android Gradle Plugin,Subproject,我有一个hello world全屏android studio 1.5.1应用程序,我在其中添加了一个gradle/eclipse mars子项目。除了将include':javalib'添加到settings.gradle之外,未修改其他文件。添加一个: 到根生成文件并从命令行运行gradle,获取: 其中: 生成文件“D:\AndroidStudioProjects\AndroidMain\Build.gradle”行:23 出了什么问题: 评估根项目“AndroidMain”时出现问题

我有一个hello world全屏android studio 1.5.1应用程序,我在其中添加了一个gradle/eclipse mars子项目。除了将include':javalib'添加到settings.gradle之外,未修改其他文件。添加一个:

到根生成文件并从命令行运行gradle,获取:

  • 其中: 生成文件“D:\AndroidStudioProjects\AndroidMain\Build.gradle”行:23

  • 出了什么问题: 评估根项目“AndroidMain”时出现问题

    在org.grad上找不到参数[project:javalib']的compile()方法 le.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler_Decorated@46 3ca82f

到根生成文件没有帮助

我想这不在计划之内

根项目和添加的子项目都有gradle包装器

任何指点都将不胜感激

谢谢

编辑:为了澄清,根生成文件是:

// 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
}
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'
}
编辑:本练习的全部目的是将核心java代码导入android项目。目前,核心代码是一个独立的gradle/eclispe项目。我在android项目中有一个批处理,它执行gradle-p standaloneprojectdir/jar并将jar复制到libs/

我只是想,除了发布jar并从存储库获取它之外,还有一种更简单的方法,因为这一切都是在我的pc上完成的

如果所有代码都是实时的,只需进行构建,那就太好了:(

编辑:根据的建议,这里是a和a。尚未对这些文件进行编辑。您应该选择接受它,让android应用程序轻松访问java项目类(即new Library();在MainActivity中。onCreate()将编译并运行).我不关心java项目的位置。理想情况下,两个源代码都位于两个ide中

atempting也失败。表示:>找不到:virginjavaproject,但目录确实存在

编辑:实际起作用的是RaGe对.

的拉动请求,如下所述:

构建脚本将构建脚本依赖项(即构建本身的依赖项;通常这意味着Gradle插件)与常规依赖项(即要编译/运行的代码的依赖项)混合在一起。后者需要进入依赖项{…},而不是进入构建脚本{依赖项{…}。除类路径依赖项以外的所有依赖项都是常规依赖项

还可以看看这个:。

您已经有了

compile project(':javalib') 
:app
项目中,您不必也从root build.gradle中注入依赖项。如果您仍然希望从root
build.gradle中注入依赖项,正确的方法是:

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

头部才有效。

只需将其粘贴到build.gradle(项目:“您的项目名称”)上即可


我有这个问题,但我有自己的库。正确编译的方法是:

compile project(path: ':MyLib')
我们有两个名为“build.gradle”的文件。
确保已将“编译代码”复制到应用程序中的build.gradle文件中文件夹

依赖项不在构建脚本中。Java插件不适用于android项目,但您应该在某个地方有android插件,它添加了编译配置。您是使用android studio创建项目的吗?请看一下您的项目文件夹结构。应用构建文件中有一个。请请参阅edit.root/has app/和javalib/-root和app是由android studio创建的,javalib是我手动添加的独立gradle/eclipse项目的克隆。您是否将javalib添加到settings.gradle?我在app build文件中有该编译。删除它没有帮助。从app build文件中删除该编译,并替换我的project(){…}使用根生成文件中的configure(){…}编译行仍然失败。configure的文档在哪里?能否显示您的设置。gradle请?configure[doc is here](,groovy.lang.Closure))root/is:include中的setting.gradle:app'include':javalib,javalib中的settings.gradle/is:rootProject.name='javalib'。感谢您的文档,settings.gradle中的项目名称中没有
。请参阅此处的示例:
 // 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
}
compile project(path: ':MyLib')