如果我们在ADT中开发完了一个android项目,如何将它打包呢?方法如下:

1、unsigned APP(无签名的APP)

最懒惰的方法,可以直接在项目的bin目录下直接将apk拷贝出来,就ok了。

2、signed APP(唯一签名的APP)

有必要说一下为什么要使用签名的APP。试想你开发了一个名为robot.apk的项目,将它发布到了android应用商店供用户下载使用。第二天,一个你不认识的开发人员也开发了一个名为robot.apk的项目,将它发布到了应用商店。此时问题就出现了,因为你们的APP名称相同,所以他的APP将你发布的APP给覆盖掉了,从今以后用户在应用商店下载的名为robot的APP都不是你开发的,而是他后开发的那个。

所谓签名,就是给APP加了一个唯一的密码。这样的情况下,第二天那个人发布他的robot.apk的时候,应用商店发现当前已经有一个同名的apk存在,就要求他输入这个唯一的签名,只有输对了这个密码,才会让他继续发布这个APP并覆盖掉之前你发布的APP,否则,他只有将他的APP改名称再发布。签名保证了你的APP的安全性!

签名操作其实很简单,在ADT下选中需要打包的项目,右键-》Android Tools-》Export Signed APP-》跳出Project checks界面,确认要打包的项目,直接next-》跳出keystore selection界面(keystore其实是一个文件,是用来存放你的签名的,但这个文件也是加密的,保护你的签名不被别人看到),选择create new keystore,选择存放目录并输入密码对keystore加密,点击next-》key creation界面,这个就是为你的apk添加签名的界面了!!!输入你的Alias,password,valid years,以及其他信息,next-》设置apk存放目录-》finish,完成签名!

请大家多多指正!共同进步!!!

apk签名发布及其原理的更多相关文章

  1. APK签名原理

    网上已有多篇分析签名的类似文章,但是都有一个共同的问题,就是概念混乱,混乱的一塌糊涂. 在了解APK签名原理之前,首先澄清几个概念: 消息摘要 -Message Digest 简称摘要,请看英文翻译, ...

  2. Android 发布Apk签名

    1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本 ...

  3. [转]Android APK签名原理及方法

    准备知识:数据摘要 这个知识点很好理解,百度百科即可,其实他也是一种算法,就是对一个数据源进行一个算法之后得到一个摘要,也叫作数据指纹,不同的数据源,数据指纹肯定不一样,就和人一样. 消息摘要算法(M ...

  4. apk签名原理及实现

    发布过Android应用的朋友们应该都知道,Android APK的发布是需要签名的.签名机制在Android应用和框架中有着十分重要的作用. 例如,Android系统禁止更新安装签名不一致的APK: ...

  5. eclipse将android项目生成apk并且给apk签名

    转载:http://www.cnblogs.com/tianguook/archive/2012/09/27/2705724.html 生成apk最懒惰的方法是:只要你运行过android项目,到工作 ...

  6. 关于APK签名的一些东西

    什么是APK 了解APK签名之前,首先要知道什么是apk文件:APK是AndroidPackage的缩写,即Android安装包(apk),APK文件其实就是zip格式的文件,只是后缀被改为了apk, ...

  7. 为App签名(为apk签名)

    为App签名(为apk签名) 原文地址 这篇文章是Android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用. 1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开放商 ...

  8. Android学习系列(1)--为App签名(为apk签名)

    写博客是一种快乐,前提是你有所写,与人分享,是另一种快乐,前提是你有舞台展示,博客园就是这样的舞台.这篇文章是android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用. 1.签 ...

  9. 【转】Android学习系列(1)--为App签名(为apk签名)

    原文网址:http://www.cnblogs.com/qianxudetianxia/archive/2011/04/09/2010468.html 写博客是一种快乐,前提是你有所写,与人分享,是另 ...

随机推荐

  1. Hibernate的执行流程

    Hibernate框架的工作流程 1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件 2.由hibernate.cfg.xml中的&l ...

  2. element ui 登录验证,路由守卫

    <template> <!-- el-form :label-position="labelPosition" 设置label的位置 :model 用来给表单设置 ...

  3. python第三课--函数

    函数的作用 编程大师Martin Fowler先生曾经说过:“代码有很多种坏味道,重复是最坏的一种!”,要写出高质量的代码首先要解决的就是重复代码的问题.例如3次求阶乘: m = int(input( ...

  4. 使用rpm安装指定版本的docker(1.12.6)

    一.原因 如果系统是Centos7.3,直接使用yum install docker安装的docker版本是1.13.1,导致在创建容器的会报错,错误如下: 所以为了防止安装高版本的docker引发的 ...

  5. Springboot源码分析之TargetSource

    摘要: 其实我第一次看见这个东西的时候也是不解,代理目标源不就是一个class嘛还需要封装干嘛... 其实proxy代理的不是target,而是TargetSource,这点非常重要,一定要分清楚!! ...

  6. ABP虚拟文件系统(VirtualFileSystem)实例------定制菜单栏显示用户姓名

    ABP默认的MVC启动模板在登录后, 右上角显示的是用户名: 如果想让它显示用户的姓名该如何做呢?这就需要用到ABP一个非常强大的功能------虚拟文件系统. 前期准备 使用ABP CLI创建一个名 ...

  7. HashMap原理。图文并茂式解读。这些注意点你一定还不了解

    目录 概述 属性详解 table entrySet size modCount threshold.loadFactor 源码知识点必备 getGenericInterfaces和getInterfa ...

  8. LeetCode939 最小面积矩形

    LeetCode939最小面积矩形 给定在 xy 平面上的一组点,确定由这些点组成的矩形的最小面积,其中矩形的边平行于 x 轴和 y 轴. 如果没有任何矩形,就返回 0. Input [[1,1],[ ...

  9. 福建工程学院16级第一周寒假作业E题----第七集,奇思妙想

    第七集,奇思妙想                                                                                            ...

  10. 牛客小白月赛4 C 病菌感染 dfs

    链接:https://www.nowcoder.com/acm/contest/134/C来源:牛客网 题目描述 铁子和顺溜上生物课的时候不小心将几滴超级病菌滴到了培养皿上,这可急坏了他们. 培养皿可 ...