使用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;
解决了问题。
答
你导入OverlayItem
到com.android.viiad.SearchResultsMapActivity
?
import com.google.android.maps.OverlayItem;
编辑:假设你有你的地方全部采用进口,我会尝试converting the Eclipse project to use Ant。做当然的原件备份。
是的,我确实有导入。 – 2012-01-03 16:32:49
@Sbossb将Eclipse项目转换为Ant是否有所作为? – 2012-01-03 17:56:37
是的,这就是我将项目导入Ant的方式。由于我的项目需要Google Maps API,因此除了android.jar之外,我可能还需要包含maps.jar。我再看看吧。如果Eclipse构建它的工作正常,并且Ant可以在Eclipse完成后进行构建。但是,如果我清理项目并尝试从源代码构建Ant,则会收到错误消息。 – 2012-01-03 21:03:14