android 应用程序升级提示签名相同不能覆盖是为啥
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 应用程序升级提示签名相同不能覆盖是为啥相关的知识,希望对你有一定的参考价值。
参考技术Aandroid 应用程序升级提示签名相同不能覆盖是为什么
应该是签名不同吧,相同应该可以覆盖呀!
什么是应用程式签名,为什么要为应用程式签名
"数字签名"是指可以新增到档案的电子安全标记。 使用它可以验证档案的释出者以及帮助验证档案自被数字签名后是否发生更改。
数字签名的主要功能有2点,分别软体真实性和完整性。真实性:即软体来源可信(软体开发商来源真实);完整性,确保软体在释出后没有经过篡改。
参考:为软体进行数字签名的必要性
为什么我升级QQ浏览器不能安装,提示应用程式未安.
你好楼主,重启您的手机试下,或者检查您的手机记忆体是否够用,解除安装不常用的软体以获得更多的手机记忆体空间。手机QQ浏览器的安装包很小,一般不会占用您过多的手机空间,而且它使用了腾讯自主开发的超强极速核心,保证了浏览器自身的稳定效能、相容性的同时还大幅优化了浏览器的载入速度,开启网页几乎没有延时
android启动时为什么要升级应用程式
造成 Android开机就显示升级应用的错误,是自己刷机后没有wipe,双清。或手机线上ota升级后没有自动双清,导致系统快取混乱,所以报错,建议执行wipe(双清)操作。
wipe会删除手机所有设定和所有已安装程式及相关档案,恢复到出厂设定,就是刚拿到手机的原始状态。
双wipe步骤如下:
1.关机 按HOME键+电源键进入recovery模式。
2.用音量下键选择wipe data/factory reset这项。
3.按HOME键执行wipe data/factory reset命令后再用音量下键选择Yes -- delete all user data并按HOME键执行命令。
4.执行Yes -- delete all user data命令后,表示开始执行。
5.按音量下键选择wipe cache partition命令并按HOME键执行。
6.执行wipe cache partition命令后,音量下键选择Yes -- Wipe Cache并按HOME键执行命令。
7.执行Yes -- Wipe Cache命令后,表示wipe cache partition也执行成功了。
wipe data/factory reset和wipe cache partition执行成功后 选择 reboot system now 重启系统即可。
怎么给Android应用程式签名
不管是模拟器还是真实手机。因此,在装置或者是模拟器上执行除错程式之前,必须为应用程式设定数字签名。 所有的程式都必须签名,没有被签名的程式,系统将不能安装。 可使用自签署证书签署应用程式,无须授权凭证。系统仅仅会在安装的时候测试签名证书的有效期,如果应用程式的签名是在安装之后才到期,那么应用程式仍然可以正常启用。可以使用标准工具-Keytool and Jarsigner-生成金钥,来签名应用程式的.apk档案。 Android SDK 工具可以在除错时给应用程式签名。ADT外挂和Ant编译工具都提供了两种签名模式-debug模式和release模式 debug模式下,编译工具使用JDK中的通用程式Keytool通过已知方法和密码建立秘锁和金钥。每次编译的时候,工具使用debug金钥签名应用程式的.apk档案。因为密码是已知的,工具 不需要在每次编译的时候提示输入密锁和金钥。 当应用程式除错完毕准备要释出release版本时,可以在release模式下编译。release模式下,编译工具不会将.apk档案签名。需要自己用Keytool生成金钥和密锁,再用JDK中的Jarsigner工具给.apk档案签名。签名基本设定 首先设定JAVA_HOME环境变数,告诉SDK如何找到Keytool,或者可以在Windows 系统环境变数PATH变数中新增Keytool的JDK路径。 在释出release版本时,从Package面版上按选中你的project,按滑鼠右键,依次选择Android Tools、Export Application Package。或者可以点选Manifest Editor,overview 页面上的“Exporting the unsigned .apk”连线 ,汇出未签名apk档案。储存.apk档案后,用Jarsigner及自己的金钥给apk档案签名,如果没有金钥, 可以用Keystore建立金钥和密锁。如果已经有一个金钥了,如公共金钥,就可以给.apk档案签名了。 也可以把上面这个完整的步骤写成一个bat档案,这样需要签名的时候只要执行这个bat就可以了。下面给出一个完整的bat档案示例: @Rem android签名程式 注释指令 @Rem echo是显示指令 格式:echo [on|off] [message] @echo ********************************************************** @Rem 档案是否存在命令格式:if exist 路径+档名 命令 @if exist d:sign/MyFirstApp.keystore goto sign @echo 建立签名档案MyFirstApp.keystore @Rem keytool命令格式:-genkey产生签名 -alias别名 -keyalg加密演算法 -validity有效天数 -keystore生产签名档名称keytool -genkey -alias MyFirstApp.keystore -keyalg RSA -validity 40000 -keystore MyFirstApp.keystore @echo 开始签名: @Rem jarsigner命令格式:-verbose输出详细资讯 -keystore金钥库位置 -signedjar要生成的档案 要签名的档案 金钥库档案 jarsigner -verbose -keystore MyFirstApp.keystore -signedjar MyFirstApp_signed.apk MyFirstApp.apk MyFirstApp.keystore @goto over :sign @echo 开始签名:jarsigner -verbose -keystore MyFirstApp.keystore -signedjar MyFirstApp_signed.apk MyFirstApp.apk MyFirstApp.keystore :over @echo ********************MyFirstApp.apk 签名完成*********************** pause 以上是一个给应用签名的完整bat档案,在执行这个bat档案时,还需要按照萤幕提示的步骤输入一些必要资讯,最后生成一个签名后的档案是:MyFirstApp_signed.apk。
上百度搜索APK签名软体,一般是开启软体选择要签名的APK档案,等到签名完成后会生成一个新的APK档案,新旧的这两个档案大小必须差别非常小,否则就是签名不成功导致档案损坏。
1、准备工作
apk的签名工作可以通过两种方式来完成:
1)通过ADT提供的图形化介面完成apk签名;
2)完全通过DOS命令来完成apk签名
我比较喜欢第2)种方式,所以下面将讲解如何通过命令的方式完成apk签名。
给apk签名一共要用到3个工具,或者说3个命令,分别是:keytool、jarsigner和zipalign,下面是对这3个工具的简单介绍:
1)keytool:生成数字证书,即金钥,也就是上面说到的副档名为.keystore的那类档案;
2)jarsigner:使用数字证书给apk档案签名;
3)zipalign:对签名后的apk进行优化,提高与Android系统互动的效率(Android SDK1.6版本开始包含此工具)
从这3个工具的作用也可以看出,这3个工具的使用顺序。通常我们自己所开发的所有应用程式,都是使用同样的签名,即使用同一个数字证书,这就意味着:如果你是第一次做Android应用程式签名,上面的3个工具都将用到;但如果你已经有数字证书了,以后再给其它apk签名时,只需要用到jarsigner和zipalign就可以完成。
为了方便使用上面3个命令,首先需要将上面3个工具所在路径新增到环境变数path中(我说的是为了方便使用,没有说必须要这么做)。怎么配置环境变数就不在此讲解了,这里需要说一下这3个工具预设所在的路径:
1)keytool:该工具位于jdk安装路径的bin目录下;
2)jarsigner:该工具位于jdk安装路径的bin目录下;
3)zipalign:该工具位于android-sdk-windows/tools/目录下
不知道大家是否注意到keytool和jarsigner两个工具是jdk自带的,也就意味着生成数字证书和档案签名不是Android的专利;另外从字面上理解jarsigner也能猜得出该工具主要是用来给jar档案签名的。
2、生成未经签名的apk档案
既然我们要自己对apk进行签名,就不再需要ADT预设帮我们签名了。如何得到一个未经签名的apk档案呢?开启Eclipse,在Android工程名称上点选右键,依次选择“Android Tools” - “Export Unsigned Application Package ...”,然后选择一个储存位置储存即可。这样就得到了一个未经签名的apk档案。
3、使用keytool工具生成数字证书
keytool -genkey -v -keystore liufeng.keystore -alias liufeng.keystore -keyalg RSA -validity 20000
说明:
1)keytool是工具名称,-genkey意味着执行的是生成数字证书操作,-v表示将生成证书的详细资讯打印出来,显示在dos视窗中;
2)-keystore liufeng.keystore 表示生成的数字证书的档名为“liufeng.keystore”;
3)-alias liufeng.keystore 表示证书的别名为“liufeng.keystore”,当然可以不和上面的档名一样;
4)-keyalg RSA 表示生成金钥档案所采用的演算法为RSA;
5)-validity 20000 表示该数字证书的有效期为20000天,意味着20000天之后该证书将失效
MOTO E2安装moto txt时提示为未签名应用程式
你好,其实想阅读电子书不必这么麻烦,可以先把你想阅读的电子书在电脑里改字尾为html(如:金庸全集.txt改为金庸全集.)就可以了。再把以修改的电子书在手机里开启就能阅读。是以一个网页形式开启的,绝不收费,请放心使用。并可以 *** 字型的大少。
还有一点,E2的浏览器是OPERA MINI的,是目前手机浏览器中最好的一个软体。只要OPERA MINI中有的功能,也可以用在电子书上,方便实用,不加重E2负担。。。。。
推荐使用。。。。。。。。
为什么msn不能安装,提示为由于应用程式配置不正确,应用程式未能启动。
我装了 VC2005 还是安装不了 MSN啊~~刚刚从官网下的 MSN9.0
线上求助啊!@@@@
我刚刚解决了这个问题,可能是上一次删除或者安装除了错。而你必须用你上次安装的那个exe程式重新安装一次才行
我电脑昨儿重灌的,msn可能损坏了,本来我从官网下载了:Windows Live Messenger 2009独立安装包(官方加强版)
刚才想换成这个,但是就提示出:由于应用程式配置不正确,应用程式未能启动。
我就尝试着用自己上次安装msn的那个9.0重新安装,居然能装上。
我不知道你的问题是不是如此,但是你可以试一下。
网上还有答案是:
把这个资料夹删除了就行了C:\\Program Files\\Windows Live
我没试过,如果我的方法不行,你也不妨尝试一下哦~
祝你的msn很快就安上哦~
Android APP的签名
参考技术A Android APP的签名Android项目以它的包名作为唯一的标识,如果在同一部手机上安装两个包名相同的APP,后者就会覆盖前面安装的应用。为了避免Android APP被随意覆盖,Android要求对APP进行签名。下面介绍对APP进行签名的步骤
1、选择builder菜单下的Generate Signed APK
2、弹出签名向导对话框
3、在该对话框中选择数字证书,如果没有数字证书,可以点击Create new按钮,创建数字证书如下图所示:
4、输入证书的存储路径及文件名称,密码,有效年份,发布人员的姓名,单位,所在城市,省份,国家等信息,后点击OK按钮,如下图所示,系统会自动带入密码
5、点击Next选择签名后的安装包存放路径,构建类型,点击finish完成安装包的构建
注意:
v2是Android 7.0中引入了签名版本,v1是jar Signature来自JDK,只勾选v1签名并不会影响什么,但是在7.0上不会使用更安全的验证方式,只勾选V2签名7.0以下会直接安装完显示未安装,7.0以上则使用了V2的方式验证,为了保证兼容性,可以同时勾选V1和V2。
在Debug调试版本中,默认会调用调试用的签名证书debug.keystore,该证书默认存放在C:\Users<你的用户名>.android下。
包名和签名都相同的APP才可以覆盖安装
以上是关于android 应用程序升级提示签名相同不能覆盖是为啥的主要内容,如果未能解决你的问题,请参考以下文章