您可以从命令行通过Gradle部署到设备

Mat*_*ton 88 android gradle gradlew android-studio

问题实际上是什么 - 您可以通过命令行直接向gradlew发出任何命令来构建,打包和部署到设备吗?

raf*_*llo 96

$ gradle installDebug
Run Code Online (Sandbox Code Playgroud)

这会将调试构建apk推送到设备,但您必须手动启动应用程序.

  • 我会说./gradlew iD而不是gradle iD (3认同)
  • 如下所示,它已被重命名为"gradle installDefaultFlavorDebug" (2认同)
  • @durka42 This is only the case if you use flavors (2认同)

kro*_*mit 75

由于您使用的是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'      
}
Run Code Online (Sandbox Code Playgroud)

然后在项目根目录中调用它

$ gradle appStart

更新:

如果您正在使用applicationIdSuffix ".debug",请添加.debugappId,但保持活动不变:

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


rps*_*pan 66

1.构建项目,将生成的apk安装到设备上

# at the root dir of project
$ gradle installDebug
Run Code Online (Sandbox Code Playgroud)

2.在设备上打开应用程序

$ adb shell am start -n yourpackagename/.activityname
Run Code Online (Sandbox Code Playgroud)

  • 别名arun ="gradle installDebug; adb shell am start -n com.example.app/.activity.MainActivity" (6认同)
  • `alias arun ="./ gradlew installDebug && adb shell am start -n com.example.package/.LauncherActivity"`#Runs step2仅当步骤1成功时 (6认同)

Joã*_*ete 6

一句话:

在设备上构建项目并安装生成的apk&Open app

$ ./gradlew installDebug && adb shell am start -n com.example/.activities.MainActivity
Run Code Online (Sandbox Code Playgroud)


ms2*_*s2r 5

有三个命令可以实现此目的:

  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脚本来执行此操作,还有其他一些功能.


小智 5

构建 -> 卸载旧版本 -> 安装新版本 -> 运行应用程序。

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]
Run Code Online (Sandbox Code Playgroud)

或者,如果您想以调试类型安装并运行应用程序。

./gradlew installDebug && adb shell am start -n [application package]/.[application name]
Run Code Online (Sandbox Code Playgroud)