Maven/Eclipse/Android升级API版本
Posted
技术标签:
【中文标题】Maven/Eclipse/Android升级API版本【英文标题】:Maven/Eclipse/Android upgrading API version 【发布时间】:2015-11-11 09:42:08 【问题描述】:我们一直在一个项目中使用 android API 版本 17,并希望升级到 API 版本 19,因为该应用程序在 Android 4.4 上运行。
我们使用 Maven 作为我们的构建环境。我已经在我们的AndroidManifest.xml
中替换了所有出现的 SDK 版本 17 到 19。但是我通过 Maven 升级到 4.4 平台时遇到问题。
我使用 Android SDK Deployer 工具将 android-4.4 包推送到我的本地 Maven 存储库中。然后我将我们的“父”POM.xml 中对 android-4.2 的引用替换为 android-4.4:
<dependencyManagement>
<dependencies>
<dependency>
<!-- <groupId>com.google.android</groupId> OLD -->
<groupId>android</groupId>
<artifactId>android</artifactId>
<!-- <version>4.2.2_r2</version> OLD -->
<version>4.4.2_r4</version>
<scope>provided</scope>
</dependency>
此更改似乎引入了冲突。另一个依赖项是引入了与新的4.4.2_r4
包冲突的android 包的版本2.1_r1
:
Excerpt from 'mvn dependency:tree':
.
[INFO] +- com.github.tony19:logback-android-classic:jar:1.0.10-2:compile
[INFO] | \- com.github.tony19:apktool-lib:jar:1.4.4-3:compile
[INFO] | \- com.google.android:android:jar:2.1_r1:compile
[INFO] | +- org.khronos:opengl-api:jar:gl1.1-android-2.1_r1:compile
[INFO] | +- xerces:xmlParserAPIs:jar:2.6.2:compile
[INFO] | \- xpp3:xpp3:jar:1.1.4c:compile
我注意到,如果我将 4.4 包的 <dependency>
声明移到 pom.xml
中的 logback-android-classic 依赖声明上方,那么我们的模块将使用 4.4 依赖。但是,我认为这不是一个适当的解决方案,并且我在构建整个项目时遇到了各种问题。
能否请那些对 Maven 更有经验的人提供解决此问题的正确方法?
【问题讨论】:
【参考方案1】:遍历每个受影响的模块并向 logback-android-classic 依赖项添加排除项似乎已经解决了它:
<exclusions>
<exclusion>
<artifactId>android</artifactId>
<groupId>android</groupId>
</exclusion>
<exclusion>
<artifactId>android</artifactId>
<groupId>com.google.android</groupId>
</exclusion>
</exclusions>
【讨论】:
以上是关于Maven/Eclipse/Android升级API版本的主要内容,如果未能解决你的问题,请参考以下文章