如何优雅的给你的APK文件打上签名
Posted 姓chen的大键哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何优雅的给你的APK文件打上签名相关的知识,希望对你有一定的参考价值。
原文链接:如何优雅的给你的APK文件打上签名
历经千兴万苦开发android应用后,将这个应用打包成APK文件发布到应用商店就可以让用户下载安装到他们的手机上。当然,不是所有的APK都能安装到手机上,Android系统要求只有签名后的APK文件才可以安装,因此我们还需要对生成的APK文件进行签名才行。
在开发时,Android Studio使用了一个默认的keystore文件帮我们自动进行了签名,点击Android Studio右侧工具栏的Gradle→项目名→:app→Tasks→android,双击signingReport,结果如下:
通过通过Android Studio来运行的程序都是使用了这个debug.keystore文件来进行签名的,所以开发的应用程序能直接安装在模拟器上或是测试用机上,但对于要正式发布的Android应用来说,用正式的keystore文件来签名才显得得体(一本正经的胡说八道)
说到这里,那么如何给你的APK文件来个优雅的签名?
用吃饭家伙签名(Android Studio)
既然Android Studio能使用默认的keystore文件自动给APK文件签名,那它也可以用来生成正式的keystore文件来给APK文件签名。
点击Android Studio导航栏上的Build→Generate Signed Bundle/APK,选择APK选项,点击OK,则会弹出下面的对话框:
还没有正式的keystore文件,点击Create new按钮,会弹出新的对话框,然后在这个对话框填写必要信息就可以了
在Validity那一栏填写的是keystore文件的有效时长,单位是年,一般建议时间可以填得长一些。
完成之后点击OK,回到上层对话框,刚才填写的信息会填充到创建签名APK的对话框中。点击Next,会出现下面的对话框:
选择APK输出目录以及Build Version,点击Finish就可以了,等一会就可以在输出目录下找到这个APK文件,这个APK文件就是带有正式签名的。
还是用吃饭家伙签名(Gradle)
Android Studio很强大,可以帮我们给APK签名,当然,Gradle也可以这么做,要用Gradle生成带有正式签名的APK文件需要在app/build.gradle文件中的android闭包中添加如下内容:
android
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig
applicationId "cn.chenjianlink.android.coolweather"
minSdkVersion 23
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
signingConfigs
config
storeFile file('C:/Users/Administrator/Documents/chenjian.jks')
storePassword '123456'
keyAlias 'chenjiandev'
keyPassword '123456'
buildTypes
release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
- 在android闭包中添加了一个signingConfigs闭包,然后在signingConfigs闭包中又添加了一个config闭包。接着在config闭包中配置keystore文件的各种信息,storeFile用于指定keystore文件的位置,storePassword用于指定密码,keyAlias用于指定别名,keyPassword用于指定别名密码。
- 在buildTypes下面的release闭包中应用了刚才添加的签名配置,这样当生成正式版APK文件的时候就会自动使用刚才配置的签名信息来进行签名了
build.gradle文件已经配置完成,接下来点击右侧工具栏的Gradle→项目名→:app→Tasks→build
assembleDebug用于生成测试版的APK文件,assembleRelease用于生成正式版的APK文件,assemble用于同时生成测试版和正式版的APK文件。在生成APK之前,先要双击clean这个Task来清理一下当前项目,然后双击assembleRelease,这样APK文件会自动生成在app/build/outputs/apk目录下
目前keystore文件的所有信息都是以明文的形式直接配置在build.gradle中的,这样就不太安全。Android推荐的做法是将这类敏感数据配置在一个独立的文件里面,然后再在build.gradle中去读取这些数据。Android Studio项目的根目录下有一个gradle.properties文件,它是专门用来配置全局键值对数据的,将相关信息写入这个文件中,然后在build.gradle文件中引用
KEY_PATH=C:/Users/Administrator/Documents/chenjian.jks
KEY_PASS=123456
ALIAS_NAME=chenjiandev
ALIAS_PASS=123456
android
...
signingConfigs
config
storeFile file(KEY_PATH)
storePassword KEY_PASS
keyAlias ALIAS_NAME
keyPassword ALIAS_PASS
...
以上是关于如何优雅的给你的APK文件打上签名的主要内容,如果未能解决你的问题,请参考以下文章
过分了,别人用来做桌面应用开发,这家伙却用来撩妹-不正经的隐形弹窗
过分了,别人用来做桌面应用开发,这家伙却用来撩妹-不正经的隐形弹窗