android調試簽名
Ⅰ android 應用簽名怎麼獲取
方法/步驟
1
1 win7,開始菜單,搜索cmd
2
2 打開cmd
3
3 進入.android
4
4 使用命令keytool -list -v -keystore debug.keystore
5
5 需要安裝keytool,辦法是安裝jdk,網路搜索jdk並下載安裝;具體平台按實際情況選擇
6 安裝完畢,進入到jdk安裝bin目錄,並復制地址
7 回到cmd命令窗口,輸入cd + 空格,並在標題欄右側點擊粘貼
8 回車,進入到這個目錄
9 再次輸入keytool -list -v -keystore debug.keystore命令並回車,出現錯誤
10 先執行以下命令keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -validity 10000
11 按提示輸入密碼(自己定),密保答案等;到後來需要重新再輸入密碼,生成完成
12 到keytool目錄下,看到debug.keystore已經生成成功
13 將這個文件復制到.android文件夾下
14 現在再次鍵入生成android簽名的命令:keytool -list -v -keystore debug.keystore,按提示輸入密碼,即可成功生成簽名
15 在標題欄右鍵選擇標記復制其中的SHA1的值,即為android的簽名
Ⅱ Android怎麼簽名和加密
前言:
當我們編寫完我們的app之後,我們還需要做兩件事:簽名和加密
簽名:
1>為什麼要簽名?
主要是為了確保應用的安全,為什麼這么說呢?那麼,我們首先假設android沒有簽名這個概念,
在這個前提下,下面來舉個實例說明簽名的重要性,比如,我寫了一個myApp,然後裝在了我的手機上,
與此同時,我又裝了一個yourApp,在裝yourApp的時候,突然發現myApp被覆蓋了,為什麼?因為yourApp
的包名和myApp的包名相同,那麼,這樣對於開發人員寫的app的安全性是沒有保障的,也就是說,隨便一個
包名相同的app就可以將另一個app覆蓋掉了,而我們知道獲取一個應用的包名是很容易的事,所以此時簽名的
概念也就隨之而來了,主要是為了保證app的安全性,因為簽名只有開發人員才知道,就算其他人知道這個應用
的包名,但是不知道這個應用的簽名,依舊是沒法覆蓋的,所以這就是android中的簽名的作用,與此同時,
在這里也需要提醒一下我們的開發人員,一旦app上市,那麼這個app的簽名一定要保存好,不然再次升級時,
是沒辦法做到覆蓋的,最好是將簽名再復制一份給上司;
2>如何簽名?
在android studio中,選擇Build -----> Generate Signed APK...
在這個對話框中,Build Type選擇Finish即可完成簽名;
註:(簽名apk生成目錄)
我們簽名之後的apk文件,可以在上邊這幅圖中可以看到,不要找錯簽名的應用了,
在本示例中,其目錄就是:C:UsersDAIDesktop
加密:
1>為什麼要進行加密?
簡而言之,就是為了讓我們的apk不被其他人所破解;
2>如何加密?
參考了一下網上的做法,就是:通過「愛加密」來達到對我們所寫APK的一種加密
註:在愛加密上加密了我們的APK之後,其官網也有明確注釋,就是還需要再進行簽名一次,否則,APK無法運行,
其簽名工具,在 「 愛加密 」 官網上已給出;
這樣當我們在對我們的已經加密的APK破解時,可以發現,其已無法直接獲取得到源碼了!!!
閱讀全文
Ⅲ 安卓如何指定android.keystore簽名和調試生成apk簽名怎麼設置一致
第一,你需要做一個簽名文件,也就是你說的android.keystore,比較簡單,網路搜索apk簽名文件即可。
第二,你可以選擇下列方式給apk簽名(常見的利用jdk的keytool工具便可以簽名,方法非常簡單)。
如果你用了eclipse,則可以右鍵工程,在android tools選項中選擇export signed application package(生成簽名APK),按向導提示導入第一步的簽名文件即可。
如果你用的是android studio,則可以在build選項中選擇生成簽名apk,按向導提示導入第一步的簽名文件即可。
Ⅳ 運行android程序會默認生成簽名嗎
開發Android的人這么多,完全有可能大家都把類名,包名起成了一個同樣的名字,這時候如何區分?簽名這時候就是起區分作用的。
由於開發商可能通過使用相同的Package Name來混淆替換已經安裝的程序,簽名可以保證相當名字,但是簽名不同的包不被替換。
APK如果使用一個key簽名,發布時另一個key簽名的文件將無法安裝或覆蓋老的版本,這樣可以防止你已安裝的應用被惡意的第三方覆蓋或替換掉。
這樣簽名其實也是開發者的身份標識。交易中抵賴等事情發生時,簽名可以防止抵賴的發生。
二、簽名的注意事項
Android系統要求所有的程序經過數字簽名才能安裝,如果沒有可用的數字簽名,系統將不許安裝運行此程序。不管是模擬器還是真實手機。因此,在設備或者是模擬器上運行調試程序之前,必須為應用程序設置數字簽名。
Android簽名的數字證書不需要權威機構來認證,是開發者自己產生的數字證書,即所謂的自簽名。數字證書用來標識應用程序的作者和在應用程序之間建立信任關系,而不是用來決定最終用戶可以安裝哪些應用程序。
系統僅僅會在安裝的時候測試簽名證書的有效期,如果應用程序的簽名是在安裝之後才到期,那麼應用程序仍然可以正常啟用。
可以使用標准工具-Keytool and Jarsigner-生成密鑰,來簽名應用程序的.apk文件。
簽名後需使用zipalign優化程序。
模擬器開發環境,開發時通過ADB介面上傳的程序會先自動被簽有Debug許可權,然後才傳遞到模擬器。Eclipse菜單的Window -> Preferences -> Android –> Build 下顯示的是我們默認的調試用的簽名數字證書。
正式發布一個Android應用時,必須使用一個合適的私鑰生成的數字證書來給程序簽名,不能使用ADT插件或者ANT工具生成的調試證書來發布。
三、簽名方法:
1.使用Keytool 和jarsigner工具簽名(在jdk/bin目錄下)
1.生成簽名keystore:
確保電腦上安裝了JDK,因為我們將使用JDK自帶的創建和管理數字證書的工具Keytool。在命令行下輸入如下命令:
keytool -genkey -v -keystore app.keystore -alias alias_name -keyalg RSA -validity 20000
-alias 後面跟的是別名這里是alias_name
-keyalg 是加密方式這里是RSA
-validity 是有效期這里是20000
-keystore 就是要生成的keystore的名稱這里是app.keystore
然後按回車鍵
按回車後首先會提示你輸入的密碼:這個在簽名時要用的,要記住
然後會再確認你的密碼。
之後會依次叫你輸入姓名、組織單位、組織名稱、城市區域、省份名稱、國家代碼(CN)等。
2.簽名:
jarsigner -verbose -keystore app.keystore -signedjar app_signed.apk app.apk alias_name
-keystore: keystore的名稱
-signedjar app_signed.apk: 指定簽名後生成的APK名稱
app.apk: 目標APK
然後按回車:會要求輸入剛才設置的密碼,輸入後按回車就開始簽名了。
3.查看簽名:
jarsigner -verify app_signed.apk
查看是否簽名,如果已經簽名會列印 "jar verified".
jarsigner -verify -verbose -certs app_signed.apk
查看簽名詳細信息。
4.通過zipalign工具進行優化apk(android自帶的工具,./build/tools/zipalign)
zipalign -v 4 app_signed.apk androidres.apk 對apk優化
zipalign -c -v 4 androidres.apk 查看apk是否經過優化
2.使用eclipse ADT工具簽名
在Package Explorer 窗口,右鍵,選擇Android Tools--->Export Signed Application Package 然後按照提示一步一步,生成已簽名的apk。通過eclipse也可以導出未簽名的APK文件。
註:需要輸入兩次密碼,第一次是私鑰密碼,第二次時私鑰別名的密碼。
3.eclipse在debug模式下自動簽名(無須手動配置):
在debug模式下用eclipse 的ADT為android簽名,只要應用程序在eclipse下開發,系統就會自動給apk簽名和優化。
在Eclipse中Windows > Preferences > Android > Build可以看到你keysotre的位置;
四、生成Android系統簽名
上面講的Android數字簽名大多是與Android APK相關,做CTS 認證時,需要用到Android系統簽名。為什麼需要給Android系統簽個名才能進行CTS認證呢?原來我們通過make -j4編譯出來的system.img使用的是test key,這種類型的key只適用於開發階段,而且這種秘鑰是公開的,誰都可以使用。當發布一款android產品,就需要另外給整個系統簽個名,防止被別人盜用。這種系統就是release版本的Android系統。
1、生成加密key文件
要對Android系統進行簽名,需要生成四種類型的key文件。
a)releasekey (testkey)
b)media
c)shared
d)platform
1)進入/android_src/development/tools目錄。
2)使用make_key工具生成簽名文件。需要分別生成 releasekey,media,shared,platform。
./make_key releasekey '/C=CN/ST=JiangSu/L=NanJing/O=Company/OU=Department/CN=Your Name/emailAddress=YourE-mailAddress' (系統將會提示輸入針對各種key的密碼,按照提示輸入即可)
將會生成 releasekey.pk8 和 releasekey.x509.pem文件,其中 *.pk8是生成的私鑰,而*.x509.pem是公鑰,生成時兩者是成對出現的.
註:如果出現 openssl : relocation error :openssl : symbol ...嘗試用 sudo 執行命令,問題解決了!
2.回到根目錄android_src。
命令執行的時候都最好在工程的根目錄下執行,要不然腳本用到的某些文件找不到的。
3.編譯系統
make -j4 PRODUCT-generic-user dist
其中generic 表示生成的TARGET_PRODUCT類型為generic,
user代表TARGET_BUILD_VARIANT為user版本。
編譯完成之後回在android_src/dist/目錄內生成個proct_generic-user_files開頭的zip文件.這就是我們需要進行簽名的文件系統.
4.開始簽名
./build/tools/releasetools/sign_target_files_apks -d key_directory/ out/dist/proct_mol-target_files.zip out/dist/signed_target_files.zip
通過sign_target_files_apks 腳本,完成android系統的簽名工作.
key_directory/ 表示key所在的目錄。
out/dist/proct_mol-target_files.zip 源文件。
out/dist/signed_target_files.zip 生成簽名的目標文件。
可能會出現:
ERROR: no key specified for:
CalendarWidget.apk
Contacts_yellowpage.apk
SnsAppMain.apk
這表示,簽名並沒有成功,原因是由於有些apk程序已經簽過名了或者找不到對應的key. 這需要我們對apk設置過濾,不對上面的應用進行簽名.方法如下:
通過參數"-e <apkname>=" 來過濾這些應用.
./build/tools/releasetools/sign_target_files_apks -d key_directory/ -e CalendarWidget.apk= -e Contacts_yellowpage.apk= -e SnsAppMain.apk= -e out/dist/proct_mol-target_files.zip out/dist/signed_target_files.zip
輸入該命令時會提示輸入key的密碼,會出現四次密碼輸入提示。分別為四種類型的key的密碼。
5.生成image文件
./build/tools/releasetools/img_from_target_files out/dist/signed-target-files.zip signed-img.zip
用img_from_target_files 命令對生成的igned-target-files.zip文件進行打包,signed-img.zip包含了boot.img,userdate.img,system.img文件等.
6.通過fastboot下載signed-img.zip文件
fastboot update signed-img.zip
通過fastboot就可以把簽了名的系統文件燒到手機上了。
Ⅳ android studio 怎麼真機調試簽名包
創建好一個默認的「hello world!」項目。
在工具欄中找到app,點開後選擇「Edit configurations」.
在對話框中的「target device」中選擇「USB device」,並將安卓手機與電腦相連,保證手機打開調試,驅動正常。
從工具欄中點擊「run」(對應著三角符號),或者在菜單欄中「run」 下選擇「run app」,或者按快捷鍵shift+F10。
啟動run後,軟體開始生成apk安裝包,並自動安裝到手機上,第一次執行的話會慢一些,往後就快了。執行這些操作的時候可以查看軟體下方的「android」項,可以看到自動識別的安卓手機,在右側會顯示當前的操作信息。
安裝完後,在「Message」中可以看到「BUILD SUCCESSFUL」。
此時安卓手機也自動安裝好app並自動執行。
Ⅵ 如何查看android 應用簽名
1、查看自己的應用簽名可以通過兩種方式查看(1) debug的apk通過Eclipse查看,:
(2) 某個keystore簽名的應用,通過
Java
keytool -list -keystore E:\Trinea\keystore\appsearch.keystore
查看,會要求輸入簽名密碼,默認為android,:
2、查看三方應用或是系統應用簽名用winrar打開待查看的apk,將其中META-INF文件夾解壓出來,得到其中的CERT.RSA文件,通過
Java
keytool -printcert -file META-INF/CERT.RSA
命令列印證書信息,如微信證書信息:
可以查看簽名的MD5、SHA1、SHA256值及簽名演算法
Ⅶ Android簽名有什麼作用
平時我們的程序可以在模擬器上安裝並運行,是因為在應用程序開發期間,由於是以Debug面試進行編譯的,因此ADT根據會自動用默認的密鑰和證書來進行簽名,而在以發布模式編譯時,apk文件就不會得到自動簽名,這樣就需要進行手工簽名。給apk簽名可以帶來以下好處:1.、應用程序升級:如果你希望用戶無縫升級到新的版本,那麼你必須用同一個證書進行簽名。這是由於只有以同一個證書簽名,系統才會允許安裝升級的應用程序。如果你採用了不同的證書,那麼系統會要求你的應用程序採用不同的包名稱,在這種情況下相當於安裝了一個全新的應用程序。如果想升級應用程序,簽名證書要相同,包名稱要相同!2、應用程序模塊化:Android系統可以允許同一個證書簽名的多個應用程序在一個進程里運行,系統實際把他們作為一個單個的應用程序,此時就可以把我們的應用程序以模塊的方式進行部署,而用戶可以獨立的升級其中的一個模塊3、代碼或者數據共享:Android提供了基於簽名的許可權機制,那麼一個應用程序就可以為另一個以相同證書簽名的應用程序公開自己的功能。以同一個證書對多個應用程序進行簽名,利用基於簽名的許可權檢查,你就可以在應用程序間以安全的方式共享代碼和數據了。不同的應用程序之間,想共享數據,或者共享代碼,那麼要讓他們運行在同一個進程中,而且要讓他們用相同的證書簽名。
Ⅷ android studio怎麼用簽名的apk進行調試
debug 其實也有簽名,是默認的。
Ⅸ 怎麼給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文件)復制到手機上就可以正常的安裝運行了。
Ⅹ Android studio怎麼生成簽名apk
打開項目以後,點擊項目,選擇 Build 菜單, 然後選擇 Generate Signed APK.
打開生成對話框:
選擇 Create new... 按鈕, 生成新的Key, 彈出新生成對話框:
首先選擇 Key 存儲的路徑.
可能是有BUG, 在彈出的選擇 keystore file 對話框中,需要先輸入 File name, 如 ``, 文件後綴名 保持默認的 jks 不變。然後再改變保存的路徑(否則輸入不了名字).
最後的路徑可能是這樣的: E:\CODE_ALL\02_GIT_ALL\cncounter-Android\key_store\cncounter-android-key.jks
接著輸入密碼, 建議不要太簡單,也不要太復雜。 此處示例的密碼為:
為了簡單起見, 所有密碼都設置為同一個:
有效時間默認25年,以支撐你的整個APP周期。
Country Code (XX) 應該是 CN,
然後點擊OK, 回到生成界面
勾選上記住密碼,然後點擊下一步.
如果彈出輸入密碼保護,可以選擇留空,不使用這種保護。
點擊OK,進入下一步:
選擇 release 是發布版本,選擇 debug 是調試版本。 此處, 選擇 release , 然後點擊完成按鈕即可。
然後會告訴你生成完畢,可以選擇查看:
生成的APK
下次需要生成,只需要從 Build 菜單, 選擇 Generate Signed APK 即可。
因為上次選擇了記住密碼,所以這里不需要記住密碼。
然後繼續即可。