90

質問が実際に言っていることは、ビルド、パッケージ化、およびデバイスへのデプロイのために、コマンドラインを介して gradlew に直接コマンドを発行できますか?

4

9 に答える 9

100
$ gradle installDebug

これにより、デバッグ ビルド apk がデバイスにプッシュされますが、アプリケーションを手動で起動する必要があります。

于 2013-06-26T18:45:24.163 に答える
76

Gradleを使用しているため、 build.gradleに独自のタスクを簡単に追加できます

task appStart(type: Exec, dependsOn: 'installDebug') {
    // linux 
    commandLine 'adb', 'shell', 'am', 'start', '-n', 'com.example/.MyActivity'

    // windows
    // commandLine 'cmd', '/c', 'adb', 'shell', 'am', 'start', '-n', 'com.example/.MyActivity'      
}

次に、プロジェクトルートで呼び出します

$ gradle appStart

アップデート:

を使用している場合は、 appId のみapplicationIdSuffix ".debug"に追加.debugしますが、アクティビティはそのままにしておきます。

'com.example.debug/com.example.MyActivity'

于 2014-02-24T15:39:07.563 に答える
68

1. プロジェクトをビルドし、生成された apk をデバイスにインストールします

# at the root dir of project
$ gradle installDebug

2.デバイスでアプリを開く

$ adb shell am start -n yourpackagename/.activityname
于 2013-06-29T06:56:38.580 に答える
7

1 行の文:

プロジェクトをビルド & 生成された apk をインストール & デバイスでアプリを開く

$ ./gradlew installDebug && adb shell am start -n com.example/.activities.MainActivity
于 2015-01-19T15:58:21.327 に答える
7

これを行うには、次の 3 つのコマンドがあります。

  1. ./gradlew assembleDebug #To build the project

  2. adb install -r ./app/build/outputs/apk/app-debug.apk #To install it to the device

  3. adb shell am start -n $PACKAGE/$PACKAGE.$ACTIVITY #To launch the application in the deviceここで、$PACKAGE は開発パッケージ、$ACTIVITY は起動するアクティビティ (ランチャー アクティビティ) です。

これを行うための bash スクリプトを書いていますが、他のいくつかの機能があります。

于 2015-07-18T16:53:02.037 に答える
4

これを行うためのより柔軟な方法は、monkey を使用することです。

task runDebug (type: Exec, dependsOn: 'installDebug') {
    commandLine android.getAdbExe().toString(), "shell",
        "monkey",
        "-p", "your.package.name.debugsuffix",
        "-c", "android.intent.category.LAUNCHER", "1"
}

この方法の利点:

  • getAdbExeadb がパス上にある必要はなく、 で示されている sdk の adb バージョンを使用しlocal.propertiesます。
  • このmonkeyツールを使用すると、ランチャー インテントを送信できるため、アクティビティの名前を知る必要はありません。
于 2016-07-30T20:44:34.573 に答える
4

ビルド -> 古いバージョンをアンインストール -> 新しいバージョンをインストール -> アプリケーションを実行します。

echo "Build application" && ./gradlew clean build && 
echo "Uninstall application" && adb uninstall [application package] && 
echo "Install application" && adb -d install app/build/outputs/apk/<build type>/[apk name].apk echo "Run application" && 
adb shell am start -n [application package]/.[application name]

または、アプリケーションをデバッグ タイプでインストールして実行する場合。

./gradlew installDebug && adb shell am start -n [application package]/.[application name]
于 2018-05-07T10:54:27.707 に答える
2
task appStart(type: Exec, dependsOn: 'installDebug') {
    commandLine android.adbExe, 'shell', 'am', 'start', '-n', 'com.example/.MyActivity'
}
于 2016-02-26T02:45:26.870 に答える