通过命令行构建Android Studio应用


Answers:


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
我花了2个多小时,了解什么是从命令行运行摇篮有道
奥德雷格夫

4
我是从命令行运行的c:\path_to_my_app\gradlew.bat ./gradlew assemblyDebug,它向我展示了正在下载services.gradle.org/distributions/gradle-2.10-all.zip。它被卡在那里。我想念什么?
Saeed Neamati

您也可以使用安装应用程序./gradlew installArm7Debug。其他任务很容易找到./gradlew tasks
AndreasLøveSelvik

1
我编译了项目,并使用./gradlew assembleDebug./gradlew installDebug命令将其上传到Android设备。在AndroidStudio中,有一个控制台可以实时监视所有Android设备活动(例如,如果Android设备崩溃,则控制台会打印异常跟踪)。如何在终端上获得此监视工具?
ink0114

如何防止gradle下载->下载services.gradle.org/distributions/gradle-2.xyz-all.zip。我注意到gradle可以很好地构建android项目,但在命令行上存在代理设置问题。可以通过放置代理settigns来解决(但现在我没有特权),但我只想绕过下载程序。我该怎么办?
拉乌普

24

尝试以下操作(仅适用于OS X):

brew install homebrew/versions/gradle110
gradle build

您可以gradle tasks用来查看当前项目可用的所有任务。没有Android Studio这里需要。


4
确保首先安装了自制软件!
阿米塔夫克

1
“不需要Android Studio”-我猜除非您需要Android SDK。无论如何,我尝试构建的项目确实需要它。
hmijail哀悼辞职者

21

有两种使用Gradle构建设置构建应用程序的构建类型:一种用于调试应用程序-debug-一种用于构建最终的发行包-发行模式。

在调试模式下构建

  • 首先使用CMD导航到Android Studio项目的Root文件夹 在此处输入图片说明

  • 运行此命令 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

构建后,我找不到自动启动应用程序的任何方式
Dhaval Jivani

3
@DhavalJivani是在仿真器中启动它的,是什么意思?如果是这样,那只是简单的adb命令。您甚至可以定位要启动的特定活动。 developer.android.com/studio/command-line/adb.html
blizz

@DhavalJivani在自动化测试中测试Android应用程序的最佳方法是什么?至于网络,我们在python和node中有硒。
Harsh Manvar

9

这是完整指南的尝试

1.安装Gradle和Android SDK

要么

  • 安装这些,但您认为合适
  • 运行./gradlew,或者gradlew.bat在Windows上
    • chmod +x ./gradlew 可能是必要的

从现在开始,gradle无论您选择哪种方式,均指运行Gradle。相应地替换。

2.设置Android SDK

  • 如果您手动安装了SDK

    • export ANDROID_HOME=<install location>
    • ~/.profile如果未自动完成,则可能需要将其放入
  • 接受许可证: yes | sdkmanager

    • sdkmanager 可以在 $ANDROID_HOME/tools/bin
    • sdkmanager 可能必须以root身份运行
  • 尝试跑步 gradle

    • 如果有关于找不到许可证或SDK的投诉,请修复目录权限
      • chown -R user:group $ANDROID_HOME
      • 如果您鲁re和/或是唯一的用户: chmod 777 -R $ANDROID_HOME

3.建筑

  • gradle tasks 列出所有可以运行的任务
  • :app:[appname] 是所有任务的前缀,在构建时会在Gradle日志中看到
    • 运行任务时可以将其排除在外

一些基本任务

  • gradle assemble:构建您应用的所有变体
    • 结果.apks在 app/[appname]/build/outputs/apk/[debug/release]
  • gradle assembleDebugassembleRelease:仅构建调试或发行版本
  • gradle installDebuginstallRelease构建并安装到连接的设备
    • 已经ADB安装
    • 连接已启用USB调试和USB文件传输的设备
    • 运行adb devices,检查您的设备已列出并且设备在旁边

更改后自动构建和安装

这样避免了必须连续运行相同的命令

gradle -t --continue installDebug
  • -t:aka --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之前不要忘记添加。(DOT)


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是start -n applicationID /启动器活动的完整路径


0

请注意,您也可以在Android Studio中执行此操作,方法是单击gradle窗口,然后单击“ elephant”按钮。这将打开一个新窗口,称为“运行所有内容”(也可以通过在“随处搜索”中搜索该名称来找到),您可以在其中手动键入所需的任何gradle命令。不是“相当”命令行,但通常会提供更多信息我需要的不是Windows命令行。

这使您可以为gradle任务等提供可选参数。


-2

为所有这些答案增加价值,

成功构建后,许多人已要求在AVD中运行App的命令。

adb install -r {path-to-your-bild-folder}/{yourAppName}.apk
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.