red*_*nzz 5 java android library-project aar
嗨我有一个Android库项目,它生成一个AAR.
一切都很好但是当我在另一个项目中使用AAR时,我收到此错误:
java.lang.NoClassDefFoundError: com.squareup.picasso.Picasso
Run Code Online (Sandbox Code Playgroud)
AAR使用毕加索,是否可以在生成AAR时导出AAR的依赖关系?
如何设置当地的maven回购.
警告:以下配方有效,但可能会使用改进,因为我远非 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
}
Run Code Online (Sandbox Code Playgroud)
您可以使用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
}
Run Code Online (Sandbox Code Playgroud)
在哪里替换:
some.likely.group.name.goes.here 有点东西
0.4.0 版本号为XYZ格式
name-of-library将是包含Android库项目的目录名称(例如,presentation或foo)
| 归档时间: |
|
| 查看次数: |
5310 次 |
| 最近记录: |