Android Studio导入模块Gradle构建错误

时间:2013-07-08 19:23:13

标签: android gradle android-studio

我正在尝试在Android Studio(GameBaseUtils)中添加目录作为依赖项。我已经看到其他SO答案只是为他们的特定问题发布了正确的gradle配置,但是我不明白我如何能够根据我的情况调整他们的答案。

这是我做的:

第一步:文件 - >导入模块 - >导航到目录并选择它。

第二步 - 文件 - >项目结构 - >模块 - >选择我的应用程序 - >依赖关系 - >将模块添加为我的项目的依赖项。

现在我的代码没有任何红线表示导入模块时出错。但是,当我选择构建时,我会收到以下错误:

Gradle: package com.google.example.games.basegameutils does not exist
Gradle: cannot find symbol class BaseGameActivity
Gradle: cannot find symbol variable super
...

这是我的应用程序的build.gradle文件

buildscript {
repositories {
    mavenCentral()
}
dependencies {
    classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'

dependencies {
compile files('libs/android-support-v4.jar')
}

android {
compileSdkVersion 17
buildToolsVersion "17.0.0"

defaultConfig {
    minSdkVersion 8
    targetSdkVersion 17
}
}

如何正确导入此外部库,您能解释一下解决方案的工作原理和原因吗?

2 个答案:

答案 0 :(得分:8)

所以这就是我如何解决我的问题:

而不是添加

dependencies {
    compile files('libs/android-support-v4.jar')
    compile project(':Module')
}

你必须写:

dependencies {
    compile files('libs/android-support-v4.jar', '../Module')
}

2个点表示模块(或目录)可以在实际目录上方的1个目录中找到。因此,如果您想访问上面2个目录的模块,您只需要写:'../../ModuleName'

您必须手动将模块添加到build.gradle,因为Android Studio仍在开发中,并且尚未完成用于编辑项目结构的UI。

如果这不能解决你的问题,请尝试这样做:(我会推荐这种方法。这就是我实际做的方式)

Examplestructure:

  • 项目

    • libraries(普通文件夹)
      • Module2
    • 模块1

<强> settings.gradle

include ':Module1', ':libraries:Module2'

build.gradle (Module1)

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android'

dependencies {
    compile project(':libraries:Module2')
}

android {
    compileSdkVersion 18
    buildToolsVersion "18.0.1"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 11
    }
}

build.gradle (Module2)

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android-library'

dependencies {
    compile 'com.android.support:support-v4:18.0.0'
}

android {
    compileSdkVersion 18
    buildToolsVersion "18.0.1"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 11
    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            res.srcDirs = ['res']
        }
    }
}

这应该现在很好用。 要使一切正常,请按照以下步骤操作:

  1. 删除.idea文件夹
  2. 删除所有*.iml个文件
  3. 重新启动Android Studio并按Import Project
  4. 选择包含gradle项目的目录
  5. Import project from external model&gt; Gradle&gt;下一个&gt;光洁度
  6. 通过这些步骤,一切都应该运作良好。如果有任何问题,请告诉我:)

答案 1 :(得分:-1)

不要通过Studio界面添加模块。始终直接在build.gradle中进行更改,然后重新导入Studio。

此外,将插件依赖项更新为com.android.tools.build:gradle:0.4.+以获取最新的0.4。*版本。