最近在写学校的创新项目,是一个基于定位的签到系统,需要用到百度地图,百度地图SDK的使用需要申请身份,获取key值等,过程中需要提供应用的签名,下面介绍一下签名的使用。

1. 为什么要签名?

  • 发送者的身份认证
    由于开发商可能通过使用相同的 Package Name 来混淆替换已经安装的程序,以此保证签名不同的包不被替换
  • 保证信息传输的完整性
    签名对于包中的每个文件进行处理,以此确保包中内容不被替换
  • 防止交易中的抵赖发生, Market 对软件的要求
  • -

2. 签名的说明

  • 所有的应用程序都必须有数字证书, Android 系统不会安装一个没有数字证书的应用程序

  • Android 程序包使用的数字证书可以是自签名的,不需要一个权威的数字证书机构签名认证

  • 如果要正式发布一个 Android 应用,必须使用一个合适的私钥生成的数字证书来给程序签名,而不能使用 adt 插件或者 ant 工具生成的调试证书来发布

  • 数字证书都是有有效期的, Android 只是在应用程序安装的时候才会检查证书的有效期。如果程序已经安装在系统中,即使证书过期也不会影响程序的正常功能

  • 签名后需使用 zipalign 优化程序

  • Android 将数字证书用来标识应用程序的作者和在应用程序之间建立信任关系,而不是用来决定最终用户可以安装哪些应用程序


3. AndroidStudio 对APP的签名
AndroidStudio 对APP的签名 的方式至少有两种(我所知道的),下面重点 讲一下这两种签名的操作

  • 第一种:最简单的方式就是让AndroidStudio自己生成签名并且实现项目打包
    操作:
    1.点击菜单栏的build/Grenerate Signed APK
    之前没有使用过,在Key store path会是空白的,需要我们新建一个签名文件,有两种生成方法,一种是使用命令行生成,另外一种是使用androidStudio直接生成。这就是androidstudio的强大之处。简单说一下androidStudio上生成签名文件,单击Create new Key Store,跳转到下面页面:
    点击确认后会出现下面的页面

    点击next,进入项目签名

    点击finish之后,执行项目签名,执行完之后可以在项目里找到相对应生成的项目APK文件

    查看签名信息
    打开Terminal命令行窗口,输入以下命令行:keytool -list -v -keystore “C:\Users\Mr.C\AttendenceSystem.jks” 会得到以下信息:
    注释:后面引号的路径是之前生成的签名文件的路径

  • 第二种:前提是你已经有签名文件了
    操作如下:

    打开app 的build.gradle可以看到如下代码:

signingConfigs {config {keyAlias 'xxxx'keyPassword 'xxxxxx'storeFile file('xxxxxxxxxxxxxxxxxxxxxx')storePassword 'xxxxxxxxxxx'}}

接下来,做如下操作:

在回去看 app 的build.gradle文件,可以看到增加如下代码:

buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'signingConfig signingConfigs.config}debug {signingConfig signingConfigs.config}}

下次再对百度地图SDK的使用协议签总结,感觉坑挺多的

Android APP签名和签名等信息查看相关推荐

  1. 为你的android App实现自签名的ssl证书

    为你的android App实现自签名的ssl证书(https) 最近公司项目用到https的接口形式,对于一般的网络请求 我们用的是http://******      使用的是 代码用来打开一个  ...

  2. Android内存(RAM)大小信息查看、获取方法和内存分配方法

    内存信息查看 Android手机的内存大小信息存放在手机系统的 /proc/meminfo 文件里面,我们可以通过读取这个文件来获取内存信息. 使用 cmd 命令行打开终端或直接在 Android S ...

  3. Android App运行时签名校验

    有时候我们为了防止自己的应用被反编译后重新打包,不得不采取运行时进行签名校验的方式. 因为会经常用到,所以在这里整理了一下校验方式. public class SignCheck {private C ...

  4. android重签名,Android APP加固并重签名

    做app等保测评中测出APP需要加固并防止二次打包风险: 1.apk加固 免费加固平台(基础版3次):顶象~~~~https://console.dingxiang-inc.com 在任务列表中下载加 ...

  5. centos so查看_照片信息查看器app安卓下载-照片信息查看器app下载v1.1.0 安卓版

    照片信息查看器app是一款超棒的照片查看类软件.完美的帮助你查看处理照片信息内容!方便简单的操作,快速的阅读功能,支持各种文件类型格式,了解最新图片的各种参数设置! 照片信息查看器app安卓应用介绍 ...

  6. Android App Bundle

    1. Android App Bundle 是什么? 从 2021 年 8 月起,新应用需要使用 Android App Bundle 才能在 Google Play 中发布. Android App ...

  7. Android App签名(证书)校验过程源码分析

      Android App安装是需要证书支持的,我们在Eclipse或者Android Studio中开发App时,并没有注意关于证书的事,也能正确安装App.这是因为使用了默认的debug证书.在A ...

  8. 【Android安全】Android app开发者证书和代码签名机制

    参考链接: 安卓证书相关验证机制: https://duanqz.github.io/2017-09-01-Android-Digital-Signature (部分内容不准确) 关于META-INF ...

  9. android app的签名,Android APP的签名

    Android APP的签名 Android项目以它的包名作为唯一的标识,如果在同一部手机上安装两个包名相同的APP,后者就会覆盖前面安装的应用.为了避免Android APP被随意覆盖,Androi ...

  10. Android APP的签名

    Android APP的签名 Android项目以它的包名作为唯一的标识,如果在同一部手机上安装两个包名相同的APP,后者就会覆盖前面安装的应用.为了避免Android APP被随意覆盖,Androi ...

最新文章

  1. 深入理解C++中public、protected及private用法
  2. python26 调用mysql 5.1
  3. Zulip 2.0.3 发布,功能强大的群组聊天软件
  4. VTK:可视化之Glyph3DMapper
  5. vb 发送html邮件,【VB】邮件发送功能
  6. 怎么设置电脑壁纸_电脑怎么设置双屏或多屏显示?
  7. 面试必备之为什么重写equals必须重写hashcode
  8. python关键词提取源码,python实现textrank关键词提取
  9. mybatis实战教程(mybatis in action)之四:实现关联数据的查询(转)
  10. 熟练使用win7便签快捷键
  11. RT-Thread与cubemx|74HC595驱动数码管详解
  12. excel对比两顺序不同的表格
  13. 化合物相似性搜索_分子相似性的应用
  14. SQLite手机数据库
  15. WinSvr:在 Windows Server 中启用无线连接
  16. 【Unity Shader】关于Stencil的理解小记
  17. 创建新Docker容器时出现“The container name /xxx is already in use by container xxxxxxxxxxx...”问题的解决办法
  18. Git自学之路(二)- Git初始配置和基本使用
  19. 基层管理者必备的能力和素质
  20. Nginx之——负载均衡、限流、缓存、黑名单和灰度发布

热门文章

  1. IntellIdea+SpingMVC简单项目
  2. 高通Camera数字成像系统简介
  3. 5 UML views and the 9+4 UML Diagrams 关系
  4. 智慧农贸收银系统有什么功能
  5. AutoMapper源码解析
  6. Idea创建JavaEE项目
  7. Idea创建一个java项目
  8. 集合框架(一)——概述
  9. latex 分页_latex中多行表格分页问题
  10. [Math Algorithm] 拉格朗日乘数法