コンパイルエラーninja:build stopped:subcommand failed Android

2968 ワード

解決策


エラー:ninja:build stopped:subcommand failed.

方法一:ヒントに従う:ulimit-c unlimited


このコマンドの詳細な説明を参照してください.https://www.cnblogs.com/qq78292959/archive/2012/05/08/2490443.html
コマンド解釈:ulimint-aは現在の各種ユーザープロセス制限Linuxを表示するために使用され、各ユーザーに対して、システムはその最大プロセス数を制限し、性能を高めるために、設備資源の状況に応じて、Linuxユーザーの最大プロセス数を設定することができる.一部は無制限に設定する必要があります:データセグメント長無制限:ulimit -d unlimited最大メモリサイズ無制限:ulimit -m unlimitedスタックサイズ無制限:ulimit -s unlimitedcoreファイルサイズ無制限:ulimit -c unlimitedcoreファイルの簡単な説明:プログラムがクラッシュした場合、指定したディレクトリの下でcoreファイルが生成されます.coreファイルは、主にデバッグに使用されるメモリマッピング(デバッグ情報も追加)にすぎません.システム内のいくつかのプログラムがエラーやcrashに遭遇した場合、システムは自動的にcoreファイルを生成してcrash時刻システム情報を記録し、プログラマが後でdebugするときに使用できるメモリとレジスタ情報を含む.これらのエラーには、セグメントエラー、不正命令、バスエラー、またはユーザ自身が生成した終了情報などが含まれ、一般的にcoreファイルは現在のフォルダに格納される.coreファイルは、エラーが発生したときに、現在のフォルダに表示されない場合があります.この原因は、現在の端末がcoreファイルをポップアップできないように設定されていることです.もう1つはcoreファイルにパスが指定されています.前者の場合、ulimitコマンドを使用してcoreファイルのサイズを設定できます.一般的にデフォルトでは、coreファイルのサイズは0に設定され、システムはcoreファイルをdumpしません.この場合、コマンド:ulimit-c unlimitedを使用して設定すると、coreファイルのサイズを無限大に設定できるとともに、unlimitedの代わりに数字を使用してcoreファイルの上限をより正確に設定することができます.

方法2、環境変数を修正する:


コマンドを入力:
export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096m"
out/host/linux-x86/bin/jack-admin kill-server
out/host/linux-x86/bin/jack-admin start-server

方法3、Jackプロファイルを修正する:


背景知識:Jackの簡単な理解:Jack serverの公式紹介について見てみましょう:Jack is a new Android toolchain that compiles Java source into Android dex bytecode.It replaces the previous Android toolchain, which consists of multiple tools, such as javac, ProGuard, jarjar, and dx. (Jackコンパイラツールは、JavaコードをAndroid dexバイトコードに変換するための新しいAndroidコンパイルツールです.)
修正済み:1)修正prebuilts/sdk/tools/jack-adminファイル、変数JACK_SERVER_VM_ARGUMENTS、パラメータ追加
-Xmx4096M
JACK_SERVER_VM_ARGUMENTS
=”${JACK_SERVER_VM_ARGUMENTS:=-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096}”

2)prebuilts/sdk/tools/jack-adminファイル、JACK_SERVER_COMMAND=“…… -cp ……” -cp前に追加
-Xmx4096m(4096m          ,           )
JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR 
$JACK_SERVER_VM_ARGUMENTS -Xmx4096m -cp $LAUNCHER_JAR $LAUNCHER_NAME"

3) prebuilts/sdk/tools/README-jack-server.md
-JACK_SERVER_VM_ARGUMENTS="-Xmx2g -Dfile.encoding=UTF-8 -XX:+TieredCompilation" jack-admin start-server
+JACK_SERVER_VM_ARGUMENTS="-Xmx4g -Dfile.encoding=UTF-8 -XX:+TieredCompilation" jack-admin start-server

——————————————————参考https://blog.csdn.net/xz10561/article/details/53886691 https://www.cnblogs.com/qq78292959/archive/2012/05/08/2490443.html https://blog.csdn.net/bobcat_kay/article/details/76564969?locationNum=10&fps=1 https://blog.csdn.net/qq_27061049/article/details/70156200