2013-06-12 10 views
6

Wiem, że są pewne pytania związane z tym, ale to, co próbuję zrobić, jest nieco inne.nie udało się utworzyć zadania lub wpisać checkenv Przyczyna Nazwa jest niezdefiniowana

moje 2 cele, które zostały wyszczególnione w I moich opcji konfiguracyjnych projektu są

czysty debug

obaj są domyślnie dostępne więc nie trzeba pisać nowy kod dla jakichkolwiek dodatkowych celów. ale moja kompilacja nadal nie działa.

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 

Czy ktoś może mi w tym pomóc?

+1

Twoja instalacja ANT na Jenkins nie może znaleźć zewnętrznego słoja z Androidem zawierającego zadanie checkenv. Zobacz http://tools.android.com/tech-docs/ant-tasks –

+0

wyniki, które możesz zobaczyć, pochodzą z firmy Jennkins zainstalowanej na serwerze mojej firmy. Próbowałem tego samego na moim komputerze i doskonale działało. tylko szybkie pytanie: czy ten plik jarda z zewnętrznego urządzenia jest w folderze android-sdk-linux? ponieważ myślę, że jest to problem zgody lub odczytu. Miałem ten sam problem z plikiem android-sdk-linux/tools/ant/build.xml. Naprawiłem to, pozwalając innemu użytkownikowi na odczytywanie/zapisywanie i wykonywanie. – tanzeelrana

+0

Jeśli pozwolę innym użytkownikom (w moim przypadku Jenkins) uprawnienia do odczytu/zapisu i wykonania do folderu android-sdk-linux i wszystkich jego podkatalogów, czy będzie to problem? ponieważ mój senior "nie chce otwierać tego folderu na świat". – tanzeelrana

Odpowiedz

5

<checkenv /> jest wymagany do kompilacji Androida, znajduje się w bibliotece w katalogu Android SDK. Miałem ten sam problem i odkryłem, że przyczyną jest zły katalog w pliku local.properties wymagany przez build.xml i buildAndroid.xml. Oto próbka mojego local.properties pliku:

# 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 

ten pobiera generowany automatycznie, gdy jestem w Eclipse, ale kiedy Eclipse jest zamknięta, a ja pracuję z mrówki w linii poleceń, nie została zaktualizowana i miał pewne informacje innego użytkownika, które zostały przekazane do SVN, a które sprawdziłem za pomocą aktualizacji svn.

Zaktualizowałem go tak, aby wskazywał na mój własny katalog SDK systemu Android i wszystko zaczęło działać.

Nadzieję, że pomaga!

+0

wciąż to samo. możesz sprawdzić uprawnienia na swoim folderze android-sdk-macosx i powiedzieć, że mam problem z pisaniem – tanzeelrana

+0

uprawnienia do tego folderu są drwxr-x --- @ – AWT

+0

Upewnij się również, że używasz Apache ant 1.8.x. – AWT

0

Miałem uruchomiony program antywirusowy podczas aktualizowania narzędzi kompilacji powodujący konflikt dostępu do plików :) Menedżer SDK pokazał go jako zainstalowany. Usunięcie i ponowna instalacja naprawiły problem.

1

Problem nie dotyczy anttasks.properties lub emma_ant.properties (przynajmniej dla mnie). Naprawiłem to inaczej. Moim celem build.xml miał te linie

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

tyle ciekawe, local.properties brakowało folderze build.xml, natomiast pozostałe dwa były obecne. Na szczęście miałem to już wcześniej z powodu mojej poprzedniej próby z Androidem Studio, tj. W StudioProjects/<my project>/local.properties. Innymi słowy, jest automatycznie tworzony przez Android Studio. Jeśli nie ma, to jego treść:

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

Więc w zasadzie można go utworzyć samemu określeniu ścieżki swojego SDK i ewentualnie NDK.

Mam nadzieję, że to pomaga.

Powiązane problemy