我正在尝试在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
}
}
如何正确导入此外部库,您能解释一下解决方案的工作原理和原因吗?
答案 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:
项目
<强> 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']
}
}
}
这应该现在很好用。 要使一切正常,请按照以下步骤操作:
.idea
文件夹*.iml
个文件Import Project
Import project from external model
&gt; Gradle&gt;下一个&gt;光洁度通过这些步骤,一切都应该运作良好。如果有任何问题,请告诉我:)
答案 1 :(得分:-1)
不要通过Studio界面添加模块。始终直接在build.gradle中进行更改,然后重新导入Studio。
此外,将插件依赖项更新为com.android.tools.build:gradle:0.4.+以获取最新的0.4。*版本。