2014-11-06 2 views
25

코르도바 빌드 안드로이드 나에게Phonegap/Cordova 빌드 android node_modules/q/q.js throw e;

node_modules/q/q.js:126 throw e; (*error details) 

이 질문은 이전에 요청 된 다음 ERR을 제공하지만, 일반적인 대답은 PATH에 관한 및 ANDROID_HOME은 나를 위해 일하지 않았다. | $ 설정

:

나는 SO 제출 문제

export HOME="/Users/rover" 
export ANDROID_SDK="$HOME/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702/sdk" 
export ANDROID_HOME="$ANDROID_SDK/tools" 
export ANDROID_PLATFORM_TOOLS="$ANDROID_SDK/platform-tools" 
export PATH="$ANDROID_HOME:$ANDROID_PLATFORM_TOOLS:$ANDROID_SDK/build-tools:$PATH" 
export ANT_HOME="/usr/local/bin/ant" 
#export PATH="$PATH:$ANT_HOME/bin" 

내 환경 변수를 방지하기 위해 코드에이를 넣었습니다 그렙 "인조 \ | PATH"

ANDROID_HOME =/사용자/로버/문서는/dev/안드로이드/ADT-번들-MAC-x86_64-20140702/SDK/도구 ANDROID_PLATFORM_TOOLS =/사용자/로버/문서/데브가/안드로이드/adt-bundle-mac-x86_64-20140702/sdk/platform-tools ANDROID_SDK =/사용자/rover/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702/sdk 경로/사용자/rover/문서/Dev/Android/adt-bundle-mac-x86_64-20140702/sdk/tools :/Users/rover/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702/sdk/platform-tools :/Users/rover/usr/local/bin :/usr/bin :/usr/sbin :/sbin :/opt/X11/docs/dev// bin

$ which ant 
/usr/local/bin/ant 
$ ls /usr/local/bin/ant 
/usr/local/bin/ant 

$ cordova --version 
4.0.0 

$ ant -v 
Apache Ant(TM) version 1.9.4 

Java 8에 문제가있는 Mac OSX 10.10 (Yosemite)을 사용 중입니다. 관련이있을 수 있습니까?

$ 자바 -version 자바 버전 "1.8.0_05" 자바 (TM) SE 런타임 환경 (빌드 1.8.0_05-B13) 자바 핫스팟 (TM) 64 비트 서버 VM (25.5-B02, 혼합 구축 모드)

$ ant --execdebug 
exec "/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/jre/bin/java" -classpath "/usr/local/Cellar/ant/1.9.4/libexec/lib/ant-launcher.jar" -Dant.home="/usr/local/Cellar/ant/1.9.4/libexec" -Dant.library.dir="/usr/local/Cellar/ant/1.9.4/libexec/lib" org.apache.tools.ant.launch.Launcher -cp "" 

(*error details) 

BUILD FAILED 
/Users/rover/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702/sdk/tools/ant/build.xml:653: The following error occurred while executing this line: 
/Users/rover/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702/sdk/tools/ant/build.xml:698: null returned: 1 

Total time: 1 second 

/Library/WebServer/Documents/Booster/core_ionic_git/platforms/android/cordova/node_modules/q/q.js:126 
        throw e; 
         ^
Error code 1 for command: ant with args: debug,-f,/Library/WebServer/Documents/Booster/core_ionic_git/platforms/android/build.xml,-Dout.dir=ant-build,-Dgen.absolute.dir=ant-gen 
Error: /Library/WebServer/Documents/Booster/core_ionic_git/platforms/android/cordova/build: Command failed with exit code 8 
    at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:135:23) 
    at ChildProcess.emit (events.js:98:17) 
    at maybeClose (child_process.js:756:16) 
    at Process.ChildProcess._handle.onexit (child_process.js:823:5) 

해결 방법에 대한 의견이 있으십니까?

답변

9

당신의 ANDROID_HOME 변수가 잘못 설정되어있는 것으로 나타났습니다. 내가 말할 수있는 한, 귀하의 SDK 폴더의 루트 (ANDROID_SDK를 설정 한 것)로 설정해야합니다. 시도해보십시오. 경로에는 $ ANDROID_HOME/tools 및 $ ANDROID_HOME/platform-tools가 모두 있습니다.)

+0

이클립스가 필요하다고 불평했기 때문에 요세미티에서 OSX 용 Java 6을 다운로드했습니다. Java를 설정하려고 시도하지만, 문제가 발생하면 이상한 오류가 발생합니다. – mylord

+0

예, 맞습니다. "q.js : 126"오류 메시지와 유사한 오류가 있었지만 오류가 발생하는 매우 일반적인 장소 인 것으로 나타났습니다 (이 경우 일부 외부 프로그램이 호출됩니다. 내가 생각했을 때의 개미). 다른 질문으로 해결책을 찾았을 수도 있습니다 : Eclipse를 닫고 프로젝트 폴더에서 ant clean을 실행하십시오. http://stackoverflow.com/questions/23753320/build-error-referencing-build-xml-and-proguard-file-null-returned-1/23774435#23774435 – Marxama

