赞
踩
在本篇文章您将了解到两种生成正式签名的APK文件,当然还会了解到gradle build
与 gradle assemble
的区别。
首先需要了解的是并不是所有的APK文件都能成功安装在手机上,能够安装在Android手机上的应用都是带有签名的。可能有小伙伴有疑惑了:为什么通过Android Studio运行生成的应用程序好像没有进行过签名啊?那是因为,Android Studio 使用了一个默认的 keystore
文件帮我们自动进行了签名,可以在 Android Studio 中看到:
Gradle 面板——Tasks——android——signingReport,双击 signingReport,在控制台可以看到keystore 信息。
这就说明我们通过 Android Studio 运行的程序使用的都是这个 debug.keystore 文件来进行签名。
如果要想上架到应用商店,需要生成正式签名的 APK,那么问题来了,如何生成正式签名的APK 呢?本文将分享两种方法:
点击 Android Studio 导航栏上的 Build——Generate signed APK ——选择APK——填写如下内容。如果没有 jks 文件的话,点击 Create new 即可生成新的。
其中 Validity(years)代表的是有效时长。具体信息可以添加如下内容
配置好信息之后,点击下一步选择release即可。
当点击Create后,右下角会有一个提示框:APK(s) generated successfully。当我们运行demo生成release版本时,该demo就是一个带有正式签名的APK文件。
在 testapp2 项目下的 build.gradle
文件中添加signingconfigs闭包
,并在release闭包中使用。signingconfigs闭包中添加了一个config闭包
,其中配置了keystore
文件的各种信息,其中,storeFile
用于指定keystore文件的位置(文件必须已存在);storePassword
用于指定密码,keyAlias
用于指定别名,keyPassword
用于指定别名密码。
android { namespace 'com.example.testapp2' compileSdk 34 defaultConfig { # 此处省略 } signingConfigs { config { storeFile file('/Users/zeng/zeng.jks') storePassword '123456' keyAlias 'Zeng' keyPassword '123456' } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' signingConfig signingConfigs.config } }
因为我们在 buildTypes下面的 release 闭包中应用了添加的签名配置,这样当生成正式版APK文件的时候就会自动使用配置的签名信息来进行签名。赶紧生成一个带有签名的 APK 试试吧。运行下面的命令生成 apk。
gradlew :testapp2:assembleRelease
#或者
gradlew :testapp2:build
#或者
gradlew :testapp2:assemble
可能小伙伴又有疑问了?gradlew build
与 gradlew assemble
有什么区别。
相同点:
两者在执行命令后,都会生成debug和release包。
不同点:
gradlew build
:是一个通用的构建命令,将执行项目的整体构建过程。会编译源代码,运行单元测试,处理器资源文件,最终生成可运行的应用程序包。gradlew assemble
: 用于执行构建过程的部分步骤,主要是打包生成可执行文件(如APK)。与 gradlew build 不同,gradlew assemble只执行构建过程的部分流程,跳过了编译源代码和运行单元测试等步骤。它可以指定特定的构建变体,例如 gradlew assembleDebug 或 gradlew assembleRelease ,来单独构建指定的变体而非构建所有变体。别忘记一键三连哦
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。