Java Android.App.Activity-包不存在
我得到了一个应该正确编译的ANDROID项目文件 我安装了最新的eclipse和Andriod ADT插件 然后我导入了该项目,右键单击build.xml以作为ANT build运行。但我在一些基本代码上得到了EROR,我确信这些代码源自我配置错误的设置 我还尝试从命令行使用ANT运行它。两次我都犯了同样的错误 怎么了Java Android.App.Activity-包不存在,java,android,eclipse,ant,Java,Android,Eclipse,Ant,我得到了一个应该正确编译的ANDROID项目文件 我安装了最新的eclipse和Andriod ADT插件 然后我导入了该项目,右键单击build.xml以作为ANT build运行。但我在一些基本代码上得到了EROR,我确信这些代码源自我配置错误的设置 我还尝试从命令行使用ANT运行它。两次我都犯了同样的错误 怎么了 Buildfile: /Users/admin/Downloads/moshe-5/build.xml init: process.annotations
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;
不要费心使用ANT构建。 Eclipse和ADT插件提供了非常好的工具来为您省去麻烦。
只需右键单击项目,选择RunAs->Android应用程序,它不会找到Android软件包。在构建步骤中,您应该包括与要移植到的android版本相对应的android.jar。当您编写编译目标时,您将覆盖位于:C:\Program Files(x86)中的android_rules.xml给出的默认值\Android\Android sdk\platforms\Android-8\templates或您计算机上的任何Android_rules.xml位置 像上面提到的波特一样,它找不到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>
类路径标记中包含了android.jar。您可以通过添加更多文件集来添加其他库
其他一些编写ANT编译目标代码的好例子有:
很可能找不到Android,因为您没有定义
sdk.dir
属性,该属性告诉构建过程在哪里可以找到Android。此属性通常位于local.properties文件中,并在执行以下操作时填充:
android update project
如下所述:
在我的例子中,由于问题,我没有包含目标字段的default.properties文件 我必须手动创建文件并将
target=android-9
或者其他Android目标版本
如果你跑
ant -v
使用build命令,您可能会看到这一行
Property "target" has not been set
及
这些信息已经足够提示了
希望这也能解决您的问题。没有运行android应用程序,请看屏幕截图,您创建的项目是android项目吗?如果您导入的项目最初不是Eclipse项目,那么它可能不是。IIRC上下文菜单应该有一个选项Android>Convert to Android project(或类似选项)。这是一个可怕的建议,尤其是当你试图使用Jenkins等建立一个连续的构建时。@incredipp我建议你自己学习如何构建这个项目,而不是依赖IDE来学习它的实际工作原理。工程师应该了解他们所建立的系统。这个答案并没有回答他的问题,也就是“怎么了?”那么一个Android程序员需要走多远才能开发一个应用程序呢?也许可以深入研究Eclipse运行ANT脚本的方式?或者研究Dalvik虚拟机及其工作方式?我真的认为你不必“理解系统”这样的组件,除非这对你正在做的事情是必要的,或者对你正在努力实现的目标没有帮助,并且需要一些调整来使它工作。但是我想你不会同意我的意见,所以我们会同意不同意。好的,我在build.properties文件中找到了缺少的配置设置。现在它编译好了。但它不会运行。我没有运行android菜单。而且无法在eclipse的Android emulator中运行该应用程序
[property] Unable to find property file: /PATH_TO/default.properties