Android maven использует неправильную версию Java

Я компилирую свой проект Android для Android V2.2.1, я использую зависимость Android:

<dependency>
        <groupId>com.google.android</groupId>
        <artifactId>android</artifactId>
        <version>2.2.1</version>
        <scope>provided</scope>
</dependency>

Все компилируется нормально, а библиотеки, которые были представлены в более поздних версиях (например, связанные с Nfc), недоступны, и это нормально.

Проблема возникает, когда я использую чистые методы Java, такие как String.isEmpty, которые были введены только в версии 2.3+, по какой-то причине Maven не дает сбой с «не удается найти символ», но компиляция проходит, она терпит неудачу только на устройстве который работает с версией 2.2.

Моя конфигурация Android-maven-плагина:

<plugin>
    <groupId>com.jayway.maven.plugins.android.generation2</groupId>
    <artifactId>android-maven-plugin</artifactId>
    <version>3.1.1</version>
    <configuration>
        <androidManifestFile>${project.basedir}/AndroidManifest.xml
        </androidManifestFile>
        <assetsDirectory>${project.basedir}/assets</assetsDirectory>
        <resourceDirectory>${project.basedir}/res</resourceDirectory>
        <nativeLibrariesDirectory>${project.basedir}/src/main/native
        </nativeLibrariesDirectory>
        <sdk>
            <platform>8</platform>
        </sdk>
        <undeployBeforeDeploy>true</undeployBeforeDeploy>
    </configuration>
    <extensions>true</extensions>

</plugin>

Как я могу убедиться, что компиляция завершится ошибкой?


person Efi MK    schedule 28.04.2012    source источник
comment
1. Как вы создаете APK-файл ошибки через Eclipse или Maven connamd-line? 2. Какую версию API вы указываете в project.properties?   -  person yorkw    schedule 28.04.2012
comment
Через eclipse, но с плагином maven. # Цель проекта. цель = андроид-8   -  person Efi MK    schedule 28.04.2012
comment
Я попробовал через командную строку сейчас, и он успешно компилируется.   -  person Efi MK    schedule 28.04.2012
comment
Не решена, проблема в том, что она успешно компилируется, я хочу, чтобы она не удалась.   -  person Efi MK    schedule 29.04.2012
comment
Установите project.properties для использования android-9, если сборка не удастся, попробуйте и посмотрите, работает ли она.   -  person yorkw    schedule 29.04.2012
comment
Согласно документации по подключаемому модулю, установите ‹ sdk› должен работать. Я не могу вспомнить, произошло ли это в более старой версии android-maven-plugin. Попробуйте поднять вопрос на здесь.   -  person yorkw    schedule 30.04.2012
comment
@Efi MK: у меня такая же проблема (см. мой вопрос по адресу stackoverflow.com/questions/11250352/). Вы когда-нибудь находили решение?   -  person matt5784    schedule 05.07.2012


Ответы (1)


Возможно, вы захотите попробовать использовать оригинальный jar-файл Android из Sdk, развернув его в своем репозитории или на сервере репозитория с помощью Maven Android SDK Deployer. Это может сработать.

person Manfred Moser    schedule 05.07.2012