自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

怎么給Android應(yīng)用程序簽名

移動(dòng)開發(fā) Android
Android程序的簽名和Symbian類似都可以自簽名(Self-signed),但是在Android平臺(tái)中證書初期還顯得形同虛設(shè),平時(shí)開發(fā)時(shí)通過ADB接口上傳的程序會(huì)自動(dòng)被簽有Debug權(quán)限的程序。

Android系統(tǒng)要求所有的程序經(jīng)過數(shù)字簽名才能安裝,如果沒有可用的數(shù)字簽名,系統(tǒng)將不許安裝運(yùn)行此程序。不管是模擬器還是真實(shí)手機(jī)。因此,在設(shè)備或者是模擬器上運(yùn)行調(diào)試程序之前,必須為應(yīng)用程序設(shè)置數(shù)字簽名。

所有的程序都必須簽名,沒有被簽名的程序,系統(tǒng)將不能安裝。

可使用自簽署證書簽署應(yīng)用程序,無須授權(quán)憑證。系統(tǒng)僅僅會(huì)在安裝的時(shí)候測(cè)試簽名證書的有效期,如果應(yīng)用程序的簽名是在安裝之后才到期,那么應(yīng)用程序仍然可以正常啟用??梢允褂脴?biāo)準(zhǔn)工具-Keytool and Jarsigner-生成密鑰,來簽名應(yīng)用程序的.apk文件。

Android SDK 工具可以在調(diào)試時(shí)給應(yīng)用程序簽名。ADT插件和Ant編譯工具都提供了兩種簽名模式-debug模式和release模式

debug模式下,編譯工具使用JDK中的通用程序Keytool通過已知方法和密碼創(chuàng)建秘鎖和密鑰。每次編譯的時(shí)候,工具使用debug密鑰簽名應(yīng)用程序的.apk文件。因?yàn)槊艽a是已知的,工具

不需要在每次編譯的時(shí)候提示輸入密鎖和密鑰。

當(dāng)應(yīng)用程序調(diào)試完畢準(zhǔn)備要發(fā)布release版本時(shí),可以在release模式下編譯。release模式下,編譯工具不會(huì)將.apk文件簽名。需要自己用Keytool生成密鑰和密鎖,再用JDK中的Jarsigner工具給.apk文件簽名。

簽名基本設(shè)置

首先設(shè)置JAVA_HOME環(huán)境變量,告訴SDK如何找到Keytool,或者可以在Windows 系統(tǒng)環(huán)境變量PATH變量中添加Keytool的JDK路徑。

在發(fā)布release版本時(shí),從Package面版上按選中你的project,按鼠標(biāo)右鍵,依次選擇Android Tools、Export Application Package?;蛘呖梢渣c(diǎn)擊Manifest Editor,overview 頁面上的“Exporting the unsigned .apk”連接 ,導(dǎo)出未簽名apk文件。保存.apk文件后,用Jarsigner及自己的密鑰給apk文件簽名,如果沒有密鑰, 可以用Keystore創(chuàng)建密鑰和密鎖。如果已經(jīng)有一個(gè)密鑰了,如公共密鑰,就可以給.apk文件簽名了。

也可以把上面這個(gè)完整的步驟寫成一個(gè)bat文件,這樣需要簽名的時(shí)候只要運(yùn)行這個(gè)bat就可以了。下面給出一個(gè)完整的bat文件示例:

@Rem android簽名程序 //注釋指令

@Rem echo是顯示指令 格式:echo [{on|off}] [message]

@echo **********************************************************

@Rem 文件是否存在命令格式:if exist 路徑+文件名 命令

@if exist d:sign/MyFirstApp.keystore goto sign

@echo 創(chuàng)建簽名文件MyFirstApp.keystore

@Rem keytool命令格式:-genkey產(chǎn)生簽名 -alias別名 -keyalg加密算法 -validity有效天數(shù) -keystore生產(chǎn)簽名文件名稱

keytool -genkey -alias MyFirstApp.keystore -keyalg RSA -validity 40000 -keystore MyFirstApp.keystore

@echo 開始簽名:

@Rem jarsigner命令格式:-verbose輸出詳細(xì)信息 -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

以上是一個(gè)給應(yīng)用簽名的完整bat文件,在運(yùn)行這個(gè)bat文件時(shí),還需要按照屏幕提示的步驟輸入一些必要信息,***生成一個(gè)簽名后的文件是:MyFirstApp_signed.apk。

簽名完成以后***再把這個(gè)文件壓縮一下,使用Android SDK安裝路徑下tools文件夾里的zipalign進(jìn)行壓縮,以剛才這個(gè)文件為例,也可以寫成一個(gè)bat文件,示例如下:

  1. D:\soft\android-sdk-windows\tools\zipalign -f -v 4 MyFirstApp_signed.apk MyFirstApp_zip.apk  
  2. D:\soft\android-sdk-windows\tools\zipalign -c -v 4 MyFirstApp_zip.apk 

pause<

上面的D:\soft\android-sdk-windows用你的實(shí)際Android SDK安裝路徑代替。

按照以上步驟簽名、壓縮就完成了,***把壓縮后的那個(gè)文件(比如例子中的MyFirstApp_zip.apk文件)復(fù)制到手機(jī)上就可以正常的安裝運(yùn)行了。

【編輯推薦】

Android程序的簽名

Android木馬:安全是自由的代價(jià)

提高Android用戶體驗(yàn)三部曲之速度快

安全需知:Android木馬應(yīng)用程序大名單

責(zé)任編輯:zhaolei 來源: 網(wǎng)絡(luò)轉(zhuǎn)載
相關(guān)推薦

2011-11-03 09:41:35

Android簽名安全性

2011-11-03 09:24:57

李洋簽名

2010-01-25 13:29:53

Android本地應(yīng)用

2017-03-02 11:10:39

AndroidMVVM應(yīng)用程序

2010-02-07 10:25:11

Android

2010-03-02 14:24:00

Android應(yīng)用程序

2010-02-04 10:17:38

Android應(yīng)用程序

2009-06-10 11:47:32

Android應(yīng)用程序模塊

2010-02-05 18:21:24

Android應(yīng)用程序

2011-05-10 13:56:27

Android應(yīng)用程序Android MarAndroid

2012-08-08 17:41:49

防火墻防火墻規(guī)則應(yīng)用程序簽名

2011-08-02 18:30:32

iOS 應(yīng)用程序 屬性

2011-04-19 09:19:55

應(yīng)用程序項(xiàng)目管理

2022-09-27 15:16:42

開發(fā)Android應(yīng)用程序

2021-12-06 07:47:36

Linux 驅(qū)動(dòng)程序Linux 系統(tǒng)

2010-03-03 16:45:46

Android應(yīng)用程序

2009-05-28 09:25:32

AndroidGoogle移動(dòng)OS

2011-05-24 16:09:57

Androi

2010-03-03 17:56:44

Android應(yīng)用程序

2010-01-25 17:14:44

Android應(yīng)用程序
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)