1. 安卓app開發簽名文件是什麼意思
所有的android應用程序都要求開發人員用一個證書進行數字簽名,anroid系統不會安裝沒有進行簽名的由於程序。
平時我們的程序可以在模擬器上安裝並運行,是因為在應用程序開發期間,由於是以Debug面試進行編譯的,因此ADT根據會自動用默認的密鑰和證書來進行簽名,而在以發布模式編譯時,apk文件就不會得到自動簽名,這樣就需要進行手工簽名。
給apk簽名可以帶來以下好處:
1. 應用程序升級:如果你希望用戶無縫升級到新的版本,那麼你必須用同一個證書進行簽名。這是由於只有以同一個證書簽名,系統才會允許安裝升級的應用程序。如果你採用了不同的證書,那麼系統會要求你的應用程序採用不同的包名稱,在這種情況下相當於安裝了一個全新的應用程序。如果想升級應用程序,簽名證書要相同,包名稱要相同!
2.應用程序模塊化:Android系統可以允許同一個證書簽名的多個應用程序在一個進程里運行,系統實際把他們作為一個單個的應用程序,此時就可以把我們的應用程序以模塊的方式進行部署,而用戶可以獨立的升級其中的一個模塊
3.代碼或者數據共享:Android提供了基於簽名的許可權機制,那麼一個應用程序就可以為另一個以相同證書簽名的應用程序公開自己的功能。以同一個證書對多個應用程序進行簽名,利用基於簽名的許可權檢查,你就可以在應用程序間以安全的方式共享代碼和數據了。
不同的應用程序之間,想共享數據,或者共享代碼,那麼要讓他們運行在同一個進程中,而且要讓他們用相同的證書簽名。
2. android studio怎麼獲取數字簽名
一、網路官方方法
第一種:使用keytool
keytool -list -v keystorefile -storepass 123456
其中keytool為jdk自帶工具;keystorefile為Android 簽名證書文件
第二種:在adt 22中直接查看
如果使用adt 22,可以在eclipse中直接查看:winows -> preferance -> android -> build。 如下圖示:
其中"SHA1 fingerprint"值即為Android簽名證書的sha1值。
二、實際情況
原以為網路還挺人性,說就說了還截了個圖,咦呀,頓時那個仰慕之情滔滔江水啊,真正實操起來,悲催的事出現了,第二種方法的實際截圖是這個樣子的,然後就一臉黑線。
也就是第二種方法根本不能用!!!!MY GOD LADY GAGA
使用keytool
一、配置環境變數
由於要用到keytool工具,而keytool是jdk里的一個工具,首先將jdk/bin所在的目錄加到環境變數的PATH中
看我的keytool所在位置
將所在路徑E:\Program Files\android others\jdk\bin加到PATH變數中:
二、找到另一個文件debug.keystore
這個文件是在你放工程的目錄下的,如果是默認的話,是在C:\Documents and Settings\Administrator\.android目錄下
三、運行命令
1、使用cd命令,將工作目錄切換到C:\Documents and Settings\Administrator\.android目錄下
2、輸入:keytool -list -keystore debug.keystore
3、輸入密鑰庫口令:如果沒設置,這里就是空,直接回車就進去了。
3. 怎麼給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。或者可以點擊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文件)復制到手機上就可以正常的安裝運行了。
4. 如何生成android簽名文件
工具/原料
Win7 x64
adt-bundle-windows-x86_64-20140702
方法/步驟
新建一個工程命名為「HelloWorld」,操作如下圖所示, 處前兩個界面外,其他的界面都點擊默認值即可;
通過 「右鍵工程->Run As...->Android Application」, 在 工程目錄的 bin/HelloWorld.apk 會生成一個apk文件
點擊 「Use the Export Wizard」,如下圖所示:
點擊 Next, 如下圖所示:
1、選擇 "Create New Keystore",
2、輸入將要保存的數字簽名文件,如「D:\Android\key\HelloWorld.key」
3、輸入密碼,如:HelloWorld
4、輸入確認碼,如 HelloWorld
5、點擊 Next
效果如下:
輸入昵稱,密碼,確認碼,期限,名字後,點擊next,如下圖所示:
輸入需要簽名的apk包,點擊Finish後,就完成了對apk包的數字簽名
同時也會生成數字簽名用的文件,如:「"D:\Android\key\HelloWorld.key"」
5. android App數字簽名
使用Eclipse導出apk時選擇自定義的Keystore。輸入密碼後,最後一步你就會看到這個自定義Keystore的SHA1碼了,你不要使用系統自帶的那個debug.keystore的SHA1碼,每個自定義的Keystore其SHA1都不一樣的,看我的截圖:
6. 求問,Android程序如何修改數字簽名
破壞原來簽名後再簽名,反編譯,解壓都可以……再生成apk簽名
簽名方法:
http://www.cnblogs.com/maxinliang/p/3169335.html
有源碼用eclipse生成時簽名
http://jingyan..com/article/c910274bfd8c00cd361d2d97.html
7. 如何生成Android的簽名證書
cmd命令生成android簽名證書,有空在寫一篇eclipse導出帶簽名的apk,這裡麵包括生成新的簽名。現在還是講講在cmd怎麼操作生成簽名證書。
1、dos下進入JDK的bin目錄
運行如下命令:keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore
(-validity 20000代表有效期天數),命令完成後,bin目錄中會生成android.keystore
示例:
C:\Program Files (x86)\Java\jdk1.8.0_25\bin>
keytool -genkey -alias test.keystore -keyalg RSA -validity 20000 -keystore d:\test.keystore
ps:-alias test 生成的keystore別名,-keyalg RSA 加密和數字簽名的演算法,-validity 20000 有效天數
輸入密鑰庫口令:123456
再次輸入新口令:123456
您的名字與姓氏是什麼?
[Unknown]: rob
您的組織單位名稱是什麼?
[Unknown]: abc
您的組織名稱是什麼?
[Unknown]: abc
您所在的城市或區域名稱是什麼?
[Unknown]: guangzhou
您所在的省/市/自治區名稱是什麼?
[Unknown]: guangzhou
該單位的雙字母國家/地區代碼是什麼?
[Unknown]: cn
CN=rob, OU=abc, O=abc, L=guangzhou, ST=guangzhou, C=cn是否正確?
[否]: y
輸入 <test> 的密鑰口令
(如果和密鑰庫口令相同, 按回車):
如果沒有錯誤則回去查看D盤根目錄下,多了test.keystore
所以第一次輸入的是,密鑰庫的密碼。
最後輸入時密鑰別名的密碼。到這里生成簽名就搞定啦。
2、查看md5指紋驗證
輸入keytool -list -v -alias androiddebugkey -keystore 再加上剛剛從紅色框中復制出來的內容
我這里的就是keytool -list -v -alias androiddebugkey -keystore C:\Users\ZLQ\.android\debug.keystore了,回車
-alias androiddebugkey 這個是別名
-keystore C:\Users\ZLQ\.android\debug.keystore 具體位置的密鑰庫
要求輸入密碼,密碼是android,至此就可以拿到MD5認證指紋了
8. 如何對Android的APP進行簽名
1、在Android Studio中打開工程,點擊「Build」菜單下的「Generate Signed APK」。