2017-09-06 74 views
0

我有一个Android模块,可以从中导出.aar文件。 我用Android Studio Wizard导入了这个.aar,项目编译,但是在运行时崩溃了“java.lang.NoClassDefFoundError”。 我检查与调试器,Class.forName(“retrofit2.Retrofit”)..找不到。如何将Android库导出为.aar并保留我的Gradle依赖关系?

解压.arar &检查classes.jar后,我只看到我的包,显然它没有打包我在build.gradle中引用的库(例如:Okhttp,Retrofit,Gson ..)。

我想要的是一种方法来保持我的build.gradle相关性。如果可能,我宁愿将它打包成.aar,否则有什么选择?强制客户端添加他自己的gradle我的依赖关系?

额外信息:我只有gradle依赖关系,没有罐子。

回答

1

通过工件存储库分发AAR。工件存储库(例如POM文件)中的元数据将包含有关您的传递依赖关系的信息。它还会提供有关您的AAR版本的信息,以便AAR的消费者对他们正在使用的版本有明确的信息。这是几乎所有其他的东西都是分布式的:支持库,改造等。

+1

一如既往的干净整洁;我会补充一点,你可以在这里找到更多关于Artifactory的信息:https://jeroenmols.com/ blog/2015/08/06/artifactory /并记住将pom中的依赖关系添加到发布gradle任务,因为它们不包含在标准发布任务中。 – w00ly