我需要从命令行构建一个Android应用程序。我成功编译了它的jni部分,但无法构建Java部分。 ant
打印以下内容(路径已被删除):
/.../build.xml:69: taskdef class com.android.ant.SetupTask cannot be found
using the classloader AntClassLoader[/path/to/sdk/tools/lib/ant-tasks.jar:/path/to/sdk/tools/lib/manifest-merger.jar:/path/to/sdk/tools/lib/common.jar:/path/to/sdk/tools/lib/guava-13.0.1.ja r:/path/to/sdk/tools/lib/sdklib.jar:/path/to/sdk/tools/lib/layoutlib-api.jar:/path/to/sdk/tools/lib/kxml2-2.3.0.jar:/path/to/sdk/tools/lib/dvlib.jar:/path/to/sdk/tools/lib/bcpkix-jdk15on-1.4 8.jar:/path/to/sdk/tools/lib/commons-compress-1.0.jar:/path/to/sdk/tools/lib/httpclient-4.1.1.jar:/path/to/sdk/tools/lib/httpmime-4.1.jar:/path/to/sdk/tools/lib/bcprov-jdk15on-1.48.jar:/path /to/sdk/tools/lib/httpcore-4.1.jar:/path/to/sdk/tools/lib/commons-logging-1.1.1.jar:/path/to/sdk/tools/lib/commons-codec-1.4.jar]
似乎SetupTask位于anttasks.jar
内,但它不在我的sdk
目录中。我尝试安装所有可用的sdks,尝试将ant-tasks.jar
添加到类路径(它具有相似的名称),但没有成功。有没有办法如何安装anttasks.jar
,还是被其他东西取代?或者SetupTask
在某种程度上已经过时了?
我跑了:
android update project ...
我试图通过谷歌找到答案但是这个特定问题没有成功(AntClassLoader
不为空,anttasks.jar
丢失了。)
谢谢, 丹尼尔
答案 0 :(得分:1)
Afaik SetupTask在Android 2.3及更高版本中已经过时。因此,在我看来,您正在使用旧版本的build.xml。从Android 2.3及更高版本开始,目录中的build.xml有一个新模板 您-Android的SDK /工具/ ANT /。你可以根据自己的需要修改这个。
也许这个链接可以帮到你,它指出了我正确的方向:
https://sites.google.com/site/sokolkosta/internal-blog/includingadditionaljavaxpackagesinandroid23
答案 1 :(得分:1)
https://stackoverflow.com/a/15719072/1343309 它对我有用。
rm MyProjects/NowRedux/build.xml
android update project --target 8 --path MyProjects/NowRedux