4

我需要从命令行构建一个 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是缺失的)。

谢谢,丹尼尔

4

2 回答 2

1

https://stackoverflow.com/a/15719072/1343309 它对我有用。

rm MyProjects/NowRedux/build.xml
android update project --target 8 --path MyProjects/NowRedux
于 2013-10-23T02:56:02.113 回答
1

Afaik SetupTask 在 Android 2.3 及更高版本中已过时。所以在我看来,您正在使用旧版本的 build.xml。从 Android 2.3 及更高版本开始,在目录 your-android-SDK/tools/ant/ 中有一个新的 build.xml 模板。你可以根据自己的需要修改这个。

也许这个链接会对你有所帮助,它为我指明了正确的方向:

https://sites.google.com/site/sokolkosta/internal-blog/includingadditionaljavaxpackagesinandroid23

于 2013-07-23T15:06:46.233 回答