我使用Android Studio中的默认向导创建了一个新的Android项目。编译并将应用程序部署到我的设备上。一切都很好。
现在,我想导入一个在Maven上可用的外部库。(http://square.github.io/picasso/)。我去了模块属性,并添加了一个Maven库。它正确显示在依赖项列表中。另外,它显示在编辑器中,我可以在代码中正确使用它。
但是,在编译时,出现了Gradle错误:无法找到类
有任何想法吗?
我使用Android Studio中的默认向导创建了一个新的Android项目。编译并将应用程序部署到我的设备上。一切都很好。
现在,我想导入一个在Maven上可用的外部库。(http://square.github.io/picasso/)。我去了模块属性,并添加了一个Maven库。它正确显示在依赖项列表中。另外,它显示在编辑器中,我可以在代码中正确使用它。
但是,在编译时,出现了Gradle错误:无法找到类
有任何想法吗?
Answers:
从0.8.9版本开始,Android Studio默认支持Maven中央存储库。因此,要添加外部Maven依赖项,您需要做的就是编辑模块的build.gradle文件,并在依赖项部分中插入一行,如下所示:
dependencies {
// Remote binary dependency
compile 'net.schmizz:sshj:0.10.0'
}
您将看到一条消息,类似于“立即同步...”-单击它,然后等待Maven存储库及其所有依赖项被下载。底部的状态栏中将显示一些消息,告诉您有关下载的情况。完成此操作后,导入的JAR文件及其依赖项将在“项目浏览器”窗口的“外部存储库”树中列出,如下所示。
此处提供一些进一步的说明:http : //developer.android.com/sdk/installing/studio-build.html
我以springframework android构件为例
打开build.gradle
然后在与Apply插件相同的级别添加以下内容:'android'
apply plugin: 'android'
repositories {
mavenCentral()
}
dependencies {
compile group: 'org.springframework.android', name: 'spring-android-rest-template', version: '1.0.1.RELEASE'
}
您还可以将此符号用于Maven工件
compile 'org.springframework.android:spring-android-rest-template:1.0.1.RELEASE'
如果您的IDE没有显示,请在“外部库”下显示jar及其依赖项(尝试重新启动IDE)(这在我身上发生了很多)
这是您提供的有效示例
buildscript {
repositories {
maven {
url 'repo1.maven.org/maven2';
}
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
dependencies {
compile files('libs/android-support-v4.jar')
compile group:'com.squareup.picasso', name:'picasso', version:'1.0.1'
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 14
targetSdkVersion 17
}
}
Android Studio 3
关于Maven Central的答案已过时,因为Android Studio现在使用JCenter作为默认存储库中心。您项目的build.gradle文件应具有以下内容:
repositories {
google()
jcenter()
}
因此,只要开发人员在那里拥有他们的Maven存储库(毕加索就是这样做的),那么您要做的就是在应用程序的build.gradle文件的dependencies部分中添加一行。
dependencies {
// ...
implementation 'com.squareup.picasso:picasso:2.5.2'
}