コマンドラインからAndroid Studioアプリをビルドする


136

Android Studioアプリ(Gradleビルドシステム)をビルドしたいのですが、コマンドラインからビルドしたいと思います。


6
たとえば、。/ gradlew AssembleRelease、。/ gradlew AssembleDebug
Gabriele Mariotti

あなたが複数のビルドバリアントを持っている場合は、./gradlew assembleYourVariantRelease行くべき
のMichałDobiDobrzański

回答:


190

Android Studio は、プロジェクトのルートにGradleラッパーを自動的に作成します。これにより、Gradleが呼び出されます。ラッパーは基本的に、実際のGradleバイナリを呼び出すスクリプトであり、Gradleを最新の状態に保つことができるため、バージョン管理の使用が簡単になります。Gradleコマンドを実行するにgradlewは、プロジェクトのルート(またはgradlew.batWindows)にあるスクリプトの後に、実行するタスクの名前を指定するだけです。たとえば、Androidアプリケーションのデバッグバージョンをビルドするに./gradlew assembleDebugは、リポジトリのルートから実行できます。デフォルトのプロジェクト設定では、結果のapkはにありますapp/build/outputs/apk/app-debug.apk。* nixマシンでは、実行さfind . -name '*.apk'れていない場合は、実行して検索することもできます。


36
コマンドラインからGradleを実行する適切な方法を理解するのに2時間以上かかりました
Oded Regev

4
これをコマンドラインから実行するc:\path_to_my_app\gradlew.bat ./gradlew assemblyDebugと、Downloading services.gradle.org/distributions/gradle-2.10-all.zipが表示されました。そして、それはそこに行き詰まっています。私は何を見逃していますか?
Saeed Neamati

でアプリをインストールすることもでき./gradlew installArm7Debugます。他のタスクは簡単に見つけることができます./gradlew tasks
AndreasLøveSelvik 2016年

1
私は、プロジェクトをコンパイルして使用してAndroidデバイスにアップロード./gradlew assembleDebugして./gradlew installDebugコマンド。AndroidStudioには、すべてのAndroidデバイスアクティビティをリアルタイムで監視するコンソールがあります(たとえば、Androidデバイスがクラッシュした場合、コンソールは例外トレースを出力します)。端末でこの監視機能を取得するにはどうすればよいですか?
mercury0114 2017

Gradleがダウンロードできないようにする方法->ダウンロードservices.gradle.org/distributions/gradle-2.xyz-all.zip。私はgradleがandroidプロジェクトをうまくビルドしていることに気付きましたが、コマンドラインでプロキシ設定の問題があります。プロキシ設定を置くことで解決できます(ただし、現在のところその特権はありません)が、ダウンロードをバイパスしたいだけです。どうすればよいですか?
Raulp、2018

24

これを試してください(OS Xのみ):

brew install homebrew/versions/gradle110
gradle build

を使用gradle tasksして、現在のプロジェクトで使用可能なすべてのタスクを表示できます。Android Studioここでは必要ありません。


4
初めに自作がインストールされていることを確認してください!
amitavk 2015

1
「Android Studioは必要ありません」-私が推測するAndroid SDKが必要でない限り。とにかく、私が構築しようとしているプロジェクトはそれを求めています。
hmijailが辞任者を悼む2017

21

Gradleビルド設定を使用してアプリケーションをビルドするには、2つのビルドタイプがあります。1つはアプリケーションをデバッグするためのデバッグ、もう1つはリリース用の最終パッケージをビルドするためのリリースモードです。

デバッグモードでのビルド

  • まず、CMDを使用してAndroid Studioプロジェクトのルートフォルダーに移動します ここに画像の説明を入力してください

  • このコマンドgradlew.bat AssembleDebugを実行します

  • 出力ウィンドウは次のようになります ここに画像の説明を入力してください

リリースモードで署名済みAPKをビルドする

  • build.gradleファイルを編集して、プロジェクトをリリースモードでビルドします。

    android {
    ...
    defaultConfig { ... }
    signingConfigs {
        release {
            storeFile file("myreleasekey.keystore")
            storePassword "password"
            keyAlias "MyReleaseKey"
            keyPassword "password"
        }
    }
    buildTypes {
        release {
            ...
            signingConfig signingConfigs.release
        }
    }}
    

ここに画像の説明を入力してください

  • このコマンドを実行しますgradlew.bat AssembleRelease

完了です。幸運を祈ります!


2
ビルドが成功した後にアプリを自動起動する方法はありますか?
Ambar Jain 2017年

ビルド後にアプリを自動起動する方法が見つからない
Dhaval Jivani '27年

3
@DhavalJivaniはエミュレーターでそれを起動しますか?もしそうなら、それは単純なadbコマンドです。特定のアクティビティをターゲットにして起動することもできます。 developer.android.com/studio/command-line/adb.html
blizz '18

