【问题标题】:Android Studio Import Module Gradle Build ErrorAndroid Studio 导入模块 Gradle 构建错误
【发布时间】:2013-07-08 19:23:13
【问题描述】:

我正在尝试在 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
}
}

我如何才能正确导入这个外部库,您能否解释一下您的解决方案如何以及为何起作用?

【问题讨论】:

    标签: android gradle android-studio


    【解决方案1】:

    这就是我解决问题的方法:

    而不是添加

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

    你必须写:

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

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

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

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

    示例结构:

    • 项目

      • 库(普通文件夹)
        • 模块2
      • 模块1

    settings.gradle

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

    build.gradle(模块 1)

    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(模块2)

    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']
            }
        }
    }
    

    现在应该可以正常工作了。 要使一切正常工作 100%,请按照以下步骤操作:

    1. 删除.idea文件夹
    2. 删除所有*.iml文件
    3. 重启 Android Studio 并按Import Project
    4. 选择您的 gradle 项目所在的目录
    5. Import project from external model > Gradle > 下一步 > 完成

    通过此步骤,一切都会正常进行。如果有任何问题,请告诉我:)

    【讨论】:

    • 您的链接答案的链接是否更改?它确实对我有帮助,我愿意接受这个作为答案。
    • 我改进了我的答案。第一个是我删除链接的方式。第二个是我推荐的
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-12
      • 1970-01-01
      • 2013-05-13
      • 2015-02-06
      • 2016-08-05
      • 2017-03-25
      相关资源
      最近更新 更多