这是一篇以我自己的实际经历写的一篇文章。

  当下移动开发正值火爆,由于门槛低,任何一个程序员都可以比较容易的进入移动开发领域,作为App或者游戏等移动开发者,当你开发完成一个作品后,准备上线时,需要对你的作品进行签名。涉及到签名,那就少不了软件作者的签名文件。这里,可能不少刚刚进入这一领域的开发者很容易忽略签名文件的重要性,导致没有意识保管自己的签名文件,等应用在市场上线后,需要对应用升级更新时,才发现找不到签名文件或者忘记相关密码,这时为时已晚,会导致麻烦。

  这种情况在首次接触签名的开发者中并不是特例。产生这种情况的原因,是由于这类开发者之前从没有自己的签名文件,所以在对作品签名完成,应用上线后,说不定就把签名文件随手删除了。那么,等到日后对该作品升级更新后再次签名,发现找不到签名文件或者忘记密码,你很容易想到:用一个新的签名,可是等你上传到应用市场时,会发现提示不能提交了,因为一个市场中不允许同包名的应用存在。同是,也是为了防止用户下载你的软件后安装不上,也就是说,如果用户手机安装了之前你发布的作品,就算用户通过其他途径下载了你的使用了新签名的新版作品,用户也是无法安装的,这会严重影响用户心情。

  特别需要说明的是,当你签名文件丢失后,也许你认为只要你记得签名信息,用完全一样的信息新生成一个新的签名总行吧?可我实验过,就算两个签名文件的信息一模一样,分别用这两个签名文件打包同一个作品,打包出来的作品也是不能相容的!也许你的感觉和我一样:奇怪。

  为什么?我没再去深究。

  那么,签名文件丢失了怎么办?

  有的应用市场(比如360)那里可以提交签名不一样的更新,但必须说明换签名的原因。可我说明了原因还是不给通过审核。我后来想,就算通过审核了会怎么样?用户下载新版作品之后能顺利安装吗?我持怀疑态度。

  所以,最后我不得不用新的签名,同时换包名来解决这个问题。这种方法不足的地方是:对老用户有影响,如果他们之前安装了你的旧版本作品,然后安装新版作品后,他们手机上会同时存在新老两个版本的作品。这又怎么解决呢?

  黯然伤神之余,你或许会像我一样:把我这次新版签名文件马上放进自己的文件保险箱中。

  是的,我没有找到完美的解决办法。如果你知道,求告知,先拜谢。

  

请将你的App签名文件放进保险箱的更多相关文章

  1. 将dll放进exe[.Net]

    原文:将dll放进exe[.Net] 两种方案: 1.使用ILMerge工具. 缺点:需离开工程,使用第三方工具(ILMerge). 2.将dll作为Resource放进exe,exe执行时动态加载( ...

  2. 新建childTest文件夹,里面依然放进我们需要的.py文件即可

    一.模块 我们编写文件:a.py,放在C:\Python34\Lib\sit-packages下,里面写上一句代码为: print('this is a') 之后我们就可以在我们的代码里面引用a.py ...

  3. Dictionary解析json,里面的数组放进list,并绑定到DataGridView指定列

    Dictionary解析json,1.根据json建立相应的实体类,json里面的数组形式放进list集合2.取list中的数据,将相应的数据绑定到DataGridView,如下:循环(动态添加一行数 ...

  4. 如果将彩色图像和灰度图像一起放进 CNN 中去,会是什么结果?

    如果将彩色图像和灰度图像一起放进 CNN 中去,会是什么结果? 今天,坑爹的实验,我处理 SUN397 的时候,忘记去掉灰度图了,结果,利用微调后的 model 提取 feature,悲剧的发现,无论 ...

  5. FMDB将对象放进数据库[二](使用runtime)

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  6. FMDB将对象放进数据库[一]

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  7. MPC8313ERDB不新鲜pkg包裹,把文件放进Ramdisk

    MPC8313ERDB不新鲜pkg包裹,把文件放进Ramdisk 经ltib编译器生成rootfs.ext2.gz.uboot它可以直接uboot采用.假设我们编写了相应的外部文件把Ramdisk往里 ...

  8. Win7里面如何把这一堆图标放进那个右下角的小三角框框

    Win7里面如何把这一堆图标放进那个右下角的小三角框框.. Win7里面如何把这一堆图标放进那个小框框:1.在任务栏空白处右击,点击属性:2.在属性中的通知区域-->点击自定义按钮:3.去除勾选 ...

  9. 【Java】Java创建String时,什么情况放进String Pool?

    对Java创建String是否放入String pool作代码性的试验. 参考的优秀文章 JAVA面试题解惑系列(二)——到底创建了几个String对象? public String(String o ...

随机推荐

  1. kafka-manager 的编译和使用(附安装包)

    kafka-manager 的编译和使用(附安装包) 学习了:https://my.oschina.net/wangjiankui/blog/653139

  2. Cracking the Coding Interview 150题(一)

    1.数组与字符串 1.1 实现一个算法,确定一个字符串的所有字符是否全都不同.假设不允许使用额外的数据结构,又该如何处理? 1.2 用C或C++实现void reverse(char* str)函数, ...

  3. Android网络爬虫程序(基于Jsoup)

    摘要:基于 Jsoup 实现一个 Android 的网络爬虫程序,抓取网页的内容并显示出来.写这个程序的主要目的是抓取海投网的宣讲会信息(公司.时间.地点)并在移动端显示,这样就可以随时随地的浏览在学 ...

  4. mysql正则表达式及应用

    mysql where子句的模式匹配 今天在应用中遇到了这样的一个问题,有一个字段 t1,其中的值类似于:1,1,1,2,3,3,4,4,5,5,2,4,3,2,1,2 需要从里面搜索出比如说:第一个 ...

  5. MySQL-PREPARE语句

    MySQL-PREPARE语句 功能介绍: MySQL准备语句用法 为了使用MySQL准备语句,您需要使用其他三个MySQL语句如下: PREPARE - 准备执行的声明. EXECUTE - 执行由 ...

  6. POJ 1651 Multiplication Puzzle 区间dp(水

    题目链接:id=1651">点击打开链 题意: 给定一个数组,每次能够选择内部的一个数 i 消除,获得的价值就是 a[i-1] * a[i] * a[i+1] 问最小价值 思路: dp ...

  7. [noip模拟赛]算算数

    https://www.zybuluo.com/ysner/note/1298755 题面 有一天小胡同学看到了一种表达式.这个表达式有四个变量\(A,B,C,D\).这四 个变量都只有\(0\)和\ ...

  8. CF 600 E Lomsat gelral —— 树上启发式合并

    题目:http://codeforces.com/contest/600/problem/E 看博客:https://blog.csdn.net/blue_kid/article/details/82 ...

  9. SVN主干与分支的合并 ***

    下面我将step by step地演示如何一次完整的branching和merging,包括创建分支.分支开发.分支和主线同步,分支合并到主线的全过程,甚至包括如何在本地创建一个测试用的reposit ...

  10. 在Ubuntu中设置DNS域名服务器

    在Ubuntu中设置DNS域名服务器主要有四种方法: 一.设置全局静态DNS $ sudo vi /etc/resolvconf/resolv.conf.d/base(这个文件默认是空的),插入: n ...