详解Android Studio正式签名进行调试的实现步骤

 更新时间:2017年07月10日 09:58:36   投稿:lqh  
这篇文章主要介绍了详解Android Studio正式签名进行调试的实现步骤的相关资料,需要的朋友可以参考下

详解Android Studio正式签名进行调试的实现步骤

在Android Studio中,可以使用Gradle进行打包时自动签名。其实Android Studio默认会给调试应用加上Debug签名,但有时候调一些第三方SDK时,需要正式签名才能调起来,所以接下来分享一下使用Gradle自动签名的方法。

一、创建签名文件

打开AS,选择Build->Generate Signed APK,选择要打包的项目,点击Next,再点击Create new...创建签名文件


填写签名文件响应信息,如下所示,Password、Key-Alias、Key-Password这三个值需要记住,然后点击OK,完成创建。


完成之后,在相应路径生成一个jks签名文件。如果选择手动再进行打包,就可以选择该签名文件,然后对应填入密码与别名,进行签名,也可以。


二、配置Gradle自动打包

拷贝签名文件到主工程根目录,打开主工程的build.gradle文件,在android节点下,增加以下内容:

signingConfigs { 
  release { 
   storeFile file('keystore.jks') 
   storePassword '123456' 
   keyAlias 'yyh' 
   keyPassword '123456' 
  } 
 } 
 
 buildTypes { 
  release { 
   minifyEnabled false 
   proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
   signingConfig signingConfigs.release 
  } 
 
  debug { 
   signingConfig signingConfigs.release 
  } 
 } 

    storeFile file:签名文件,如果放在其他路径,需要对应修改

    storePassword:密码(刚才填的第一个密码)

    keyAlias:别名

    keyPassword:别名密码

然后重新build一下工程,展开右边栏Gradle选项卡,如下所示:


assembleRelease,即为正式签名。双击assembleRelease,则会开始执行命令:

执行完毕可以看到BUILD SUCCESSFUL,说明正式签名打包成功了。展开工程的build文件夹,可发现有app-release.apk,即为正式版本。


下次直接run起来的时候,就带正式签名了。这可比手动签名省事多啦~~

当然,为了提高安全性,我们还可以把那四个属性作为变量配置在主工程的gradle.propreties,然后在build.gradle引用变量就可以了。如下:



这样也能起到同样的效果。

三、应用程序签名的意义

(1)保障开发者的合法权益

在我们对应用程序进行打包签名后,即表示此应用程序是签名人或机构所开发的,对此应用程序具有所有权。

(2)预防应用程序替换

应用程序签名可以防止部分人通过使用相同的Package Name来混淆替换已经安装的程序,从而出现一些恶意篡改。APK如果使用一个key签名,发布时另一个key签名的文件将无法安装或覆盖老的版本,这样可以防止你已安装的应用被恶意的第三方覆盖或替换掉。实际上就是一种标识。

(3)保证应用程序版本的一致性

一般应用程序都会有更新,即版本的升级。如果应用程序的签名不一致,是无法进行更新替代的。所以应用程序的签名是保证当前应用程序顺利进行更新安装的前提。

(4)可以通过权限(permission)的方式在多个程序间共享数据和代码

Android提供了基于数字证书的权限赋予机制,应用程序可以和其他的程序共享概功能或者数据给那那些与自己拥有相同数字证书的程序。如果某个权限(permission)的protectionLevel是signature,则这个权限就只能授予那些跟该权限所在的包拥有同一个数字证书的程序。另一方面,Android系统允许拥有同一个数字签名的程序运行在一个进程中,Android程序会将他们视为同一个程序。所以开发者可以将自己的程序分模块开发,而用户只需要在需要的时候下载适当的模块。

以上就是Android Studio正式签名进行调试的实现步骤的讲解,如何大家有什么疑问可以留言讨论!感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • Android中的JSON详细总结

    Android中的JSON详细总结

    一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换
    2013-01-01
  • Android Studio如何查看源码并调试的方法步骤

    Android Studio如何查看源码并调试的方法步骤

    这篇文章主要介绍了Android Studio如何查看源码并调试的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Android使用ContentProvider实现跨进程通讯示例详解

    Android使用ContentProvider实现跨进程通讯示例详解

    这篇文章主要为大家介绍了Android使用ContentProvider实现跨进程通讯示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • 详解Flutter手游操纵杆移动的原理与实现

    详解Flutter手游操纵杆移动的原理与实现

    这篇文章将为大家详细介绍一下Android Flutter手游中操纵杆移动角色的原理与实现过程,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-07-07
  • Android实现底部支付弹窗效果

    Android实现底部支付弹窗效果

    这篇文章主要为大家详细介绍了Android实现底部支付弹窗效果的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • Android ListView组件详解及示例代码

    Android ListView组件详解及示例代码

    本文主要介绍Android ListView,这里整理了ListView 组件的资料,并附示例代码和实现效果图,有需要的朋友可以参考下
    2016-08-08
  • Android中的广播(BroadCast)详细介绍

    Android中的广播(BroadCast)详细介绍

    这篇文章主要介绍了Android中的广播(BroadCast)详细介绍,本文讲解了什么是广播、广播有什么用、实现广播、动态注册方式、配置文件方式等内容,需要的朋友可以参考下
    2015-03-03
  • Android实现一周时间早中晚排班表

    Android实现一周时间早中晚排班表

    项目需求需要实现一个动态添加,修改一周早中晚时间排班表,文章给大家提供了实现代码,需要的朋友参考下吧
    2018-07-07
  • 解析Kotlin JSON格式

    解析Kotlin JSON格式

    这篇文章主要介绍了Kotlin JSON格式解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • Android获取双卡双待手机的SIM卡信息示例代码

    Android获取双卡双待手机的SIM卡信息示例代码

    这篇文章主要给大家介绍了关于Android获取双卡双待手机的SIM卡信息的相关资料,文中通过示例代码介绍的非常详细,对各位Android开发者们具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11

最新评论