+0

ant clean 제공 : Buildfile : build.xml은 제공하지 않습니다. 있다! 내 프로젝트에있는 유일한 build.xml은 facebookconnect 플러그인과 관련이 있습니다. 다른 아이디어? – mylord

1

@mylord 비슷한 오류가있어서 유효하지 않은 디버그 인증서로 인해 발생했습니다. Linux에서 ~/.android debug.keystore 파일을 삭제하십시오.

다음에 빌드 할 때 빌드 도구가 새 키 저장소와 디버그 키를 다시 생성합니다.

이 문제는 저에게 해결되었습니다. 이게 도움이 되길 바란다.

+1

나는 파일을 옮기고 cordova build android를 실행했습니다. 같은 오류가 계속 발생합니다. 또한 다른 debug.keystore도 생성되지 않았습니다. 어쨌든 +1 도움. 다른 아이디어? – mylord

20

나는 수 시간 동안 내 머리를 벽에 부딪쳐서 궁극적으로 간단한 해결책을 찾았다. 나는 프로젝트 디렉토리에 들어가서 두 명령을 내 렸습니다.

cordova platform remove android 
cordova platform add android 

"cordova build android"로 다시 컴파일하면 매력적이었습니다.

필자는 코드바가 일부 파일을 업데이트하려고한다고 생각합니다.

경우

당신이 당신의 구조에 대한 명령입니다 후 이온 프레임 워크를 사용하는 이온 ========에 대한 ===== 업데이트 :

ionic platform remove android 
ionic platform add android 

I 컴파일 프로세스를 중단 (Ctrl-C) 할 때 일반적으로 발생하는 것으로 나타났습니다.

+0

감사! 예, npm을 설치하는 데 문제가 있습니다. 코드 ova 프로젝트를 업데이트하려고하면 예를 들어 shelljs 누락, 그리고 기본적으로 아무것도 설치하려면, npm은 unmet dependencies 등을 불평합니다 ...하지만 그건 사냥하는 또 다른 버그입니다 :) – mylord

+1

만약 내가 다시 생각해 보면 작동 할 것입니다. nodejs도 다시 설치했습니다. – Anjum

+1

안드로이드 플랫폼을 제거하고 추가 한 후 한 가지 더 알아 봤습니다. 출력 된 Apk 파일 이름도 분명히 변경되었습니다. 이전에는 MyAppName-debug.apk를 사용했습니다. 이제는 CordovaApp-debug.apk입니다. 이 정보는 DOS 배치 파일을 사용하여 프로세스를 자동화하는 경우에 유용합니다. – Anjum

0

동일한 오류 메시지가 표시되지만 ANDROID_HOME 설정이 정확합니다. 오류는 \ platforms \ android \ ant-build 폴더에서 .apk 파일을 열 때 발생합니다. .pk 파일을 차지하는 7zip을 닫으면 ant 빌드가 성공합니다.

0

무엇이든지 변경하기 전에 빈 코드바 프로젝트을 만들고 빌드를 시도하면 프로젝트 관련 문제인지 알 수 있습니다.

많은 변경을 한 후에 같은 이름의 폴더가 두 개 있어서는 안된다는 것을 알아 냈습니다. jqueryjQuery!

0

나는 동일한 문제가있었습니다. 그것은 Google Play 스토어에서 발생한 Android 기기 (Google 베타 출시)에 동일한 이름의 앱 (내 케이스의 동일한 역방향 도메인 이름)이 설치되어 발생했습니다.

2

동일한 문제가 발생하여 config.xml의 문자가 아닌 문자를 이스케이프 처리하여 해결했습니다. name 속성 Particulary :

<name>Temps d'espera</name> 

나는 그것을 변경 :

<name>Temps d\'espera</name> 

그리고 완벽하게 실행합니다. 희망이 도움이됩니다.

+0

설치 도구에 상관없이 내 문제였습니다. – Wayferer

1

'phonegap serve'를 실행하는 동안 동일한 문제가 발생했지만 해결책이 매우 다릅니다. 컴퓨터를 다시 시작하면 작동이 작동하는 것으로 나타났습니다. 다른 누구도이 문제에 부딪 힐 경우 여기에 포스터 오류 외에도 유래 스레드 Grunt watch error - Waiting...Fatal error: watch ENOSPC

에서 찍은 우분투 15

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p 

의 솔루션입니다, 나는 오류가 더 아래

at exports._errnoException (util.js:856:11) 
at FSWatcher.start (fs.js:1313:19) 
at Object.fs.watch (fs.js:1341:11) 

했다.

+0

네, 그렇습니다. 우분투 16.04에서 같은 오류가 발생했습니다! 감사 – Andrea