我们一直在项目中使用Android API版本17,并希望升级到API版本19,因为该应用程序在Android 4.4上运行。
我们使用Maven作为构建环境。我已在AndroidManifest.xml
中替换了所有出现的SDK版本17到19。但是我在通过Maven升级到4.4平台时遇到了问题。
我使用Android SDK Deployer工具将android-4.4软件包推送到我的本地Maven存储库。然后我在我们的父母'中将对android-4.2的引用替换为android-4.4。 pom.xml中:
<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>
这种变化似乎引发了冲突。另一个依赖是引入android包的版本2.1_r1
,它与新的4.4.2_r4
包冲突:
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更有经验的人请告知正确的解决方法吗?
答案 0 :(得分:0)
浏览每个受影响的模块并在logback-android-classic依赖项中添加一个排除项似乎解决了它:
<exclusions>
<exclusion>
<artifactId>android</artifactId>
<groupId>android</groupId>
</exclusion>
<exclusion>
<artifactId>android</artifactId>
<groupId>com.google.android</groupId>
</exclusion>
</exclusions>