25

cordova build android は私に次のエラーを与えます

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

この質問は以前に尋ねられましたが、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"

私の環境変数:

$ セット | grep "ANDROID\|パス"

ANDROID_HOME=/Users/rover/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702/sdk/tools ANDROID_PLATFORM_TOOLS=/Users/rover/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702/sdk /platform-tools ANDROID_SDK=/Users/rover/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702/sdk PATH=/Users/rover/Documents/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/Documents/Dev/Android/adt-bundle-mac-x86_64 -20140702/sdk/build-tools:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/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) を使用しています。

$ java -version java version "1.8.0_05" Java(TM) SE Runtime Environment (ビルド 1.8.0_05-b13) Java HotSpot(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)

これを修正するためのアイデアはありますか?

4

8 に答える 8

20

私は何時間も頭を壁にぶつけて、最終的に簡単な解決策を思いつきました. プロジェクト ディレクトリに移動し、次の 2 つのコマンドを発行しました。

cordova platform remove android
cordova platform add android

「cordova build android」で再コンパイルすると、魅力的に機能しました。

コルドバはおそらくいくつかのファイルを更新したかったと思います。

===== Ionic のアップデート ========

イオン フレームワークを使用している場合、これらはレスキュー用のコマンドです。

ionic platform remove android
ionic platform add android

これは通常、コンパイル プロセスを中断 (Ctrl-C) すると発生することに気付きました。

于 2015-01-02T07:34:19.037 に答える
9

ANDROID_HOME 変数が正しく設定されていない可能性があることに気付きました - 私が知る限り、SDK フォルダーのルート (ANDROID_SDK が設定されているもの) に設定する必要があります。 ANDROID_HOME/tools および $ANDROID_HOME/platform-tools をパスに追加します)。

于 2014-11-06T21:08:12.673 に答える
2

私は同じ問題を抱えていて、文字以外の文字をエスケープすることで解決しましたconfig.xml。特にname属性について:

<name>Temps d'espera</name>

私はそれを次のように変更しました:

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

そして、それは完全に実行されます。それが役に立てば幸い。

于 2015-03-15T19:50:55.333 に答える
1

@mylord同様のエラーが発生しましたが、それは無効なデバッグ証明書が原因でした。Linux の場合 ~/.android debug.keystore ファイルを削除します。

次回のビルド時に、ビルド ツールによって新しいキーストアとデバッグ キーが再生成されます。

これで解決しました。これが役立つことを願っています。

于 2014-11-11T22:39:36.683 に答える
1

「phonegap serve」の実行中に同じ問題に遭遇しましたが、解決策は大きく異なりました。パソコンを再起動すると動作することに気づきました。他の誰かがこの問題に遭遇した場合。これがUbuntu 15での解決策です

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

これは、stackoverflow スレッドから取得されましたGrunt ウォッチ エラー - 待機中...致命的なエラー: ENOSPC を監視します

ポスターのエラーに加えて、エラーが発生しました

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

さらに下。

于 2016-02-18T19:46:15.147 に答える
0

何かを変更する前に、空のコルドバ プロジェクトを作成してビルドしてみてください。問題がプロジェクト固有のものであるかどうかを判断できます。

私が行った多くの変更の後、同じ名前の2つのフォルダーを持つべきではないことがわかりました:jqueryjQuery!

于 2015-02-18T12:14:36.900 に答える
0

同じ問題がありました。これは、Google Play ストア (ベータ版リリース) に由来する Android デバイスに同じ名前 (および私の場合は同じ逆スタイル ドメイン名) のアプリがインストールされていることが原因でした。

于 2015-02-27T15:36:56.273 に答える
0

同じエラー メッセージが表示されますが、ANDROID_HOME の設定は正しいです。\platforms\android\ant-build フォルダーにある .apk ファイルを開くと、エラーが発生することがわかりました。.apk ファイルを占める 7zip を閉じた後、ant ビルドは成功しました。

于 2015-01-13T09:03:43.273 に答える