Maven / Eclipse / Android升级API版本

时间:2015-08-18 12:37:30

标签: java android eclipse maven

我们一直在项目中使用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更有经验的人请告知正确的解决方法吗?

1 个答案:

答案 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>