2012-04-28 38 views
1

我編譯我反對的Android V2.2.1 Android項目的Android行家,我使用的是Android的依賴:使用錯誤的Java版本

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

一切編譯罰款,並在以後的版本中引入的庫(NFC例如相關的東西)不可用,這很好。

當我使用String.isEmpty等僅在V2.3 +中引入的純java方法時出現問題,出於某種原因,Maven不會因「找不到符號」而失敗,但編譯通過,在運行2.2版的設備上失敗。

我的Android,Maven的插件的conf:

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

我怎樣才能確保編譯就失敗了?

+0

1.您如何通過Eclipse或Maven connamd-line構建故障apk? 2.您在project.properties中定義了哪個API版本? – yorkw 2012-04-28 13:30:06

+0

通過日食,但與Maven插件。 #項目目標。 target = android-8 – 2012-04-28 13:39:03

+0

我現在試過通過命令行,它編譯成功。 – 2012-04-28 13:42:24

回答

0

您可能想嘗試使用Sdk中的原始android jar,並使用Maven Android SDK部署程序將其部署到存儲庫或存儲庫服務器。這可能會起作用。