Gradlew是一个脚本文件,它允许你在没有全局安装Gradle的情况下运行Gradle构建。这个脚本在多平台上可用,对于Windows系统来说是gradlew.bat文件,而对于Unix、Linux和macOS系统来说则是gradlew脚本文件。

在Android Studio中,你可以通过以下命令执行项目的构建过程:

1. `./gradlew build`:这个命令会执行项目的构建过程,包括编译代码、运行测试等。

2. `./gradlew tasks`:显示项目中所有可用的Gradle任务。

3. `./gradlew clean`:清除之前的构建输出,如编译后的类文件、JAR文件等。

4. `./gradlew assembleDebug`:可以指定要运行的具体任务,例如assembleDebug用于构建调试版本的应用。

5. `./gradlew build --offline`:在没有网络连接的情况下使用缓存中的依赖项来构建项目。

要在命令行下进入Android Studio工程目录,请执行以下操作:

1. 打开命令行工具(如Windows下的cmd或PowerShell,macOS和Linux下的Terminal)。

2. 使用`cd`命令切换到Android Studio工程目录。例如:`cd /path/to/your/android-studio-project`。

3. 在工程目录下,直接输入`./gradlew build`即可进行项目的构建过程,包括编译代码、运行测试等。但是因为它包含的内容比较多,可能在Android Studio中能编译过的项目用指令后就出错了。

```sh

#!/bin/bash

# sign_apk.sh

# 编译debug版本的apk

./gradlew :app:lintDebug

if [ $? -ne 0 ]; then

echo "Lint failed, please fix the issues identified by lint or create a baseline to see only new errors."

exit 1

fi

./gradlew :app:assembleDebug

if [ $? -ne 0 ]; then

echo "Build failed for task ':app:lintDebug'."

exit 1

fi

echo "Compiled debug version of the app successfully."

# 编译release版本的apk

./gradlew :app:lintRelease

if [ $? -ne 0 ]; then

echo "Lint failed, please fix the issues identified by lint or create a baseline to see only new errors."

exit 1

fi

./gradlew :app:assembleRelease

if [ $? -ne 0 ]; then

echo "Build failed for task ':app:lintRelease'."

exit 1

fi

echo "Compiled release version of the app successfully."

# 对apk进行签名

APK_PATH="app/build/outputs/apk/release/app-release.apk"

SIGNATURE_PATH="/Users/temp/Library/Android/sdk//build-tools/30.0.2/apksigner"

KEY_STORE_PATH="your_keystore_path"

KEY_STORE_PASSWORD="your_keystore_password"

ALIAS="your_alias"

OUT_APK="signed_app.apk"

$SIGNATURE_PATH sign --ks $KEY_STORE_PATH --ks-key-alias $ALIAS --ks-pass pass:$KEY_STORE_PASSWORD --key-pass pass:$KEY_STORE_PASSWORD --out $OUT_APK $APK_PATH

echo "Signed the app successfully and saved as $OUT_APK."

```

```bash

#!/bin/bash

ANDROID_SDK=/Users/temp/Library/Android/sdk

echo $#

function usage {

echo "$0 keystore alis pass apk"

}

if [ $# -ne 4 ]; then

usage

exit

fi

key=$1

alis=$2

pass=$3

apk=$4

echo "apksigner.jar sign --ks $key --ks-key-alias $alis --ks-pass pass:$pass --key-pass pass:$pass --out sign.apk $apk"

java -jar $ANDROID_SDK//build-tools/30.0.2/build-tools/30.0.2/apksigner sign --ks $key --ks-key-alias $alis --ks-pass pass:$pass --key-pass pass:$pass --out sign.apk $apk

```

签名文件是debug.keystore,别名是alias_name,密码是mypass,要签名的apk是app/build/intermediates/apk/debug/app-debug.apk。则对其签名命令如下:

```bash

~/Downloads/sign_apk.sh ./debug.keystore alias_name mypass .//app/build/intermediates/apk/debug/app-debug.apk

```