使用Android Studio构建出来的APK文件可以有签名也可以没有签名,前面文章介绍了如何构建无签名的调试版或者发布版的APK文件的方法,这篇文章将继续介绍在Android Studio中创建签名的方法。
生成签名文件
步骤1: 选择Build菜单的Generate Signed Bundle / APK …子菜单项
在接下来的页面中选择APK选项,然后点击Next按钮
在接下来的页面中即可进行新建签名或者选择既有的签名了
步骤2: 生成新的签名
注意事项:点击Create new…按钮生成新的签名(key store)或者使用Choose existing…按钮选择所使用的Key Store是首先需要做的事情,这个页面的Key store path尽量不使用手动写入的方式以避免不必要的错误。首先点击Create new…按钮在接下来的创建新的签名的页面输入如下内容创建新的证书。
设定项 | 设定值 | 项目说明 |
---|---|---|
Key store path | keyReleaseV2.jks | 签名文件名 |
Password | liumiaocn | 密码 |
Confirm | liumiaocn | 密码确认 |
Alias | release_v2_private_key | 私钥名称 |
Password | liumiaocn | 密码 |
Confirm | liumiaocn | 密码确认 |
Validity(years) | 25 | 有效期(单位:年) |
First and Last Name | Miao Liu | 持有者姓名 |
Organizational Unit | unicorn | DN的OU设定项 |
Organization | devops | DN的O设定项 |
City or Locality | DaLian | DN的L设定项 |
State or Province | LiaoNing | DN的L设定项 |
Country Code | CN | DN的C设定项 |
点击OK页面时这些填入的信息会自动填回,同时此时此签名文件已经创建成功
liumiaocn:Demo liumiao$ pwd
/Users/liumiao/AndroidStudioProjects/Demo
liumiaocn:Demo liumiao$ ls keyReleaseV2.jks
keyReleaseV2.jks
liumiaocn:Demo liumiao$
在返回的已填入如下信息的页面,只需要点击Next即可
设定项 | 设定值 | 项目说明 |
---|---|---|
Key store path | keyReleaseV2.jks | 签名文件名 |
Key store password | liumiaocn | 签名文件密码 |
Key alias | release_v2_private_key | 私钥名称 |
Key password | liumiaocn | 私钥密码 |
然后选择签名的用途,点击Finish按钮即完成了签名的创建
同时也会开始构建应用,执行日志如下所示:
Executing tasks: [:app:assembleRelease] in project /Users/liumiao/AndroidStudioProjects/Demo
> Task :app:preBuild UP-TO-DATE
> Task :app:preReleaseBuild UP-TO-DATE
> Task :app:compileReleaseAidl NO-SOURCE
> Task :app:checkReleaseManifest UP-TO-DATE
> Task :app:compileReleaseRenderscript NO-SOURCE
> Task :app:generateReleaseBuildConfig UP-TO-DATE
> Task :app:javaPreCompileRelease UP-TO-DATE
> Task :app:mainApkListPersistenceRelease UP-TO-DATE
> Task :app:generateReleaseResValues UP-TO-DATE
> Task :app:generateReleaseResources UP-TO-DATE
> Task :app:mergeReleaseResources UP-TO-DATE
> Task :app:createReleaseCompatibleScreenManifests UP-TO-DATE
> Task :app:processReleaseManifest UP-TO-DATE
> Task :app:processReleaseResources UP-TO-DATE
> Task :app:compileReleaseJavaWithJavac UP-TO-DATE
> Task :app:compileReleaseSources UP-TO-DATE
> Task :app:prepareLintJar UP-TO-DATE
> Task :app:lintVitalRelease
> Task :app:checkReleaseDuplicateClasses UP-TO-DATE
> Task :app:transformClassesWithDexBuilderForRelease UP-TO-DATE
> Task :app:mergeExtDexRelease UP-TO-DATE
> Task :app:mergeDexRelease UP-TO-DATE
> Task :app:mergeReleaseShaders UP-TO-DATE
> Task :app:compileReleaseShaders UP-TO-DATE
> Task :app:generateReleaseAssets UP-TO-DATE
> Task :app:mergeReleaseAssets UP-TO-DATE
> Task :app:processReleaseJavaRes NO-SOURCE
> Task :app:mergeReleaseJavaResource UP-TO-DATE
> Task :app:validateSigningRelease
> Task :app:signingConfigWriterRelease
> Task :app:mergeReleaseJniLibFolders UP-TO-DATE
> Task :app:mergeReleaseNativeLibs UP-TO-DATE
> Task :app:stripReleaseDebugSymbols UP-TO-DATE
> Task :app:packageRelease
> Task :app:assembleRelease
BUILD SUCCESSFUL in 2s
26 actionable tasks: 4 executed, 22 up-to-date
生成文件的位置如下所示:
liumiaocn:Demo liumiao$ pwd
/Users/liumiao/AndroidStudioProjects/Demo
liumiaocn:Demo liumiao$ ls release/
app-release.apk output.json
liumiaocn:Demo liumiao$
来源:CSDN
作者:liumiaocn
链接:https://blog.csdn.net/liumiaocn/article/details/103578802