我有一个图书馆项目。我想使用Android的新构建系统。目前我遇到了一个非常讨厌的场景。
我在gradle.build
上定义了我的依赖项,但它们从未出现在Android Studio的外部库中。因此,对这些库的所有引用都标记为错误。
当我在命令行上运行gradle dependencies
时,它会显示完整的依赖关系树并成功编译。问题显然在于Android Studio。
我尝试重新启动IDE / OS但没有。
这是我的gradle.build
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4.1'
}
}
apply plugin: 'android-library'
apply plugin: 'idea'
repositories {
mavenCentral()
}
dependencies {
compile 'junit:junit:4.11'
compile 'org.robolectric:robolectric:2.1:jar-with-dependencies'
compile 'com.google.android:android:4.1.1.4'
compile 'com.google.android:support-v4:r7'
compile 'info.cukes:cucumber-java:1.1.3'
compile 'info.cukes:cucumber-junit:1.1.3'
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
versionCode 1
versionName "0.3-SNAPSHOT"
minSdkVersion 15
targetSdkVersion 17
}
}
更新
此问题似乎已在最新的Android Studio版本(0.2.5)
上修复答案 0 :(得分:15)
您可以使用'工具 - > Android->与Gradle文件同步项目'。它将解析依赖关系,下载并将它们添加到外部库。
答案 1 :(得分:11)
不幸的是,在当前版本的Android Studio中,IDE未与构建系统(gradle)完全集成。您必须在gradle.build
中添加一次库以进行编译,并通过GUI添加一次以完成代码。
右键单击您的项目,选择“打开模块设置”。承认警告。选择“库”,“+”,然后添加您正在使用的库。您可以在出现的对话框中搜索Maven上的库。您应该为jar选择libs
目录。最后,将库添加到代码的模块中。如果您的应用是MyApp,则可能有MyApp和MyAppProject。您需要将其添加到MyApp。 (您也可以直接从“模块”页面添加它。)
要另外获取gradle将jar添加到apk,请对您的成绩文件进行以下更改。替换:
compile 'org.jsoup:jsoup:1.6.1'
和
类似compile files('libs/jsoup-1.6.1.jar')
现在它应该全部工作。
答案 2 :(得分:0)
我评论了来自build.gradle
文件的以下行,它开始工作。
//compile files('libs/android-support-v4.jar')
以前干式构建操作会成功,但是当我尝试在设备上运行时会出现错误
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Landroid/support/annotation/AnimRes;