@DhavalJivani自動化テストでAndroidアプリをテストする最良の方法は何ですか?ウェブに関しては、Pythonとノードにセレンがあります。
Harsh Manvar

9

これは完全なガイドでの試みです

1. GradleとAndroid SDKをインストールする

どちらか

  • これらをインストールしてください
  • 実行./gradlew、またはgradlew.batWindowsの場合
    • chmod +x ./gradlew 必要かもしれません

この時点以降、gradle選択した方法でGradleを実行することを指します。適宜置き換えてください。

2. Android SDKをセットアップする

  • SDKを手動でインストールした場合

    • export ANDROID_HOME=<install location>
    • ~/.profileそれが自動的に行われない場合は、それをあなたの中に入れたいかもしれません
  • ライセンスに同意します。 yes | sdkmanager

    • sdkmanager で見つけることができます $ANDROID_HOME/tools/bin
    • sdkmanager ルートとして実行する必要があるかもしれません
  • 実行してみてください gradle

    • ライセンスまたはSDKが見つからないという苦情がある場合は、ディレクトリの権限を修正してください
      • chown -R user:group $ANDROID_HOME
      • あなたが無謀であるか、または唯一のユーザーである場合: chmod 777 -R $ANDROID_HOME

3.構築

  • gradle tasks 実行可能なすべてのタスクをリストします
  • :app:[appname] すべてのタスクのプレフィックスであり、ビルド時にGradleログに表示されます
    • これは、タスクの実行時に除外できます

いくつかの重要なタスク

  • gradle assemble:アプリのすべてのバリアントを作成する
    • 結果の.apksは app/[appname]/build/outputs/apk/[debug/release]
  • gradle assembleDebug または assembleRelease:デバッグバージョンまたはリリースバージョンのみをビルドします
  • gradle installDebug または installReleaseビルドして接続されたデバイスにインストールする
    • adbを持っているインストールさ
    • USBデバッグとUSBファイル転送が有効なデバイスを接続する
    • を実行しadb devices、デバイスがリストされ、デバイスがその横にあることを確認します

変更時に自動的にビルドしてインストールする

これにより、同じコマンドを継続的に実行する必要がなくなります

gradle -t --continue installDebug
  • -t:別名--continuous、ファイルが変更された後にタスクを自動的に再実行します
  • --continue:エラー後も続行します。エラー発生時の停止を防止

gradle -h助けを求めて走る


8

あなたもそれをインストールしたいので、あなたはおそらくここにいます!

ビルド

gradlew

(Windowsの場合gradlew.bat

次にインストールします

adb install -r exampleApp.apk

(これ-rにより、既存のコピーが置き換え-sられ、エミュレーターにインストールする場合は追加されます)

ボーナス

にエイリアスを設定し~/.bash_profileて、2charコマンドにしました。

alias bi="gradlew && adb install -r exampleApp.apk"

(ビルドとインストールの略)


7

LinuxでAndroid StudioプロジェクトのコマンドラインからGradleを実行するためのチートシート:

cd <project-root>
./gradlew
./gradlew tasks
./gradlew --help

始めましょう。


3

Macの場合、このコマンドを使用します

  ./gradlew task-name

1

MACユーザーのみ

Vjiの答えを拡張する。

ステップバイステップの手順:

  1. オープンターミナル
  2. ディレクトリをプロジェクトに変更します(cd PathOfYourProject)
  3. このコマンドをコピーして貼り付け、Enterキーを押します。

    chmod +x gradlew
    
  4. Vjiが提案さ:

    ./gradlew task-name
    

    / gradlewの前に(ドット)を追加することを忘れないでください


1

公式ドキュメントはこちら:

デバッグAPKをビルドするには、コマンドラインを開き、プロジェクトディレクトリのルートに移動します。デバッグビルドを開始するには、assembleDebugタスクを呼び出します。

gradlew assembleDebug

これにより、という名前のAPKが作成さmodule_name-debug.apkproject_name/module_name/build/outputs/apk/ます。


0

enter code here以下のgradleとadbコマンドでスクリプトファイルを作成し、スクリプトファイルを実行します

./gradlew clean

./gradlew AssembleDebug ./gradlew installDebug

adb shell am start -n applicationID /ランチャーアクティビティの完全パス


0

Android Studio内で、gradleウィンドウをクリックしてから[elephant]ボタンをクリックすることによってもこれを行うことができます。これにより、「何でも実行」という名前の新しいウィンドウが開きます(「search everywhere」でその名前を検索して見つけることもできます)。必要なGradleコマンドを手動で入力できます。「quit」コマンドラインではありませんが、多くの場合、 Windowsコマンドラインよりも必要なものの。

これにより、オプションのパラメーターをGradleタスクなどに与えることができます。


-2

これらすべての答えに価値を追加し、

多くの人が、ビルドが成功した後にAVDでアプリを実行するコマンドを要求しています。

adb install -r {path-to-your-bild-folder}/{yourAppName}.apk
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.