使用Google API时Ant无法生成

问题描述:

我想用Ant构建我的Android项目。每当我使用Eclipse进行构建时,应用程序都会编译成功。然后,我可以运行ant installd并将该应用程序的调试版本安装到我的设备上。但是,如果我运行ant clean,然后运行ant debug生成失败,因为它无法找到类OverlayItem。但在project.properties我有target=Google Inc.:Google APIs:4。我究竟做错了什么?使用Google API时Ant无法生成

控制台输出

cas-v1500-sh:VIIAD Ant VIIAD$ ant debug 
Buildfile: /Users/VIIAD/Desktop/VIIAD/VIIAD Ant/build.xml 

-set-mode-check: 

-set-debug-files: 

-set-debug-mode: 

-debug-obfuscation-check: 

-setup: 
    [echo] Gathering info for VIIAD Ant... 
    [setup] Android SDK Tools Revision 16 
    [setup] Project Target: Google APIs 
    [setup] Vendor: Google Inc. 
    [setup] Platform Version: 1.6 
    [setup] API level: 4 
    [setup] 
    [setup] ------------------ 
    [setup] Resolving library dependencies: 
    [setup] No library dependencies. 
    [setup] 
    [setup] ------------------ 
    [setup] 

-build-setup: 
    [echo] Creating output directories if needed... 

-pre-build: 

-code-gen: 
    [echo] ---------- 
    [echo] Handling aidl files... 
    [aidl] No AIDL files to compile. 
    [echo] ---------- 
    [echo] Handling RenderScript files... 
[renderscript] No RenderScript files to compile. 
    [echo] ---------- 
    [echo] Handling Resources... 
    [aapt] Found Deleted Target File 
    [aapt] Generating resource IDs... 

-pre-compile: 

-compile: 
    [javac] Compiling 42 source files to /Users/VIIAD/Desktop/VIIAD/VIIAD Ant/bin/classes 
    [javac] /Users/VIIAD/Desktop/VIIAD/VIIAD Ant/src/com/android/viiad/SearchResultsMapActivity.java:154: cannot find symbol 
    [javac] symbol : class OverlayItem 
    [javac] location: class com.android.viiad.SearchResultsMapActivity 
    [javac]  public class SearchResultItemOverlay extends com.android.viiad.mapviewballoons.BalloonItemizedOverlay<OverlayItem> { 
    [javac]                           ^
    [javac] 1 error 

BUILD FAILED 
/Users/VIIAD/android-sdk-macosx/tools/ant/build.xml:602: The following error occurred while executing this line: 
/Users/VIIAD/android-sdk-macosx/tools/ant/build.xml:622: Compile failed; see the compiler error output for details. 

那么它仍然困扰着我,但我通过将OverlayItem替换为com.google.android.maps.OverlayItem甚至认为我有导入import com.google.android.maps.OverlayItem;解决了问题。

你导入OverlayItemcom.android.viiad.SearchResultsMapActivity

import com.google.android.maps.OverlayItem;

编辑:假设你有你的地方全部采用进口,我会尝试converting the Eclipse project to use Ant。做当然的原件备份。

+0

是的,我确实有导入。 – 2012-01-03 16:32:49

+0

@Sbossb将Eclipse项目转换为Ant是否有所作为? – 2012-01-03 17:56:37

+0

是的,这就是我将项目导入Ant的方式。由于我的项目需要Google Maps API,因此除了android.jar之外,我可能还需要包含maps.jar。我再看看吧。如果Eclipse构建它的工作正常,并且Ant可以在Eclipse完成后进行构建。但是,如果我清理项目并尝试从源代码构建Ant,则会收到错误消息。 – 2012-01-03 21:03:14