0

here in the Android Studio docsと同様に、Android Studioで生成されたgradleラッパーを使用してコマンドラインからAndroidアプリをビルドすることができます。 Android Studioのコマンドラインウィンドウにはこれが正確に表示されます。すなわち、gradlew assembleDebug(または同様のタスク)の呼び出しです。しかし、macOS上で端末を起動し、その正確な呼び出しでgradleラッパーを呼び出すと、他の結果、すなわちone is able to build from Android Studioor the command line、またはその両方(これは理想的ですが、残念なことに常に真ではない)のいずれかが得られることがあります。Android Studioとコマンドラインのコンパイル/ w gradlew

AndroidスタジオIDEが環境とその場所をどのように設定するか、CI環境(たとえばJenkins、Bambooなど)でこれらの設定を簡単に再現する方法、これらの設定は、Androidプロジェクトに沿ったVCSで行います。

+0

他の結果はどういう意味ですか? –

+0

他の結果は、アンドロイドスタジオまたはコマンドライン経由でビルドに失敗したことです。 – Lennert

答えて

0

プロジェクトのルートにはgradlew.batがあります。これは最初の実行方法です。このファイルを開くと、ビルドのコードとGradle以外のすべてのコードが表示されます。

コマンドラインまたはANdroid Studioのどちらをビルドしても、gradlew.batファイルが使用されます。したがって、gradlewコマンドを使用してビルドやその他の作業を行う場合は、コマンドラインからでもAndroid Studioの統合ツールからでも同じファイルを使用します。

プロジェクトルートにはgradlewgradlew.batというファイルがありますが、これはどのように動作するのかを確認することができます。通常、これらのファイルはAndroid Studioによって自動的に生成されます(独自の設定同様に、それはほとんど必要ありません)。そして、vcsにインクルードするには、ファイルが.gitnore(またはあなたが持っている拡張子を無視するvcs)にリストされていないことを確認してください。

+0

あなたの答えをありがとうが、あなたが書いたもののほとんどはすでに私の質問にあります。コマンドラインからgradleラッパーを呼び出すことは、アンドロイド・スタジオと同じではありません。ほとんどの場合、スタジオなどで設定されている環境変数が原因です。私は、同一のビルドを再現できることを正確に知りたいと思います。 SOに関するリンクされた質問をチェックして、これらの問題を抱えている他の人についても読んでください。 – Lennert

+0

@Lennert違いはありません。 'gradlew'と' gradlew.bat'を使ってGradleをAndroidアプリケーションにコンパイルします。違いはありません。もし存在すれば、それは実際にそれをどのようにして順番にどのようにコンパイルするかにあります。最初にビルドし、APKを生成してからインストールします。コマンドラインから適切にコンパイルできない場合は何も残していない – Zoe

+0

Android Studioで表示されているコマンドと同じコマンドをターミナルウィンドウに使用すると、アンドロイドスタジオで動作してもコマンドラインビルドは機能しません。私は実際のエラーは私が解決しようとしているものではないので、なぜ失敗するのかについて詳しく説明したくありません。私は、これらの問題を抱えている唯一の人ではありません。私の質問からのリンクから見ると、同じ問題を経験している人、つまりコマンドラインとAndroid Studioのビルドがまったく同じgradleコマンド(とラッパー)を使用しています。 – Lennert

関連する問題