Я компилирую свой проект 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>
Как я могу убедиться, что компиляция завершится ошибкой?