2013-06-12 17 views
6

Tôi biết có một số câu hỏi liên quan đến điều này nhưng những gì Im cố gắng làm là một chút khác nhau.không thể tạo nhiệm vụ hoặc gõ checkenv Nguyên nhân Tên không xác định

2 mục tiêu của tôi mà tôi đã xác định trong tùy chọn cấu hình dự án của tôi là

sạch debug

cả trong số họ có sẵn theo mặc định vì vậy tôi không cần phải viết mã mới cho bất kỳ mục tiêu bổ sung. nhưng bản dựng của tôi vẫn không thành công.

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 - [email protected] 
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 

ai đó có thể giúp tôi về điều này ??

+1

Cài đặt ANT của bạn trên Jenkins không thể tìm thấy jar android bên thứ 3 chứa tác vụ kiểm tra. Xem http://tools.android.com/tech-docs/ant-tasks –

+0

kết quả mà bạn có thể thấy là từ jenkins được cài đặt trên máy chủ của công ty tôi. Tôi đã thử điều tương tự trên máy tính của riêng tôi và nó hoàn toàn hoạt động tốt. chỉ là một câu hỏi nhanh, Đây có phải là tệp jar android bên thứ 3 bên trong thư mục android-sdk-linux không? bởi vì tôi cho rằng đó là sự cho phép hoặc đọc vấn đề. Tôi đã gặp vấn đề tương tự với tệp android-sdk-linux/tools/ant/build.xml. Tôi đã sửa nó bằng cách cho phép người dùng khác đọc/ghi và thực thi. – tanzeelrana

+0

Nếu tôi cho phép những người dùng khác (trong trường hợp của tôi là jenkins) đọc/ghi và thực thi quyền đối với thư mục android-sdk-linux và tất cả các thư mục phụ của nó, đó có phải là vấn đề không? bởi vì cấp cao của tôi "không muốn mở thư mục đó ra thế giới". – tanzeelrana

Trả lời

5

<checkenv /> là bắt buộc đối với bản dựng Android, nó nằm trong thư viện trong thư mục SDK Android. Tôi đã gặp vấn đề tương tự và phát hiện nguyên nhân là một thư mục xấu trong tệp local.properties được yêu cầu bởi build.xmlbuildAndroid.xml. Dưới đây là một mẫu của local.properties tập tin của tôi:

# 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 

này được tạo tự động khi tôi đang ở trong Eclipse, nhưng khi Eclipse được đóng lại và tôi đang làm việc với kiến ​​tại cửa sổ dòng lệnh, nó không được cập nhật và đã có một số thông tin của người dùng khác đã được cam kết với SVN và tôi đã kiểm tra với bản cập nhật svn.

Tôi đã cập nhật nó để trỏ tới thư mục SDK Android của riêng tôi và mọi thứ bắt đầu hoạt động.

Hy vọng điều đó sẽ hữu ích!

+0

vẫn giữ nguyên. bạn có thể kiểm tra các điều khoản trên thư mục yyour android-sdk-macosx và cho tôi biết tôi đoán rằng tôi có một sự cố viết – tanzeelrana

+0

quyền trên thư mục đó là drwxr-x --- @ – AWT

+0

Ngoài ra, hãy đảm bảo bạn đang sử dụng Apache ant 1.8.x. – AWT

0

Tôi đã chạy antbuild trong khi cập nhật công cụ xây dựng dẫn đến xung đột truy cập tệp :) SDK Manager đã hiển thị nó như được cài đặt mặc dù. Xóa và cài đặt lại đã khắc phục sự cố.

1

Sự cố không phải với anttasks.properties hoặc emma_ant.properties (ít nhất là đối với tôi). Tôi sửa nó khác đi. mục tiêu của tôi build.xml có những dòng

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

Tò mò đủ, các local.properties đã mất tích từ thư mục build.xml, trong khi hai người kia đã có mặt. May mắn thay, tôi đã có nó vì nỗ lực trước đây của tôi với Android Studio, tức là trong StudioProjects/<my project>/local.properties. Nói cách khác, nó được tạo tự động bởi Android Studio. Nếu bạn không có, đây là nội dung của nó:

## 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 

Vì vậy, về cơ bản bạn có thể tự mình xác định đường dẫn SDK của mình và NDK có thể.

Tôi hy vọng điều đó sẽ hữu ích.