时间:2014-07-03 14:11:31 来源: 互联网 复制分享
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。
签名完成以后最好再把这个文件压缩一下,使用Android SDK安装路径下tools文件夹里的zipalign进行压缩,以刚才这个文件为例,也可以写成一个bat文件,示例如下:
D:\soft\android-sdk-windows\tools\zipalign -f -v 4 MyFirstApp_signed.apk MyFirstApp_zip.apk
D:\soft\android-sdk-windows\tools\zipalign -c -v 4 MyFirstApp_zip.apk
pause
================
上面的D:\soft\android-sdk-windows用你的实际Android SDK安装路径代替。
按照以上步骤签名、压缩就完成了,最后把压缩后的那个文件(比如例子中的MyFirstApp_zip.apk文件)复制到手机上就可以正常的安装运行了。
国外的网友已经把Debian ARM EABI版本移植到Android平台上运行,Debian作为一个优秀的Linux发行版本,本文的安装过程需要你获取Root权限使用BusyBox安...【详细】
作为一款智能操作系统,快捷键和技巧是必不可少的,之前本站也已经介绍过多个Android操作系统使用技巧,下面本站将之前的整合在一起,并加入了数个新技巧...【详细】
很多网友看了我们这么多Android手机的介绍很想购买一部,但是考虑到国内市场,主要是水货流入很多地方没有销售点或过远没有机会亲身体验,我们给大家出了...【详细】
Android系统内置的网络浏览器是Chrome Lite,从名字上看这款浏览器就是Google浏览器的Android简化版本,同样采用Webkit内核,因此这款浏览器拥有很强大...【详细】
相信现在已经有不少网友用上了TouchPal这款新登录Android平台的输入法。由于目前大多数网友使用的都是之前谷歌拼音的泄露版,因此词库和功能都不如...【详细】
如果你手中拥有乐PHONE,但是对于其中的部分内置应用不知道如何删除,那么本教程可以起到适当的参考作用,而以下操作的前提,是基于你的乐Phone已经获取R...【详细】
果然不出所料,NexusOne所遇到的问题根源在Android 2.1上面,并不是硬件的问题。今天外国网友为我们带来了该机在3G网络下不稳定自动切换GSM网络故障...【详细】
众所周知Android手机的上网功能需要用到APN(网络接入点)的设置,只有正确相应的APN才能够上网。而我们经常见到的都是中国移动和中国联通的APN设置,这...【详细】
我们可以看看初步的统计数据: • Android 平台上 29% 的免费程序能获取用户的位置信息,而 iPhone 上有 33% 的免费程序能获取用户...【详细】
有很多朋友购买了HTC Hero之后发现手机接收短信后没有震动功能,难道是G3没有震动功能吗?当然不是了,这是由于Android系统默认情况下并没有将短信振动...【详细】
超频必备工具: SetCPU里程碑超频必备工具(点击下载) 摩托罗拉里程碑超频步骤: 1、打开SetCPU界面如下 里程碑超频必备工具SetCPU截图 二、选...【详细】
第一步 拨号前准备 1、开通GPRS 功能;(开通了CMWAP 和CMNET 功能)。 2、安装手机Modem 驱动程序。 3、关闭手机推送功能。 右键...【详细】
通过Android模拟器-零花费体验Android系统 的介绍相信不少没购机的用户可以方便了解Google开源移动平台,不过仍热有一部分网友抱怨界面是英文的,继续...【详细】
给乐Phone手机系统换字体,对于许多喜欢尝鲜的用户都想尝试一番,而如此才能更换Lephone android系统的字体,是许多用户都不了解的,而本文就详细介绍了...【详细】
除此之外,绝大多数白领商 务人士,通常还要看看公司邮箱或者新浪网易邮箱等,在这方面的设置上,有不少人会犯难。实际上,这方面的设置,除了几个关键点需要...【详细】
相信有不少Android机友都玩Facebook和YouTube,不过这些网站都被国内的运营商和谐了,即使在电脑上也只能通过翻墙的手段来观看。其实各位网友有所不...【详细】
够了T-Mobile G1手机的用户可以随时通过GPS来获取自己的位置信息,由于GPS芯片需要不停的获取卫星数据,关闭它可以节省至少35%的电量。目前Android手...【详细】
众所周知,Android手机其实真正意义上算是互联网手机,各种应用和服务都和网络紧密相关,虽然在外国不需要考虑网络流量的问题,但是在中国就不能不考虑了...【详细】
购买了T-Mobile G1的朋友很幸运自带了Wi-Fi无线网卡,如果你所在的单位有Wi-Fi网络那么通过这种方式上网既经济又快速,的确GPRS的CMNET包月上网还是显...【详细】
首先,本教程所有的修改步骤,所有操作都是基于乐phone已经获得了ROOT权限的基础之上,请机友们首先确定自己的乐Phone已经获取了修改系统的第一个通行...【详细】