安卓app開發一個自定義簽名軟件(安卓APP簽名)

小程序開發 1529
本篇文章給大家談談安卓app開發一個自定義簽名軟件,以及安卓APP簽名對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 如何給Android應用程序簽名 Android系統要求所有的程序經過數字簽名才能安裝,如果沒有可用的數字簽名,系統將不許安裝運行此程序。不管是模擬器還是真實手機。因此,在設備或者是模擬器上運行調試程序之前,必須為應用程序設置數字簽名?!に械某绦蚨急仨毢灻?,沒有被簽名的程序,系統將不能安裝。

本篇文章給大家談談安卓app開發一個自定義簽名軟件,以及安卓APP簽名對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。

如何給Android應用程序簽名

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?;蛘呖梢渣c擊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 -c -v 4 MyFirstApp_zip.apkpause================上面的D:\soft\android-sdk-windows用你的實際Android SDK安裝路徑代替。按照以上步驟簽名、壓縮就完成了,最后把壓縮后的那個文件(比如例子中的MyFirstApp_zip.apk文件)復制到手機上就可以正常的安裝運行了。

如何發布android 應用程序,app增加簽名證書

Android系統要求,所有的程序經過數字簽名后才能安裝。Android系統使用這個證書來識別應用程序的作者,并且建立程序間的信任關系。證書不是用于用戶控制哪些程序可以安裝。證書不需要授權中心來簽名:Android應用程序上使用自己簽名的證書是完全允許且普遍的。

理解Android應用程序簽名有以下幾個重要點:

·所有的應用程序都必須簽名。系統不會安裝任何一個不簽名的程序。

·你可以使用自己的證書來簽名。不需要任何授權中心。

·當你要為最終用戶發布你的應用程序的時候,你必須簽入一個合適的密鑰。你不可以發布程序的時候還使用SDK工具簽入的DebugKey。

·系統只在安裝應用程序的時候檢測證書的有效期。如果應用程序在安裝之后證書失效了,那么,應用程序還是可以正常工作。

·你可以使用標準工具——Keytool和Jarsigner——生成Key并簽名apk文件。

·一旦你為應用程序簽名了,一定要使用zipalign工具來優化最終的APK包。

Android系統不會安裝和運行沒有正確簽名的應用程序。這條規則適用于任何運行Android系統的地方,不管是真機還是模擬器。正是由于這個原因,你必須在模擬器或真機上運行/調試程序之前對程序進行簽名。

當你調試應用程序時,AndroidSDK工具替你對應用程序進行了簽名。Eclipse的ADT插件和Ant編譯工具都提供了兩種簽名模式——Debug模式和Release模式。

·當開發和測試時,你可以使用Debug模式。在Debug模式下,編譯工具使用內嵌在JDK中的Keytool工具來創建一個keystore和一個key(包含公認的名字和密碼)。在每次編譯的時候,使用這個DebugKey來為apk文件簽名。由于密碼是公認的,在每次編譯的時候,也不需要提示你輸入keystore和key密碼。

·當你的程序準備發布時,你必須在Release模式下,使用密鑰來為apk文件簽名。有以下兩種方式可以做到:

1.命令行中使用Keytool和Jarsigner。在這個方法中,首先需要編譯出一個未簽名的apk。然后使用Jarsigner(或相似的工具),用你的密鑰為apk手動簽名。如果你沒有合適的密鑰,你可以運行Keytool來手動生成自己的keystore/key。

2.使用ADT導出向導。如果你使用Eclipse/ADT插件進行開發,你可以使用導出向導來編譯程序,生成密鑰(如果需要),并為apk簽名,所有這些操作都在導出向導中。一旦你的程序簽名了,別忘了運行zipalign來為apk進行額外的優化。

簽名策略

應用程序簽名的某些方面可能會影響應用程序的開發,特別是你打算一起發布多個應用程序的時候。一般來說,推薦的策略是在整個應用程序壽命內,所有的程序簽上相同的證書。

