Android Gradle脚本打包

news/2024/5/20 2:34:12 标签: android, jvm, java, gradle

1、背景资料

1.1 Android-Gradle-Groovy-Java-JVM 之间的关系
在这里插入图片描述

1.2 Android Gradle Plugin Version版本 与 Gradle Version版本的对应关系
在这里插入图片描述

Android Gradle Plugin Version版本Gradle Version版本
1.0.0 - 1.1.32.2.1 - 2.3
1.2.0 - 1.3.12.2.1 - 2.9
1.5.02.2.1 - 2.13
2.0.0 - 2.1.22.10 - 2.13
2.1.3 - 2.2.32.14.1+
2.3.0+3.3+
3.0.0+4.1+
3.1.0+4.4+
3.2.0 - 3.2.14.6+
3.3.0 - 3.3.34.10.1+
3.4.0 - 3.4.35.1.1+
3.5.0 - 3.5.45.4.1+
3.6.0 - 3.6.45.6.4+
4.0.0+6.1.1+
4.1.0+6.5+
4.2.0+6.7.1+
7.07.0+
7.17.2+
7.27.3.3+
7.37.4+
7.47.5+
8.08.0+
8.18.0+

2、脚本代码示例

#!/bin/bash

# 定义变量
APP_NAME="leon_create_package" # 应用名称
APK_NAME="$APP_NAME-$(date +%Y%m%d%H%M%S)" # APK 文件名称


# 配置签名证书信息
KEYSTORE_FILE=E:/test_signing_key.keystore
KEY_ALIAS=testsign
STORE_PASSWORD=test20230223
KEY_PASSWORD=test20230223

# 生成APK
./gradlew assembleRelease

# 签名APK
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore $KEYSTORE_FILE app/build/outputs/apk/release/app-release-unsigned.apk $KEY_ALIAS -storepass $STORE_PASSWORD -keypass $KEY_PASSWORD

# 优化APK
zipalign -v 4 app/build/outputs/apk/release/app-release-unsigned.apk app/build/outputs/apk/release/$APK_NAME.apk


# 提示信息
echo "打包成功"

gradlew 命令说明

将该代码复制到.txt文件中,然后重命名文件为.sh文件,将.sh文件放置到项目根目录中,双击运行。
在这里插入图片描述

查看项目gradle,groovy,jvm版本信息

./gradlew -v

在这里插入图片描述

3、注意事项

3.1 Groovy配置
下载groovy
将下载的压缩文件解压到一个硬盘中
在这里插入图片描述
配置环境变量 GROOVY_HOME
在这里插入图片描述

3.2 zipalign工具环境变量配置
在这里插入图片描述

为path新增zipalign所在文件夹路径
在这里插入图片描述
3.3 JavaHome与Gradle JDK对应

例如,Gradle JDK 11对应JAVA_HOME jdk-16.0.2
在这里插入图片描述
在这里插入图片描述

例如,例如,Gradle JDK 1.8对应JAVA_HOME jdk-1.8.0_361
JDK1.8下载


http://www.niftyadmin.cn/n/91236.html

相关文章

C语言深入知识——(1)整形数据和浮点数据的存储

1、数据类型的介绍 类型的意义: 使用对应类型能开辟对应内存空间的大小(使用范围)还有C语言对待不同类型,会采用不同的内存空间视角来看待一个数据 C语言中类型的基本归类: 整型(内置类型)浮点…

传统单体架构存在哪些问题?

传统单体应用架构模型通常我们所使用的传统单体应用架构都是模块化的设计逻辑,程序在编写完成后会被打包并部署为一个具体的应用,而应用的格式则依赖于相应的应用语言和框架。例如,在网上商城系统中,Java Web工程通常会被打成WAR包…

MyBatis的补充

一、什么是MyBatisMyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain O…

Authing 入选德勤“中国明日之星”企业榜单

近日,德勤发布“德勤中国明日之星”榜单,该项目致力于发掘和表彰蓬勃成长、持续创新、积极承担社会责任的卓越企业。该榜单1995 年创立至今,被业界誉为“全球高成长企业的标杆”。Authing 凭借在 IDaaS(身份云) 领域突…

剑指 Offer 47. 礼物的最大价值

剑指 Offer 47. 礼物的最大价值 难度:middle\color{orange}{middle}middle 题目描述 在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次…

2023年全国最新会计专业技术资格精选真题及答案3

百分百题库提供会计专业技术资格考试试题、会计考试预测题、会计专业技术资格考试真题、会计证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 三、判断题 1.企业根据股东大会或类似机构审议批准的利润分配方案中确认分配的股…

git常见命令

git init &#xff1a;初始化仓库&#xff0c;将当前目录转化为 git 仓库&#xff0c;开启 git 接管 git status&#xff1a;查看当前文件状态 git status -s&#xff1a;以精简状态查看文件状态 git add <文件名&#xff1e;&#xff1a;将单个文件存入暂存区&#xff0c…

SPINAND UBI 离线烧录 开发指南

SPINAND UBI 离线烧录 开发指南 1 概述 编写目的: 介绍Sunxi SPINand 烧写时的数据布局 2 名词解释 词义UBIunsorted block imagePEBphysical erase blockLEBlogical erase block PEB 和logical block 关系 1 PEB 1 logical block 1 logical block 2 physical blocks3 总…