制作apk签名文档_第1页
制作apk签名文档_第2页
制作apk签名文档_第3页
制作apk签名文档_第4页
制作apk签名文档_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 签名的意义签名的意义 为了保证每个应用程序开发商合法 ID 防止部分开放商可能通过使用相同的 Package Name 来混淆替换已经安装的程序 我们需要对我们发布的 APK 文件进行唯一签名 保证我 们每次发布的版本的一致性 如自动更新不会因为版本不一致而无法安装 2 签名的步骤签名的步骤 a 创建 key b 使用步骤 a 中产生的 key 对 apk 签名 3 具体操作具体操作 方法一 方法一 命令行下对命令行下对apk签名 原理 签名 原理 创建 key 需要用到 keytool exe 位于 jdk1 6 0 24 jre bin 目录下 使用产生的 key 对 apk 签名用到的是 jarsigner exe 位于 jdk1 6 0 24 bin 目录下 把上两个软件所 在的目录添加到环境变量 path 后 打开 cmd 输入 view sourceprint D keytool genkey alias demo keystore keyalg RSA validity 40000 keystore demo keystore 说明 genkey 产生密钥 alias demo keystore 别名 demo keystore keyalg RSA 使用 RSA 算法对签名加密 validity 40000 有效期限4000天 keystore demo keystore D jarsigner verbose keystore demo keystore signedjar demo signed apk demo apk demo keystore 说明 verbose 输出签名的详细信息 keystore demo keystore 密钥库位置 signedjar demor signed apk demo apk demo keystore 正式签名 三个参数 中依次为签名后产生的文件 demo signed 要签名的文件 demo apk 和密钥库 demo keystore 注意事项 android 工程的 bin 目录下的 demo apk 默认是已经使用 debug 用户签名 的 所以不能使用上述步骤对此文件再次签名 正确步骤应该是 在工程点击右键 Anroid Tools Export Unsigned Application Package 导出的 apk 采用上述步骤签名 方法二 使用方法二 使用Eclipse导出带签名的导出带签名的apk Eclipse 直接能导出带签名的最终 apk 非常方便 推荐使用 步骤如下 第一步 导出 第二步 创建密钥库 keystore 输入密钥库导出位置和密码 记住密码 下次 Use existing keystore 会用到 第三步 填写密钥库信息 填写一些 apk 文件的密码 使用期限和组织单位的信息 第四步 生成带签名的 apk 文件 到此就结束了 第五步 如果下次发布版本的时候 使用前面生成的 keystore 再签名 第六步 Next Next 结束 方法三 使用方法三 使用IntelliJ IDEA导出带签名的导出带签名的apk 方法步骤基本和 Eclipse 相同 大概操作路径是 菜单 Tools Andrdoid Export signed apk 4 签名之后 用签名之后 用 zipalign 压缩对齐压缩对齐 优化你的优化你的 APK 文件 文件 未签名的 apk 不能使用 也不能优化 签名之后的 apk 谷歌推荐使用 zipalign exe 位 于 android sdk windows tools 目录下 工具对其优化 view sourceprint D zipalign v 4 demo signed apk final apk 如上 zipalign 能够使 apk 文件中未压缩的数据在4个字节边界上对齐 4个字节是一个 性能很好的值 这样 android 系统就可以使用 mmap 请自行查阅这个函数的用途 函数 读取文件 可以在读取资源上获得较高的性能 PS 1 在4个字节边界上对齐的意思就是 一般来说 是指编译器吧4个字节作为一个单位 来进行读取的结果 这样的话 CPU 能够对变量进行高效 快速的访问 较之前不对齐 2 对齐的根源 android 系统中的 Davlik 虚拟机使用自己专有的格式 DEX DEX 的结构是紧凑的 为了让运行时的性能更好 可以进一步用 对齐 进一步优化 但是大小一般 会有所增加 5 签名对你的签名对你的 App 的影响 的影响 你不可能只做一个 APP 你可能有一个宏伟的战略工程 想要在生活 服务 游戏 系 统各个领域都想插足的话 你不可能只做一个 APP 谷歌建议你把你所有的 APP 都使用同一 个签名证书 使用你自己的同一个签名证书 就没有人能够覆盖你的应用程序 即使包名相同 所以 影响有 1 App升级 使用相同签名的升级软件可以正常覆盖老版本的软件 否则系统比较发现 新版本的签名证书和老版本的签名证书不一致 不会允许新版本安装成功的 2 App模块化 android 系统允许具有相同的 App 运行在同一个进程中 如果运行在同 一个进程中 则他们相当于同一个 App 但是你可以单独对他们升级更新 这是一种 App 级 别的模块化思路 3 允许代码和数据共享 android 中提供了一个基于签名的 Permission 标签 通过允 许的设置 我们可以实现对不同 App 之间的访问和共享 如下 view sourceprint AndroidManifest xml 其中 protectionLevel 标签有 4 种值 normal 缺省值 dangerous signature signatureOrSystem 简 单来说 normal 是低风险的 所有的 App 不能访问和共享此 App dangerous 是高风险的 所 有的 App 都能访问和共享此 App signature 是指具有相同签名的 App 可以访问和共享此 App signatureOrSystem 是指系统 image 中 App 和具有相同签名的 App 可以访问和共享此 App 谷歌建议不要使用这个选项 因为签名就足够了 一般这个许可会被用在在一个 image 中需要共享一些特定的功能的情况下 以下是关于软件更新的 更

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论