当前位置: 首页 > 知识库问答 >
问题:

发布具有外部依赖性的Android库

应安国
2023-03-14

我有一个Android闭源模块,将在其他项目中用作库。它包含外部依赖项。

为了发布它,我用下面的gradle任务创建了一个Maven工件:


apply plugin: 'maven'

def coreAarFile = file('...build\\outputs\\aar\\android-sdk-release.aar')

artifacts {
    archives coreAarFile
}

uploadArchives {
    repositories.mavenDeployer {
        repository(url: "file://.\\mvn-repo")
        pom.project {
            groupId 'a.blabla'
            artifactId 'blabla-sdk'
            version "1.0.0"
        }
    }
}

它生成.aar文件,即pom。xml等而没有问题。

然后我创建了一个依赖于我的库的项目。它会一直工作,直到需要访问外部依赖时,抛出一个类未找到异常。

如何编辑我的gradle任务以包含外部依赖项或至少对它们的引用?它们以mvnrepository.com和github.com.发布

共有1个答案

糜昌胤
2023-03-14

我将上载存档移动到模块的build.gradle,并删除了工件元素。它起作用了!

感谢CommonsWare指明了正确的方向。

 类似资料:
  • 我熟悉使用make构建大型应用程序,但现在我已经开始使用Android Studio,我想了解如何在Makefile中完成我已经做过的事情。 下面是一个可能有助于您确定答案的示例: Makefile示例:(极简主义) 更简单的例子: 在Gradle怎么做? 我想解决上面示例中提到的外部依赖关系。实际上,我是通过“make”来实现的,但我想完全删除这个额外的步骤。

  • 我们在自己的Maven项目中使用jaxb2-maven-plugin生成一组通用的XSD(数据类型、词汇表等)。在第二个项目中,我需要在编译时引用其中一个或多个XSD,但不希望它们包含在生成的工件中。我创建了一个曲库文件,除了我在其中获取所有内容外,它运行良好。 我仔细研究了插件文档,但它们在细节上少得可怜。有没有办法在不需要每个项目都复制它们的情况下重用常见模式? 谢谢

  • 我需要在我的maven项目中添加大约15个罐子,它在远程和中央存储库中都不可用。 然而,我实现了以下目标:, > 在我的项目路径中添加了jars(\src\lib) 将pom更改如下, 我的问题是: 我是否需要像上面那样分别对所有15个JAR重复它,或者我们有任何其他方法来绑定这些JAR并将其作为一个依赖路径? Maven在这里讨论了同样的事情:指向多个JAR的系统依赖性。但我想知道我是否能得到更

  • 我有一个图书馆项目。我想使用Android的新构建系统。目前我遇到了一个相当烦人的情况。 我在上定义了依赖项,但它们从未出现在Android Studio的外部库中。因此,对这些库的所有引用都被标记为错误。 更新 这个问题似乎在最新的Android Studio版本(0.2.5)上得到了修复

  • 问题内容: 我是Angular的新手,我想学习处理问题的最佳方法。我的目标是要有一种可重复使用的方式来创建标题组。我创建了一个可行的解决方案,但我认为这应该是指令,而不是控制器中的作用域函数,但是我不确定如何实现此目标,或者不确定指令是否正确。任何输入将不胜感激。 看到我目前在jsFiddle上工作的方法 在HTML中,这是一个使用ng-repeat的简单列表,其中我在ng-show上调用了new

  • 如您所知,Maven使用存储库的概念进行依赖关系管理。 但是,如果在任何远程存储库和中央存储库中都没有依赖项,会发生什么? Maven使用External Dependency概念为这种情况提供答案。 例如,让我们对“创建Java项目”一章中创建的项目进行以下更改。 将lib文件夹添加到src文件夹。 将任何jar复制到lib文件夹中。 我们使用了ldapjdk.jar ,它是LDAP操作的帮助库