android应用程序内置到系统中,用户不需安装就可直接使用,很方便,但是在版本控制以及apk数字签名方面出现了一些问题,下面分别介绍一下这两个问题是怎么解决的。
1. android应用程序版本控制
版本控制方面的问题是这样的:应用程序从v1.0升级到v1.1,v1.0为系统内置版本,安装v1.1没问题,但是当系统重启后会发现应用程序还是v1.0。
最后发现是这样的:在AndroidMainfest.xml提供了versionCode(int类型)、versionName(String 类型)两个属性,其中versionCode是系统判断应用是否能升级的依据,后续版本的versionCode值要比之前的大(系统不会强制要求这一行为,但是随着版本更新值也增加是正常的行为),这样才能升级成功;versionName是显示给用户的版本信息。
2. android应用程序数字签名
关于数字签名的问题是这样的:应用程序内置到系统以后,用另外一台电脑编译的同一个apk是无法安装到同一设备中的。
android系统要求所有的程序经过数字签名才能安装,如果没有可用的数字签名,系统将不许安装运行此程序,eclipse编译apk时都会对应用程序进行数字签名,数字签名的密钥是C:\Documents and Settings\username\.android\debug.keystore(“username”为PC用户名),同一个apk必须使用同一密钥进行签名才可以安装到同一设备上,否则应用程序是安装不成功的。
可以把每个PC的debug.keystore替换成同一个。
apk数字签名的密钥是可以自己制作的,生成过程可参考收藏中“android应用程序数字签名”这篇文章。
以上都是我自己的一些想法,如有不恰当的地方,欢迎大家指正。