您好我有一个Android库项目,它生成一个AAR。Android库AAR依赖于另一个库
所有这些都是好的,但是当我在另一个项目中使用AAR我得到这个错误:
java.lang.NoClassDefFoundError: com.squareup.picasso.Picasso
的AAR利用毕加索的,是有可能的AAR的依赖生成一个当货物出口?
您好我有一个Android库项目,它生成一个AAR。Android库AAR依赖于另一个库
所有这些都是好的,但是当我在另一个项目中使用AAR我得到这个错误:
java.lang.NoClassDefFoundError: com.squareup.picasso.Picasso
的AAR利用毕加索的,是有可能的AAR的依赖生成一个当货物出口?
How can one go about setting up a local maven repo.
警告:以下食谱工作,但可能会使用改进的,因为我从一个Maven专家是远。我去年敲定了这个方法,与我的CWAC图书馆一起使用。
步骤#1:将classpath 'com.github.dcendents:android-maven-plugin:1.0'
添加到您的buildscript
dependencies
块中您的库项目的build.gradle
文件中。还要添加version
和group
声明以提供有关您的AAR的信息。
步骤#2:使用gradle install
编译AAR并将其安装在默认的本地Maven存储库中。步骤#3:通常,您应该将mavenLocal()
添加到应用程序项目的dependencies
块中,以便通过其工件ID获取AAR。这可能会再次起作用,尽管它已经被破坏了一段时间。相反,使用maven { url "${System.env.HOME}/.m2/repository" }
作为短期解决方法。
因此,举例来说,你的库项目build.gradle
文件可能包含:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.9.+'
classpath 'com.github.dcendents:android-maven-plugin:1.0'
}
}
apply plugin: 'android-library'
apply plugin: 'android-maven'
version '0.4.0'
group 'some.likely.group.name.goes.here'
repositories {
mavenCentral()
}
dependencies {
compile 'com.squareup.picasso:picasso:2.2.0'
compile fileTree(dir: 'libs', include: '*.jar')
}
android {
// as normal
}
你会使用gradle install
到JAR发布到本地Maven回购。然后,您的应用程序项目将有以下的东西在其build.gradle
:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.9.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
maven { url "${System.env.HOME}/.m2/repository" } // mavenLocal()
}
dependencies {
compile 'some.likely.group.name.goes.here:name-of-library:0.4.0'
}
android {
// as normal
}
,你替换:
some.likely.group.name.goes.here
在XYZ格式的东西
0.4.0
使用版本号
name-of-library
将是目录名称包含了Android库项目
对于像我这样仍然使用这种方法的人来说,需要注意的一点是:自从更新后的gradle版本更新后,请在这里参考新的GitHub:https://github.com/dcendents/android-maven-gradle-plugin并确保gradle至少2.4,通过使用说明在这里更改'gradle-wrapper.properties':http:// tools.android.com/tech-docs/new-build-system/migrating-to-1-0-0 – anddev84
请问如何使用'gradle install'?我在Windows上安装了gradle for java并尝试了'gradle install',我得到了这个错误'任务'安装'没有在根项目'bin'中找到。' –
@WilliamKinaan:这个答案是2.5岁。我建议找到一个更新的解决方案。 – CommonsWare
你是如何在其他项目中使用的AAR(例如,
presentation
或foo
)? – CommonsWare像这样: '{库 flatDir { 迪尔斯 '库'} mavenCentral() }' ,然后包括他们使用这应该是平常的groupId格式 – redDragonzz
是预期的行为,我想:https://开头groups.google.com/forum/#!topic/adt-dev/0ZAP8AVUZVw!我想我必须下载Picasso jar,然后gradle会自动包含它,否则它不会。请试试看并发布一个答案 – redDragonzz