你能走多远,取决于见识。 — 《见识》
写在前面
以前对Application签名模棱两可,不知道是干嘛的,也不知道怎么创建签名文件,更不知道怎么使用,太失败了。所以昨天晚上就看了一下Application签名,简单理解签名就是为了确保Application的安全性,以及防止第三方篡改Application,我们在编译apk时,为apk写入一个“指纹”,假如第三方篡改了我们的apk,这个指纹就会失效,这时安装到手机时检测到失效签名就会安装失败。
接下来就记录下签名的创建和使用方式,我的Android Stuidio版本是3.2.1。
创建签名
1. Build -> Generate Signed Bundle or APK
可以选择Android App Bundle和Apk,为其之一创建/选择签名,接下来点击Next。
2. Next 下一步
下图是我的项目已经有了签名的示例,既可以创建新签名,也可以选择已有签名。
Module:大家都知道是啥,不过多解释;
Key store path:签名文件路径;
Key store password:签名文件密码;
Key alias:签名的别名;
Key password:当前别名的签名的密码;
3. Create new... 创建新签名
点击Create new... 会进入到New Key Store创建新签名,依次填写好就点击OK。
Key store path:签名文件路径;
Key store password:签名文件密码;
Alias:签名的别名;
Password:当前别名的签名的密码;
Validity(yeasrs):签名失效时间,默认25年;
First and Last Name:姓名
Origanizational Unit:组织单位
Origanizational:组织(个人还是研发团队)
City or Locality:城市或地区
State or Province:州或省
Country Code(XX):国家代码
4. 回到初始页
签名创建好之后,会自动回到初始页,并默认选择刚刚创建好的签名文件,接下来点击Next。
5. 选择buildType:
最后一步选择签名文件用于的buildType,选择好之后点击Finish即可。
添加签名
1. 通过代码添加签名
打开build.gradle文件,注意打开的不是Project的build.gradle,是module的build.gradle文件,然后在文件中添加图中蓝色部分代码,然后点击Sync Now即可,如果出现报错的情况请检测签名信息是否正确。
2. 通过图形化添加签名
图形化界面的出现必然是有一定道理的,能够大大提高开发者的工作效率,所以省去了敲代码的烦恼。
- File -> Project Structure 打开:
默认选择Properties项,我们手动来选择Signing项,然后就能看到如图界面,将签名文件信息依次填入后点击OK就好了。
- 打开 build.gradle 文件:
等Gradle build完成,进入build.gradle文件即可看到配置签名代码,这是编译器自动为我们添加的,方便了很多不是。
使用签名
View -> Tool Windows -> Build Variants打开:
这里可以设置编译的apk的buildType,我们都知道编译器默认的buildType都是debug,如果想要编译release版本的apk,就切换buildType为release。
例如我们在Generate Signed Bundle or APK中选择的buildType是release,那么这里的buildType就要修改为release,这样在编译时才能将签名写入。
写在最后
就我个人来说,以前有些浮躁,无论生活中还工作中,不善于思考和总结,也不会制定计划,每天都有忙不完的事情,总觉得时间不够用。现在能够静下心来发现身边的美好了,这都取决于思考和自律,首先要让脑子转起来,其次我想说人一旦自律起来是真的可怕,和周围的同龄人格格不入。开发了几年Android Application却连签名这种东西都没有搞懂,这就是浮躁带给我的后果。所以奉劝大家,在这个快节奏的时代,我们并不是只有工作可忙,幸福感来源于我们的内心,而不是经济,偶尔让自己静下来,想想自己做过的事,走过的路,吃过的美食,就会发现生活不止眼前的苟且。