以下有幾個應該這么做的原因:

·應用程序升級——當你對應用程序進行升級時,如果你想用戶平穩的升級,那么,你就需要簽上相同的證書。當系統安裝一個升級應用程序時,如果新版本的證書與老版本的證書有匹配的話,那么,系統才會允許進行升級。如果你沒有為版本簽上合適的證書,當你安裝時,你需要給應用程序指定一個新的包名——在這種情況下,用戶安裝的新版本,被當作是一個全新的應用程序。

·應用程序模塊化——如果應用程序請求的話,Android系統允許簽有相同證書的應用程序運行在相同的進程里,這樣,系統就會把它們看作是一個單一的應用程序。用這種方法配置應用程序,用戶可以選擇更新每個獨立的模塊。

·代碼/數據權限共享——Android系統提供了基于簽名的權限檢查,因此,如果應用程序間簽有特定的證書,那么,它們之間可以共享功能。通過多個程序簽有相同的證書并且使用基于簽名的權限檢查,你的程序可以以一種安全的方式共享代碼和數據。還有一個決定簽名策略的重要因素是:如何設定key的有效期。

·如果你計劃支持單個應用程序的升級,你需要確保你的key擁有一個超過期望的應用程序生命周期的有效期。推薦使用25年或更多的有效期。當你的key過期了,用戶也就不能平穩的更新到新版本了。

·如果你想給多個無關的應用程序簽上相同的key,那么,你必須確保key的有效期超過所有應用程序所有版本的生命周期,包括將來有可能添加到這一陣營的程序。

·如果你想在AndroidMarket上發布你的程序,key的有效期必須在2033.10.22以后。Market服務器強制這一要求,目前是保證用戶可以平穩的更新他們的程序。

當你設計應用程序時,一定要把這些點記在腦子里,并且使用一個合適的證書來為應用程序簽名。

簽名的基本設定

在你開始之前,你必須保證Keytool對SDK編譯工具來說是可利用的。多數情況下,你可以通過設置JAVA_HOME環境變量來告訴SDK編譯工具如何找到Keytool。另外,你還可以添加JDK中Keytool的路徑到PATH的變量里。

如果你在Linux上開發,并且使用GNU編譯器來編譯Java,那么,請確保系統是使用JDK中的Keytool,而不是gcj。如果Keytool已經在你的PATH中,它有可能是對/usr/bin/keytool的符號鏈接。在這種情況下,檢查符號鏈接的目標,確保它是指向JDK中的Keytool。如果你打算對公眾釋放你的應用程序,你還需要Jarsigner工具。Jarsigner和Keytool都包含在JDK中。

Debug模式下簽名

Android編譯工具提供了Debug簽名模式,使得開發和調試應用程序更加容易,而且還滿足Android系統的簽名要求。當使用Debug模式編譯你的app時,SDK工具會調用Keytool工具自動創建一個Debug的keystore和key。然后,這個Debugkey會自動用于apk的簽名,這樣,你不需要使用你自己的key來為應用程序包簽名。

SDK工具使用預先定義好的名字/密碼來創建Debugkeystore/key:

·Keystore名字:“debug.keysotre”

·Keystore密碼:“android”

·Key別名:“androiddebugkey”

·Key密碼:“android”

·CN:“CN=AndroidDebug,O=Android,C=US”

如果需要的話,你可以改變Debugkeystore/key的位置和名字,或者提供一個自定義的Debugkeysotre/key。然而,任何自定義的Debugkeystore/key必須使用和默認Debugkey(上面描述的)相同的名字和密碼。(在Eclipse/ADT中,操作WindowsPreferencesAndroidBuild實現。)

注意:你不能將簽有Debug證書的應用程序發布給公眾。

Eclipse用戶

