当前位置: 首页 > 面试题库 >

Android Library AAR取决于另一个库

谈禄
2023-03-14
问题内容

嗨,我有一个产生AAR的Android库项目。

一切都很好,但是当我在另一个项目中使用AAR时,出现此错误:

java.lang.NoClassDefFoundError: com.squareup.picasso.Picasso

AAR使用了毕加索,生成毕加索的依赖项是否也可以导出?


问题答案:

如何设置本地Maven存储库。

警告:以下食谱工作,但也许可以使用改善,因为我是 从Maven的专家。去年,我在CWAC库中采用了这种方法。

步骤#1:在您的图书馆专案档案中加入classpath 'com.github.dcendents:android-maven- plugin:1.0'您的buildscript
dependencies区块build.gradle。还添加versiongroup语句以提供有关您的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 有东西

  • 0.4.0 带有XYZ格式的版本号

  • name-of-library将是包含Android库项目的目录名称(例如presentationfoo



 类似资料:
  • 问题内容: 我有两个要素。第一个包含国家(例如美国,加拿大,英国,俄罗斯,波兰…),第二个国家被隐藏, 仅 包含美国和加拿大(例如纽约,洛杉矶,芝加哥…或渥太华,温哥华)的城市,萨里…) 如果用户从第一个中选择“加拿大”或“美国” ,则第二个应显示并允许他选择城市。 有可能吗?我使用Ajax和JQuery Validation表单访问了许多网站,但没有找到类似的来源。 谢谢。 问题答案: 侦听选择

  • 问题内容: 我试图使用Dagger在正在构建的应用程序上进行依赖注入,当我拥有一个程序包的模块(取决于注入器(可能是另一个模块)提供的值)时,在构造适当的DAG时遇到了麻烦。 如果我有一个用于配置变量的简单模块(例如,我可能想换成测试环境) 而另一个模块依赖于它,例如 我尝试在构造函数中引导注入的行失败,并且它抱怨我没有在适当的模块中指定显式行。 通过反复试验,我发现如果在行中添加,这种情况就消失

  • 我想压缩两个monos/Flux,但第二个(我将压缩的那个)与我已经拥有的第一个不同 例如: 可能吗?

  • 我想将输入XML转换为输出XML。同样,使用xslt进行XML转换。 输入xml和支持xml文件位于本地路径中(仅限同一路径)。 XSl和saxon9。jar位于服务器路径中。 将在本地路径中创建输出xml(与输入xml路径相同)。 使用xslt2.0我可以得到一个输入的xml值,但不能得到支持的xml值(存在于本地) d:\测试 下面是我的xsl用于从supporting.xml获取值 有人能帮

  • null 如果生成错误(文件不一致,文件不存在...),则不能执行 仅供参考,我使用的是没有XML配置的Spring批处理!只有注释:下面是我的作业配置类的样子:

  • 我试图建立一个专栏,将根据另一个。新列应反映满足某些标准的值,并在值不符合标准的地方放置0。 例如,名为银行余额的列将有负值和正值;新列透支将为相应行提供负值,余额大于0时为0。 最终结果应该是这样的。