我正在针对Android V2.2.1编译我的Android项目,我正在使用Android依赖项:
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>2.2.1</version>
<scope>provided</scope>
</dependency>
一切都编译得很好,更高版本中引入的库(例如 Nfc 相关的东西)不可用,这很好。
当我使用仅在 V2.3+ 中引入的纯 Java 方法(如 String.isEmpty )时,会出现问题,由于某种原因,Maven 不会因"找不到符号"而失败,但编译通过,它仅在运行版本 2.2 的设备上失败。
我的安卓插件会议:
<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>
如何确保编译失败?
您可能想尝试使用 SDK 中的原始 android jar,方法是使用 Maven Android SDK Deployer 将其部署到您的存储库或存储库服务器。这也许可行。