我有一個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
是的。應用程序構建文件中有一個。請參閱編輯。 –