8

我知道有一些与此相关的问题,但我试图做的是有点不同。

我在项目配置选项中指定的 2 个目标是

干净调试

它们都默认可用,因此我不必为任何其他目标编写新代码。但我的构建仍然失败。

Started by user anonymous
[EnvInject] - Loading node environment variables.
Building in workspace /var/lib/jenkins/jenkins-data/jobs/anttest1/workspace
Checkout:workspace / /var/lib/jenkins/jenkins-data/jobs/anttest1/workspace - hudson.remoting.LocalChannel@4603278f
Using strategy: Default
Last Built Revision: Revision 17b9fd2ee52d01e7a425822f353222445e3a82c7 (EventMatrix_Cordova_App/HEAD, EventMatrix_Cordova_App/master)
Fetching changes from 1 remote Git repository
Fetching upstream changes from EventMatrix_Cordova_App
Seen branch in repository EventMatrix_Cordova_App/HEAD
Seen branch in repository EventMatrix_Cordova_App/master
Commencing build of Revision 17b9fd2ee52d01e7a425822f353222445e3a82c7 (EventMatrix_Cordova_App/HEAD, EventMatrix_Cordova_App/master)
Checking out Revision 17b9fd2ee52d01e7a425822f353222445e3a82c7 (EventMatrix_Cordova_App/HEAD, EventMatrix_Cordova_App/master)
Warning : There are multiple branch changesets here
[mysteryshopper_version2] $ ant -file build.xml -Dlabel=anttest1-42 clean
Buildfile: /var/lib/jenkins/jenkins-data/jobs/anttest1/workspace/mysteryshopper_version2/build.xml
  **[taskdef] Could not load definitions from resource anttasks.properties. It could not be found.
  [taskdef] Could not load definitions from resource emma_ant.properties. It could not be found.**

-**check-env**:

BUILD FAILED
/usr/local/lib/android-sdk-linux/tools/ant/build.xml:392: Problem: **failed to create task or type checkenv**
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.


Total time: 0 seconds
Build step 'Invoke Ant' marked build as failure
Finished: FAILURE

有人可以帮我吗?

4

3 回答 3

7

<checkenv />是 Android 构建所必需的,它位于 Android SDK 目录中的库中。我遇到了同样的问题,发现原因是andlocal.properties所需的文件中的目录错误。这是我的文件示例:build.xmlbuildAndroid.xmllocal.properties

# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.

# location of the SDK. This is only used by Ant
# For customization when using a Version Control System, please read the
# header note.
sdk.dir=/Users/myusername/android-sdk-macosx

当我在 Eclipse 中时,它会自动生成,但是当 Eclipse 关闭并且我在命令行使用 ant 时,它没有更新并且有一些其他用户的信息已经提交给 SVN,我用一个svn更新。

我将它更新为指向我自己的 Android SDK 目录,一切都开始工作了。

希望有帮助!

于 2013-06-14T15:06:33.667 回答
2

问题不在于anttasks.propertiesemma_ant.properties(至少对我而言)。我以不同的方式修复它。我的目标build.xml有这些线

<property file="local.properties"/>
<property file="project.properties"/>
<property file="ant.properties"/>

奇怪的local.properties是,文件夹中丢失了build.xml,而另外两个在场。幸运的是,由于我之前尝试过使用 Android Studio 即在StudioProjects/<my project>/local.properties. 换句话说,它是由 Android Studio 自动创建的。如果你没有,这是它的内容:

## This file is automatically generated by Android Studio.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#Fri Apr 22 21:28:15 EEST 2016
ndk.dir=home/<user>/android-ndk-r11c
sdk.dir=home/<user>/Android/Sdk

因此,您基本上可以自己创建它,指定您的 SDK 和可能的 NDK 的路径。

我希望它有所帮助。

于 2016-04-29T16:35:06.743 回答
0

我在更新构建工具时运行了一个 antbuild,导致文件访问冲突:) SDK 管理器显示它已安装。删除并重新安装解决了这个问题。

于 2013-08-07T13:04:02.830 回答