一般在安装时提示出错:INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES

1) 两个应用,名字相同,签名不同

2) 升级时前一版本签名,后一版本没签名

3) 升级时前一版本为DEBUG签名,后一个为自定义签名

4) 升级时前一版本为Android源码中的签

1 查看默认签名

  不同的机子上或不同的设备上,利用eclipse编译出的apk签名是不一样的。eclipse都有一个默认的签名。查看签名路径:

1)打开Eclipse->Preferences->Andorid->Build,在这个Build界面,找到Default debug keysore这个编辑框,里面的值则为本台设备中Eclipse的keystore的默认路径。

2)如果出现因签名不同而导致应用程序未安装,可以将原先的keystore替换掉当前设备上的keystore。并重新启动Eclipse。否则只能完全卸载掉移动设备上的apk,重新安装了。

2 无法覆盖安装

1)、通过签名的方式生成你的APK,而不是直接从Bin目录底下去拷贝,每个Android可执行程序的APK都有自己的签名,只要签名一致,就可以覆盖安装,而不需要卸载;

2)、数据库表结构的变化(增加一个字段,减少一个字段,新表的建立)。正常升级数据库的方法 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)

3)、sharepreferences的数据有改变,这个跟数据库差不多,比如原来的sharepreferences保存的一数据是boolean,在后一版本把保存的数据改为string,问题就出现了。

3 导出签名

  1)打开cmd控制台,输入命令:keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore,按照提示依次填写内容,并记住密码,后面会用到;

  2)生成好keystore后,就可以导出签名apk了。Eclipse中,右击需要签名的工程android tools->export signed application package,location为生成的keystore所在的位置,密码为创建keystore时设置的密码,然后按照提示,next,最后finish,成功导出签名apk。

详见:http://blog.csdn.net/yiwanxinyuefml/article/details/6765129

4 debug签名和release签名的区别

  1)debug签名的应用程序不能在Android Market上架销售,它会强制你使用自己的签名;Debug模式下签名用的证书(默认是Eclipse/ADT和Ant编译)自从它创建之日起,1年后就会失效

  2)debug.keystore在不同的机器上所生成的可能都不一样,就意味着如果你换了机器进行apk版本升级,那么将会出现上面那种程序不能覆盖安装的问题,相当于软件不具备升级功能!

Android 签名(7)签名常见问题,debug签名和release签名的区别等的更多相关文章

  1. debug版本和release版本的区别?

    好久没有做web项目了,这项目完成了要发布网站,不好忘了 以前操作过的? 还好脑子还是有点印象 现还是 写个文档吧记录吧 免得 以后作别的了又忘了 那可不妙啊 网站发布步骤:1.先将

  2. 项目Debug版本与Release版本的区别

    Debug版本:通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序. Release版本:称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很 ...

  3. VS中Debug模式和Release模式的区别

    一.Debug 和 Release 编译方式的本质区别 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序.Release 称为发布版本,它往往是进行了各种优化,使得程 ...

  4. 【C++】Debug模式和Release模式的区别

    VS中的程序有两种编译模式:Debug模式和Release模式. Debug通常称为调试版本,通过一系列编译选项的配合,编译结果通常包含调试信息,而且不做任何优化,以为开发人员提供强大的应用程序调试能 ...

  5. VS2008 Debug与Release的本质区别(转)

    如何设置:工具栏“生成”→“配置管理器”→“活动解决方案配置” 对于VS2008的初次使用者来说,常会遇到的编译问题时,Debug版本运行正常,但在Release版本则不稳定或无法运行.以下是对Deb ...

  6. .NET中Debug模式与Release模式

    Visual Studio 项目对程序的发布和调试版本分别有单独的配置.顾名思义,生成调试版本的目的是用于调试,而生成发布版本的目的是用于版本的最终分发. 如果在 Visual Studio 中创建程 ...

  7. Android签名详解(debug和release)

    1. 为什么要签名 1) 发送者的身份认证 由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,以此保证签名不同的包不被替换 2) 保证信息传输的完整性 签名对于包中的每个文 ...

  8. (转)Android签名详解(debug和release)

    1. 为什么要签名 1) 发送者的身份认证 由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,以此保证签名不同的包不被替换 2) 保证信息传输的完整性 签名对于包中的每个文 ...

  9. Android 验证APK是否已经签名或是否是Debug签名

    https://source.android.google.cn/ http://www.android-doc.com/tools/publishing/app-signing.html Signi ...

随机推荐

  1. Java中的队列:java.util.Queue接口

    队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作. Queue接口与List.Set同一级别,都是继承了Collection接口.Linked ...

  2. 一些dos命令

    MS DOS 命令大全 一.基础命令 1 dir 无参数:查看当前所在目录的文件和文件夹. /s:查看当前目录已经其所有子目录的文件和文件夹. /a:查看包括隐含文件的所有文件. /ah:只显示出隐含 ...

  3. Unity学习笔记(3):获取对象

    在上一篇文章中(Unity映射注册)中概要介绍了Unity中的映射机制,本节主要介绍对象获取,包括默认获取,通过名称获取,获取全部对象,同时通过加载配置文件,然后再获取对象. 通过代码获取对象 方式1 ...

  4. ECSHOP 支付宝发货确认接口,记录支付宝返回的交易号

    1,在order_info 数据表尾添加trade_no 字段 数据表尾怎么添加trade_no 字段 ECSHOP为了支付宝发货确认接口,需要记录支付宝返回的交易号 1,在order_info 数据 ...

  5. 关于javascript的window.onscroll方法

    ---恢复内容开始--- 今天在学习javascript的过程中被onscroll这个东西堵了一下午.心情极度郁闷. 在高度较大的网页中,我们通常会加一个返回顶部的按钮,方便用户操作. 代码如下: & ...

  6. WPF中Expander控件样式,ListBox的样式(带checkbox)恢复

    Expander控件样式: <ControlTemplate x:Key="ExpanderToggleButton" TargetType="ToggleButt ...

  7. JS和JSP的区别

    最近很多同学在纠结于名词缩写之间的相似性,因此本人也来写一篇,讲讲JS和JSP的区别. SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,它输出HTML语句还是采用了老的CGI方 ...

  8. Ubuntu上部署C# 网站 步骤简单记录

    对于刚接触linux的同学,由于命令不熟悉,所以要想在上面部署C#网站,容易迷茫,可以参考此简易步骤: 安装 mono: apt-get install mono  按tab搜索 找到mono相关的组 ...

  9. lua5.3调用C/C++

    马上面临毕业设计,打算做点跟网游有关的,先从做周边工具开始,目前正在做一个协议序列化和反序列化的东西,广告一波先: https://github.com/Anti-Magic/rproto 目前非常简 ...

  10. POJ 2516 最小费用最大流

    每一种货物都是独立的,分成k次最小费用最大流即可! 1: /** 2: 因为e ==0 所以 pe[v] pe[v]^1 是两条相对应的边 3: E[pe[v]].c -= aug; E[pe[v]^ ...