2013-07-08 38 views
8

我试图添加一个目录作为Android Studio(GameBaseUtils)中的依赖项。我已经看到其他的答案只是发布正确的gradle配置为他们的特定问题,但我不明白我能如何适应他们的答案我的情况。Android Studio导入模块Gradle生成错误

这里是我做过什么:

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

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

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

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

这里是我的应用程序

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

我怎样才能正确导入这个外部库,可以请你解释如何和的build.gradle文件你的解决方案为什么有效

回答

8

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

,而不是添加

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

你必须写:

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

2点说,模块(或目录)可以在实际的一个以上的目录中找到。所以如果你想访问一个模块,这是上面的2个目录,你只需要写:'../../ModuleName'

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

如果这不能解决您的问题,试试这样做:(我会推荐这种方法。这是我如何真正做到这一点)

Examplestructure:

  • 项目

    • 库(正常文件夹)
      • 单词数
    • 模块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(单词数)

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> next> finish

通过这一步,一切都应该很好。如果有任何问题,请告诉我:)

+0

链接的答案链接是否更改?它确实帮了我,我想接受这个答案。 – KDEx

+0

我改进了我的答案。第一个是我删除链接的方式。第二个是我会推荐的 – maysi

-1

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

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