如果你在Eclipse/ADT下開發(并且已經按照上面描述的“簽名的基本設定”配置了Keytool),Debug模式下簽名默認是開啟的。當你運行或是調試應用程序時,ADT會使用Debug證書進行簽名,并運行zipalign,然后安裝到選擇的模擬器或是連接上的設備。整個過程不需要你參與,前提是ADT能訪問Keytool。

Ant用戶

如果你使用Ant來編譯你的apk文件,需要在ant命令中添加debug選項來開啟Debug簽名模式(假設你正在使用由android工具生成build.xml文件)。當你運行antdebug來編譯你的程序時,編譯腳本會生成一個keystore/key,并為apk進行簽名。然后腳本會使用zipalign工具對apk進行對齊處理。整個過程不需要你參與。閱讀“其它IDE下開發:Debug模式編譯”來了解更多的信息。

Debug證書過期

Debug模式下簽名用的證書(默認是Eclipse/ADT和Ant編譯)自從它創建之日起,1年后就會失效。

當證書失效時,你會得到一個編譯錯誤,在Ant編譯上,

錯誤如下:

debug:

[echo]Packagingbin/samples-debug.apk,andsigningitwithadebugkey...

[exec]DebugCertificateexpiredon8/4/083:43PM

在Eclipse/ADT中,Android控制臺上你將會看到一個相似的錯誤。

為了解決這個問題,只需要刪掉debug.keystore文件即可。AVD默認存儲的位置在:~/.android/avd(OSX和Linux),C:DocumentsandSettings\.android(WindowsXP),C:Users\.android(WindowsVista)。

當下一次編譯的時候,編譯工具會重新生成一個新的keystore和Debugkey。

Release模式下簽名

當你的程序準備好釋放給其它用戶時,你必須:

1.獲取一個合適的密鑰

2.在Release模式下編譯程序

3.使用密鑰簽名程序

4.對齊APK包

如果你是使用Eclipse/ADT插件開發,你可以使用導出向導來完成編譯、簽名和對齊等操作。在整個過程中,導出向導甚至還可以生成一個新的keystore和密鑰。因此,如果你使用Eclipse,你可以直接跳到“使用EclipseADT編譯和簽名”。

獲取一個合適的密鑰為了進行程序的簽名,首先,你必須有一個合適的密鑰。密鑰指:

·個人持有。

·代表個人、公司或組織實體的身份。

·擁有一個有效期。有效期推薦超過25年。

如果你在AndroidMarket上發布你的程序,需要注意一點的是:程序的有效期需要在2033.10.22之后。你不能上傳一個應用程序,而它的key的有效期是在這個日期之前。

·不是由AndroidSDK工具生成的Debugkey。

如果你沒有一個合適的key,你一定要使用Keytool來生成一個。如“基本設定”中描述的,確保Keytool可用。

為了用Keytool生成一個key,使用keytool命令并傳入一些可選參數,如下表所示。

警告:確保密鑰的安全。一定要閱讀“安全儲存你的密鑰”中討論如何確保你的密鑰的安全以及這對你和用戶為何如此重要。尤其是,當你生成你的密鑰時,一定要為keystore和key使用強密碼。

有什么可以設計簽名的app?

1、簽名設計大師

簽名設計大師app是一款簽名設計軟件,通過簽名設計大師app你可以方便的找到適合自己的簽名,美麗有大方,對于有需要的朋友來說不錯。

功能介紹:

簽名設計大師app集合多位書法藝術大家于一體,提供多達三十多種簽名樣式的藝術簽名軟件。軟件展現了中華五千年書法藝術的魅力,并融合了各個時期的著名書法家的藝術風格,使每一個簽名都充滿了藝術表現力。

同時,你可以在軟件內臨摹生成的簽名,將瀟灑的簽名分享到過的國內各大SNS平臺。

2、個性簽名大師

個性簽名大師app是一款簽名應用,支持MaterialDesign設計風格,能為您隨時設計專屬的藝術簽名,擁有專業的字體庫,告別單調的簽名方式,是您個性簽名的首選。

