Android Studio签名打包的两种方式

本文介绍APP签名打包的两种方法:一是通过Android Studio图形界面完成,二是利用命令行工具实现。文章详细阐述了每一步操作流程,并解释了为什么使用特定命令的重要性。

签名打包的两种方式:

注:给我们自己开发的app签名,就代表着我自己的版权,以后要进行升级,也必须要使用相同的签名才行。签名就代表着自己的身份(即keystore),多个app可以使用同一个签名。

如果不知道签名是啥意思,请自行百度哦。在eclipse中签名的方法是:选中工程,邮件选择"export-android-export android application",

1、方式1:通过Android Studio进行签名:

选中app这个module,选择菜单栏"Build-Generate signed apk":

30d1daba-bdb4-4dde-9324-89293482a84e

弹出如下界面:

5a3058ac-cba2-44d1-84cf-b77b246bb4d1

上图中,如果你是第一次使用签名,就单击红框部分创建一个新的签名;如果你之前有过签名的文件,就选择蓝框部分进行导入即可。那我就先选择红框部分吧:

70ae6ac4-ed0b-4938-b3f5-229dba3fea29

3b69eb78-a2bc-408b-b49f-272b46b32a31

3ef16884-13b8-453f-bad5-b9dba1a667f7

f757b8aa-277b-45f0-9afd-403adc82082c

上图中,点击"finish"之后,可以看到Android Studio的最下方显示:Gradle正在执行assembleRelease这样一个任务,如下图所示:

bf6076fd-480d-48b4-bb1a-e2bfee785e5e

生成签名好的apk之后,会弹出提示:

8b42d822-e3a2-4c66-aea4-6b2b4e83fef3

77cd9b25-b0f0-4f0b-85ec-c00b4e13b61b

 

 

2、方式2:通过命令行的方式进行签名:

(1)加载Key Store:

我们先删掉上面的通过第一种方式所签名的apk文件。接下来进行第二种方式来签名,即命令行的方式。

打开Project Stucture图形化界面:

03458b6c-92b8-42be-ab1d-e2c3097570eb

d6d07e96-330b-40c6-bc22-32fc37391144

上图中,选中app这个module,然后切换到singning标签栏,紧接着点击添加,然后生成release签名信息,紧接着点击"OK"。接着做如下操作:

c638147d-7741-4c63-9d3a-0066ac959219

上图中,切换到Build Types标签,将Signing config选择为"release",即将刚刚生成的release签名信息配置进去。

操作完成之后,我们可以看到app这个module的build.gradle文件多出了如下红框部分的代码:

f59c1858-e26a-41a4-96b5-f7e32eb6c8ac

然后执行菜单栏的"build-clean Project":

a7af4c5b-23c2-4997-8d6f-47940c1a0f1c

(2)生成realease版本的apk:

紧接着在命令行Terminal输入如下命令:(AS已经将命令行Terminal集成到了软件当中)

gradlew assembleRelease

如果运行成功,效果如下:

74e21bb0-7afc-4bc6-9103-a4748f2003bf

生成的签名好的apk在如下位置:

b8f81109-cf7f-4649-a4da-a4bb91a3c96a

 

3、为什么要使用gradlew命令而不是gradle命令:

在HelloWorld工程目录下有一个gradle文件夹,在gradle/wrapper目录下有一个gradle-wrapper.properties文件,打开它:

c5bb106f-081e-40d8-816e-ea04a4814977

上图代表着HelloWorld这个工程所依赖的gradle的版本信息。上图的红线表示,如果我们的工程中没有gradle,软件会根据这个url去下载gradle,终于知道为啥第一次打开AS时会这么慢了吧?

### 如何在 Android Studio签名打包 APK 文件 #### 准备工作 确保项目配置文件 `build.gradle` 已经正确设置了应用的版本号和其他必要参数。对于大多数应用程序而言,默认设置通常已足够。 #### 配置签名信息 为了使应用程序能够在设备上正常安装以及发布至各大应用商店,必须对其进行数字签名。这一步骤可以通过两种方式进行: - **通过图形界面** 进入菜单栏中的 "Build" -> "Generate Signed Bundle / APK..." ,选择 “APK”,点击下一步。 - **编辑 build.gradle 文件手动指定签名配置** ```groovy android { ... signingConfigs { release { keyAlias 'myKeyAlias' keyPassword 'myKeyPassword' storeFile file('path/to/my/release.keystore') storePassword 'storePassword' } } } ``` #### 设置构建变体 当选择了生成带签名的 APK 后,系统会提示输入用于签署此 APK 的密钥库位置、密码以及其他细节。如果之前已经在项目的 Gradle 脚本里定义好了这些信息,则可以直接跳过这部分操作[^3]。 #### 完成打包过程 一旦所有的选项都确认无误之后,点击 Finish 来启动实际的编译和打包进程。成功后,在设定好的输出目录下将会找到名为 `app-release.apk` 的文件[^2]。 #### 确认签名模式的选择 值得注意的是,在执行上述过程中有一个重要的环节就是选择要使用的签名方案 (V1 或者 V2),建议同时启用这两种模式来保证更好的兼容性和安全性。 #### 使用 apksigner 对加固后的 APK 进行重签 如果有额外的安全需求或者经过某些第三方工具处理过的 APK 可能会被篡改破坏原有的签名有效性,这时可以利用命令行工具 `apksigner.jar` 来重新给 APK 加盖官方认证印章[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值