我有一个hello world全屏android studio 1.5.1应用程序,我添加了一个gradle/eclipse-mars子项目。没有其他文件被修改,除了在settings.gradle中添加':javalib'。加入project lib dependency:Gradle无法找到方法编译()的参数
project(':app') {
dependencies {
compile project(':javalib') // line 23
}
}
在命令行根构建构建文件并运行gradle这个,得到:
其中: 构建文件“d:\ AndroidStudioProjects \ AndroidMain \的build.gradle 'line:23
出错了: 评估根项目“AndroidMain”时出现问题。
Could not find method compile() for arguments [project ':javalib'] on org.grad le.api.interna[email protected]46 3ca82f.
adding the java plugin到根构建文件并没有帮助。我不认为它在wrong place。
根项目和添加的子项目都有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,并从存储库中获取它,因为这一切都在我的电脑上完成。
这将是不错的所有代码直播和只是做一个构建:(
编辑:按RaGe的建议,这里是一个virgin android studio project和virgin gradle/eclipse project没有编辑已经做了这些文件。你应该选择接受它,是让android应用程序轻松访问java项目类(即新的Library();在MainActivity.onCreate()中将编译并运行)。我不关心java项目在哪里理想情况下,两个来源都将是live in both。
试图this也失败。说:>找不到:virginjavaproject,但目录确实存在。
编辑:实际工作的是RaGe对virgin android project的拉动请求。
Java插件是不适合的Android项目,但是你应该有Android插件的地方,这增加编译配置。您是否使用Android Studio创建项目? – RaGe
你可以显示你的项目文件夹结构请 – RaGe
是的。应用程序构建文件中有一个。请参阅编辑。 –