我的Android Studio 0.3.0和我的项目文件夹存在问题,该文件夹包含一个普通的旧Java库项目,两个Android库项目和三个Android应用程序。它都是用Gradle构建的。
问题是初步导入Android Studio工作正常(使用Android Studio的Import Project...
,然后选择我的settings.gradle
文件),但是当我按下Gradle侧边栏中的刷新按钮时,我得到了消息“以下模块不再由Gradle支持。检查那些要从ide项目中删除的内容:”,然后它列出了我要移除的所有模块。终端一切都很好。
gradle projects
的输出(带编辑的名称):
------------------------------------------------------------
Root project
------------------------------------------------------------
Root project 'root'
+--- Project ':android-lib1'
+--- Project ':android-app1'
+--- Project ':android-app2'
+--- Project ':android-app3'
+--- Project ':android-lib2'
\--- Project ':java-lib'
在根文件夹中,我有settings.gradle
:
include ':java-lib'
include ':android-lib1'
include ':android-lib2'
include ':android-app1'
include ':android-app2'
include ':android-app3'
根文件夹中的build.gradle
:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.6.+'
}
}
allprojects {
repositories {
mavenCentral()
ivy {
name 'repo'
artifactPattern 'http://repo.example.com:8081/artifactory/libs-release-local/[organisation]/[module]/[revision]/[type]s/[artifact].[ext]'
credentials {
username 'example'
password 'example'
}
}
}
}
task wrapper(type: Wrapper) {
gradleVersion = '1.8'
}
build.gradle
for java-lib:
apply plugin: 'java'
apply plugin: 'eclipse'
compileJava.options.encoding = 'UTF-8'
group 'example'
version '0.1.0'
status 'release'
sourceCompatibility = '1.6'
targetCompatibility = '1.6'
dependencies {
compile 'com.google.protobuf:protobuf-java:2.5.0'
compile 'com.google.guava:guava:15.0'
compile 'org.slf4j:slf4j-api:1.7.5'
testCompile group: 'junit', name: 'junit', version: '4.+'
}
uploadArchives {
repositories {
add project.repositories.repo
}
}
两个Android库的 build.gradle
(除了依赖项和版本号之外它们是相同的:
apply plugin: 'android-library'
dependencies {
compile project(':java-lib')
}
android {
compileSdkVersion 18
buildToolsVersion "18.1.1"
defaultConfig {
versionCode 1
versionName '0.1.0'
minSdkVersion 9
targetSdkVersion 18
}
}
最后,build.gradle
用于Android应用(再次,几乎相同):
apply plugin: 'android'
dependencies {
compile project(':android-lib1')
compile project(':android-lib2')
}
android {
compileSdkVersion 18
buildToolsVersion "18.1.1"
defaultConfig {
versionCode 1
versionName '0.1.0'
}
signingConfigs {
release
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
if (project.hasProperty('storeFile')) {
android.signingConfigs.release.storeFile = file(storeFile)
}
if (project.hasProperty('storePassword')) {
android.signingConfigs.release.storePassword = storePassword
}
if (project.hasProperty('keyAlias')) {
android.signingConfigs.release.keyAlias = keyAlias
}
if (project.hasProperty('keyPassword')) {
android.signingConfigs.release.keyPassword = keyPassword
}
也许这是Android Studio 0.3.0中的一个错误?我没有在早期版本中体验过它,但我想确保它不仅仅是我构建文件中的内容。
感谢一大堆阅读!
答案 0 :(得分:1)
这是一个现已修复的错误(自Android Studio 0.3.5开始为我工作):https://code.google.com/p/android/issues/detail?id=61453
答案 1 :(得分:0)
也有这个或非常类似的错误(不知道我是否刷新了)我看到你在code.google.com上发布了错误并同意它必须是他们的错误。我的修复工作只是取消“没有Gradle支持”消息,然后我从命令行运行gradle build。一切顺利。