使用类加载器AntClassLoader []找不到taskdef类com.android.ant.SetupTask

JB_*_*ser 9 android

我试图从"Beginning Android 4"这本书中获得一些简单的Android应用程序.我在其中一个源代码目录上运行ant并收到此错误:

# ant debug
Buildfile: NowRedux/build.xml

BUILD FAILED
NowRedux/build.xml:49: taskdef class com.android.ant.SetupTask cannot be found using the classloader AntClassLoader[]
Run Code Online (Sandbox Code Playgroud)

build.xml中导致这种情况的行是:

<taskdef name="setup"
    classname="com.android.ant.SetupTask"
    classpathref="android.antlibs" />
Run Code Online (Sandbox Code Playgroud)

有谁知道我怎么解决这个问题?我尝试在http://ant.apache.org/下载ant 并手动安装它,但这没有帮助.有任何想法吗?

JB_*_*ser 13

我不确定这是否是解决问题的正确方法,或者它只是回避它,但我这样做了

rm MyProjects/NowRedux/build.xml
android update project --target 8 --path MyProjects/NowRedux
Run Code Online (Sandbox Code Playgroud)

它奏效了.它基本上创建了一个新的build.xml文件,它不引用com.android.ant.SetupTask(所以,这个问题可能仍然会被破坏,但至少我找到了一个解决方法)

  • 请注意,` - target 8`不是真正的SDK版本,而是取决于给定计算机的已安装SDK的数量.意思是,如果你想与android sdk 18对齐,例如,它将在一台机器上为`--target 8`,而在另一台机器上为`--target 5`(检查输出`android list targets`并且它一切都有意义. (2认同)