Android Studio会删除错误标识为Gradle未支持的模块

时间:2013-10-23 15:41:28

标签: android-studio android-gradle

我的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中的一个错误?我没有在早期版本中体验过它,但我想确保它不仅仅是我构建文件中的内容。

感谢一大堆阅读!

2 个答案:

答案 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。一切顺利。