![Android开发权威指南(第二版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/667/730667/b_730667.jpg)
3.9 签名Android应用程序
任何Android应用程序(apk文件)都必须签名才能使用,即使是在Eclipse中编译生成的apk文件也必须要使用debug.keystore文件[ 专门调试程序的签名文件。]进行签名。读者可以打开“Preferences”对话框,单击左侧的“Android”>“Build”节点,会在右侧界面的下方看到debug.keystore文件的路径。Windows下的路径如图3-16所示。
![](https://epubservercos.yuewen.com/45418B/3731455504439801/epubprivate/OEBPS/Images/04501.jpg?sign=1739392282-JyTXE0xsrbp16FWSl2csV84EbFB2WfiX-0-98db1c2d07d7f4780060f19ceef8a6eb)
▲图3-15 调试Android应用程序
![](https://epubservercos.yuewen.com/45418B/3731455504439801/epubprivate/OEBPS/Images/04502.jpg?sign=1739392282-KQP9TKNWmu4DtaQrMaYkBvz36m6tMWKc-0-a85fd2d8cbd1897db16b22e37c7c694d)
▲图3-16 debug.keystore文件在Windows下的路径
debug.keystore文件在Mac OS X下的路径如图3-17所示。
![](https://epubservercos.yuewen.com/45418B/3731455504439801/epubprivate/OEBPS/Images/04503.jpg?sign=1739392282-K7InY7CngJUSezTtP1ClJ2KetZ53rYC9-0-37aad4a82cf8c8bc5de7577126aae449)
▲图3-17 debug.keystore文件在Mac OS X下的路径
注意
由于debug.keystore文件在不同PC上可能不同,所以用真机在一台PC上调试程序,有可能再换另外一台PC调试程序(仍然使用原来的真机),就会出现签名不正确的错误提示,无法将使用debug.keystore文件签名的apk文件安装在真机上。解决的方法就是将真机上老的程序卸载,再进行调试。
尽管使用debug.keystore文件签名的apk文件可以安装在手机上,但无法传到Google Play上。Google Play禁止上传用debug.keystore签名的apk文件,因此,在发布Android应用程序之前要进行签名(不能使用debug.keystore文件)。
选择要签名的Android工程,在右键菜单中单击“Android Tools”>“Export Signed Application Package”菜单项,会弹出“Export Android Application”对话框,如图3-18所示。该界面要求指定要签名的Android工程,一般使用默认值即可。然后单击“Next”按钮进入下一个设置界面,如图3-19所示。
在图3-19所示的界面中要求指定一个签名文件名(与debug.keystore文件的性质相同)以及密码,然后单击“Next”按钮进入如图3-20所示的设置界面,在该界面主要输入Alias(输入任意字符串即可)、Key的密码(与上一界面的密码相同即可)、Validity(years)。其中Validity(years)至少要30年,否则Google Play无法上传。下面的信息至少要输入First and Last Name。最后单击“Next”按钮进入最后一个设置界面,如图3-21所示。在该界面中只需要指定了签完名的apk文件保存的路径,单击“Finish”按钮就会在相应的路径同时生成apk文件(已签完名)和签名文件(在图3-19所示的界面中指定的文件)。如果下次再为其他Android应用程序签名,可以直接使用这个签名文件,也就是在图3-19所示的界面中选择“Using exiting keystore”项,并输入密码即可。
![](https://epubservercos.yuewen.com/45418B/3731455504439801/epubprivate/OEBPS/Images/04601.jpg?sign=1739392282-m3NkwqRHAwTPalwnRceet0JuzuroRykQ-0-92cb93c4298ea3ece22613f9af490404)
▲图3-18 指定要签名的Android工程
![](https://epubservercos.yuewen.com/45418B/3731455504439801/epubprivate/OEBPS/Images/04602.jpg?sign=1739392282-WQkcdH6SD3IxQJQoXvXpwM6jQn6KMUwq-0-3cde14411b2a92a39bd79be30fa1362f)
▲图3-19 指定签名文件和密码
![](https://epubservercos.yuewen.com/45418B/3731455504439801/epubprivate/OEBPS/Images/04603.jpg?sign=1739392282-xT74cxj7GH0oYElYJl1AKLj2R4rUhtQx-0-6b5b7e2c654e94979962f49b639bba60)
▲图3-20 指定更详细的信息
![](https://epubservercos.yuewen.com/45418B/3731455504439801/epubprivate/OEBPS/Images/04604.jpg?sign=1739392282-k61SSdWmzP29VP3f29F6Y6y6dH7zXgci-0-81c6488f5aeb3e3dbf41f6897156e1bd)
▲图3-21 指定签完名的apk文件保存的路径
现在已经完成了Android应用程序从开发、调试到发布的全部工作。经过签名的apk文件已经可以直接发布到Google Play上了。