如何對Android的APP進行簽名

1、在Android Studio中打開工程,點擊“Build”菜單下的“Generate Signed APK”。

2、在“Key store path”中輸入簽名文件路徑,輸入密碼,點擊“Next”。如果你沒有簽名文件,請點擊以下鏈接先生成一個簽名文件。

3、修改存放apk文件的路徑,并確認界面上的信息都準確無誤后,點擊“Finish”。

4、稍等片刻,在如下的窗口中可以簽名是否成功的消息。如果工程沒有錯誤,就會自動生成帶簽名的apk。點擊最下面的“Show in Explorer”。

5、這時就會打開Event Log 窗口,點擊窗口最后的“Show in Explorer”。

6、現在就會自動跳轉到以簽名的apk所在路徑啦。至此,你就可以在各大應用市場發布這個已簽名app啦。

手機app怎么修改簽名?

安卓是個開放平臺,許多源代碼都是開放的,這也注定了這個系統必定是會千姿百態的,對于喜歡個性化系統的童鞋來說,修改完后的apk文件(除系統apk外)一般都是要重新簽名才能正常安裝使用的,電腦端的就不說了,這里講下手機端的簽名方法,快捷方便,不用裝java和配置環境變量哈。

工具/原料

ZipSigner手機簽名工具(搜一下這個名字就能找到apk軟件);

安卓手機;

方法/步驟1

大家都知道,其實安卓apk實際上是一個zip壓縮包,所以首先我們要對apk文件進行改名與后綴,將其連同后綴一起改掉,如1.zip:

請點擊輸入圖片描述

請點擊輸入圖片描述

請點擊輸入圖片描述

請點擊輸入圖片描述

這時文件就變成一個zip壓縮包了,我們可以提取解壓這個壓縮包,打開這個解壓的文件,你就會看到里面構成程序文件的很多東西,然后你根據網上教程對程序進行簡要修改(當然如果要反編譯的話就不是這樣子了,不過直接解壓也是可以修改很多東西的),這里修改操作建議在電腦端完成比較方便,修改后重新將這些文件壓縮成zip格式:

請點擊輸入圖片描述

請點擊輸入圖片描述

請點擊輸入圖片描述

請點擊輸入圖片描述

下載安裝ZipSigner手機簽名工具,并打開:

請點擊輸入圖片描述

請點擊輸入圖片描述

請點擊輸入圖片描述

請點擊輸入圖片描述

點擊輸入,瀏覽文件目錄找到你剛修改好并重新壓縮的zip文件,在輸出選項可以修改其名稱,然后點擊簽名,模式為auto-testkey就可以了,等一會就簽名未完成了:

請點擊輸入圖片描述

請點擊輸入圖片描述

請點擊輸入圖片描述

然后在輸出目錄中找到你簽名并輸出的文件,這時為signed.zip,再將其后綴改成.apk,就可以顯示出程序圖標了,然后安裝上去就行,這里要注意,如果已經安裝的文件不是你自己簽名,而是官方的,會提示簽名不一樣無法安裝,所以你要刪除原來的程序才能安裝上你自己修改的程序哦。

請點擊輸入圖片描述

請點擊輸入圖片描述

請點擊輸入圖片描述

請點擊輸入圖片描述

安卓給app簽名方法

給app簽名,生成release apk。

1、生成keystore文件,這個可以用AndroidStudio生成。

2、假設生成的文件名叫test.keystore,放到工程的app下面。

3、修改app下面的build.gradle文件,增加如下內容:

4、 生成release版本apk

gradle clean build

安卓app開發一個自定義簽名軟件的介紹就聊到這里吧,感謝你花時間閱讀本站內容,更多關于安卓APP簽名、安卓app開發一個自定義簽名軟件的信息別忘了在本站進行查找喔。

掃碼二維碼
一区二区三区高清aⅴ专区