安卓学习LESSON3:第一次运行调试,了解KEYSTORE

建好第一个项目后,去尝试运行调试程序,遇到下述报错。
在这里插入图片描述

其中提到了一个很重要的概念 KEYSTORE。

keystore的作用
有利于程序升级:当新版程序和旧版程序的数字证书相同时,Android系统才会认为这两个程序是同一个程序的不同版本。如果新版程序和旧版程序的数字证书不相同,则Android系统认为他们是不同的程序,并产生冲突,会要求新程序更改包名。
有利于程序的模块化设计和开发:Android系统允许拥有同一个数字签名的程序运行在一个进程中,Android程序会将他们视为同一个程序。所以开发者可以将自己的程序分模块开发,而用户只需要在需要的时候下载适当的模块。
可以通过权限(permission)的方式在多个程序间共享数据和代码:Android提供了基于数字证书的权限赋予机制,应用程序可以和其他的程序共享概功能或者数据给那那些与自己拥有相同数字证书的程序。如果某个权限(permission)的protectionLevel是signature,则这个权限就只能授予那些跟该权限所在的包拥有同一个数字证书的程序。
keystore的两种模式
调试模式(debug mode):在调试模式下, Android Studio会自动的使用debug密钥为应用程序签名,因此我们可以直接运行程序。
发布模式(release mode):当要发布程序时,开发者就需要使用自己的数字证书给apk包签名。
keystore的生成
1.通过eclipse
右键项目>>>Android Tools>>>Export Signed Application Package…>>>>Next >>>>选择create new keystore 这里选择保存的地址输入两次密码>>>>填写基本信息

2.通过Android Studio
(1).点击Build ,在下拉框中选择 “Generate Signed APK”,然后填写信息即可。
在这里插入图片描述
原文:https://blog.csdn.net/jokerwangwang/article/details/78737360

我们所使用的KEYSTORE有两种模式:调试(debug),发布(release)
如果没有指定debug使用的KEYSTORE则会使用默认keystore,在 $HOME/.android/debug.keystore下。所以创建keystore后我们需要在项目里指定使用的keystore.

项目上单击右键,打开MODULE SETTINGS。在 APP-》SIGNING标签页中可以添加多个KEYSTORE信息,在BUILD TYPES标签页中可以指定项目所使用的KEYSTORE。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
参考:https://blog.csdn.net/nimasike/article/details/51457229

在我指定了我创建的KEYSTORE后,依然没有通过编译,又遇到了下述错误。
在这里插入图片描述
从文件中读取KEY失败。想到创建时填写了KEY ALIAS
在这里插入图片描述
在这里插入图片描述
上述的两个KEY ALIAS我没有匹配,正确匹配后便可以成功编译了!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42540829/article/details/85046168
今日推荐