我得到了一个应该正确编译的andorid项目文件。
我安装了最新的eclipse和Andriod ADT插件。
然后我导入了项目并右键单击build.xml以作为ANT构建运行。但是我在一些基本代码上遇到了错误,我确信这些错误源于我错误配置的设置。
我也试过从命令行使用ANT运行它。两次我都遇到了同样的错误
有什么问题?
Buildfile: /Users/admin/Downloads/moshe-5/build.xml
init:
process.annotations:
[javac] Compiling 9 source files to /Users/admin/Downloads/moshe-5/build/classes
[javac] /Users/admin/Downloads/moshe-5/src/ti/moshe/CustomAdapter.java:7: package android.app does not exist
[javac] import android.app.Activity;
[javac] ^
[javac] /Users/admin/Downloads/moshe-5/src/ti/moshe/CustomAdapter.java:8: package android.content does not exist
[javac] import android.content.Context;
[javac] ^
[javac] /Users/admin/Downloads/moshe-5/src/ti/moshe/CustomAdapter.java:9: package android.graphics does not exist
[javac] import android.graphics.Color;
答案 0 :(得分:3)
在我的情况下,由于问题我没有 default.properties 文件,其中包含目标字段。
我必须手动创建文件并放入
target=android-9
或其他Android目标版本。
如果你跑
ant -v
使用您的构建命令,您可能会看到此行
Property "target" has not been set
和
[property] Unable to find property file: /PATH_TO/default.properties
这些消息有足够的提示。
希望这也解决了你的问题。
答案 1 :(得分:1)
找不到Android软件包。在构建步骤中,您应该包含对应于您要移植到的Android版本的android.jar。
答案 2 :(得分:1)
当你编写编译目标时,你将覆盖android_rules.xml给出的默认值:C:\ Program Files(x86)\ Android \ android-sdk \ platforms \ android-8 \ templates或者android_rules。 xml位于您的计算机上。
与上面提到的Potter一样,它找不到android库和其他库,所以请查看android_rules.xml以了解它如何设置正确的库:
<target name="compile" depends="-resource-src, -aidl"
description="Compiles project's .java files into .class files">
<!-- If android rules are used for a test project, its classpath should include
tested project's location -->
<condition property="extensible.classpath"
value="${tested.project.absolute.dir}/bin/classes" else=".">
<isset property="tested.project.absolute.dir" />
</condition>
<condition property="extensible.libs.classpath"
value="${tested.project.absolute.dir}/libs" else="./libs">
<isset property="tested.project.absolute.dir" />
</condition>
<javac encoding="ascii" target="1.5" debug="true" extdirs=""
destdir="${out.classes.absolute.dir}"
bootclasspathref="android.target.classpath"
verbose="${verbose}" classpath="${extensible.classpath}">
<src path="${source.absolute.dir}" />
<src path="${gen.absolute.dir}" />
<classpath>
<fileset dir="${external.libs.absolute.dir}" includes="*.jar" />
<fileset dir="${extensible.libs.classpath}" includes="*.jar" />
</classpath>
</javac>
</target>
classpath标签内部包含android.jar。您可以通过添加更多文件集来添加其他库
编写ANT编译目标的其他一些代码示例如下:
http://www.vogella.de/articles/ApacheAnt/article.html
http://www.alittlemadness.com/2010/05/31/setting-up-an-android-project-build/&lt; - 设置ANT项目
答案 3 :(得分:0)
很可能找不到Android,因为你没有定义sdk.dir
属性,它告诉构建过程在哪里找到Android。此属性通常位于local.properties文件中,并在执行以下操作时填充:
android update project
如下所述:
http://developer.android.com/tools/projects/projects-cmdline.html#UpdatingAProject
答案 4 :(得分:-8)
不要使用ANT进行构建。 Eclipse和ADT插件提供了出色的工具来帮助您省去麻烦。 只需右键单击该项目,选择run as - &gt; Android应用程序