如何包含兼容性 v7 库 maven 构建?

Posted

技术标签:

【中文标题】如何包含兼容性 v7 库 maven 构建?【英文标题】:How to include compatibility v7 library maven build? 【发布时间】:2016-01-21 17:30:52 【问题描述】:

这里是错误:

 java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$attr

包含具有此类资源的库的正确程序是什么?

我正在尝试在 apk 中包含 android 兼容性 v7 库。它编译但在运行时找不到资源。我将兼容性库上传到我的本地 repo(仅限 jar 文件),并将其作为 maven 依赖项包含如下:

<dependency>
  <groupId>android.support</groupId>
   <artifactId>compatibility-v13</artifactId>
  <version>23.1.0</version>
</dependency>

这是否足以让资源也包含在内?它只是下载一个 jar,这是我上传到本地 repo 的所有内容。如何在 Maven 构建中包含资源?如果我们使用 maven sdk 部署程序,那么仅包含 maven 依赖项就足够了吗?还是我需要创建整个项目并以某种方式链接到库?这是在服务器上构建的,所以我需要 pom 来拉取所需的一切。如何将它包含为库而不仅仅是 jar?

【问题讨论】:

Why am I still getting java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$attr?的可能重复 可能,但是包含一个 jar 文件就足够了吗?我不明白的是在 Maven 构建中包含一个包含资源的库?它正在服务器上完成。 所以问题是如果它的库有 XML R 等等我该怎么做。我在 eclipse 上,有 pop,但整个事情将建立在服务器上。那么包含资源 eclipse/maven 环境的库的程序是什么。 【参考方案1】:

我认为你在 maven 标签下仍然存在依赖关系。

请添加:

<type>jar</type>

查看此link 了解更多信息。

【讨论】:

以上是关于如何包含兼容性 v7 库 maven 构建?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 上构建具有最大兼容性的静态库?

Material Design 向后兼容性

AppCompat文件夹有啥作用

如何使用 maven 项目轻松部署到 Karaf Osgi 容器

构建共享库时G++和clang++与标准库不兼容?

Qt创建者:创建一个兼容多个ABI的APK?