1. 程式人生 > >安卓學習LESSON3:第一次執行除錯,瞭解KEYSTORE

安卓學習LESSON3:第一次執行除錯,瞭解KEYSTORE

建好第一個專案後,去嘗試執行除錯程式,遇到下述報錯。
在這裡插入圖片描述

其中提到了一個很重要的概念 KEYSTORE。

keystore的作用
有利於程序升級:當新版程式和舊版程式的數字證書相同時,Android系統才會認為這兩個程式是同一個程式的不同版本。如果新版程式和舊版程式的數字證書不相同,則Android系統認為他們是不同的程式,併產生衝突,會要求新程式更改包名。
有利於程式的模組化設計和開發:Android系統允許擁有同一個數字簽名的程式執行在一個程序中,Android程式會將他們視為同一個程式。所以開發者可以將自己的程式分模組開發,而使用者只需要在需要的時候下載適當的模組。
可以通過許可權(permission)的方式在多個程式間共享資料和程式碼:Android提供了基於數字證書的許可權賦予機制,應用程式可以和其他的程式共享概功能或者資料給那那些與自己擁有相同數字證書的程式。如果某個許可權(permission)的protectionLevel是signature,則這個許可權就只能授予那些跟該許可權所在的包擁有同一個數字證書的程式。
keystore的兩種模式
除錯模式(debug mode):在除錯模式下, Android Studio會自動的使用debug金鑰為應用程式簽名,因此我們可以直接執行程式。
釋出模式(release mode):當要釋出程式時,開發者就需要使用自己的數字證書給apk包簽名。
keystore的生成
1.通過eclipse
右鍵專案>>>Android Tools>>>Export Signed Application Package…>>>>Next >>>>選擇create new keystore 這裡選擇儲存的地址輸入兩次密碼>>>>填寫基本資訊

2.通過Android Studio
(1).點選Build ,在下拉框中選擇 “Generate Signed APK”,然後填寫資訊即可。
在這裡插入圖片描述
原文:https://blog.csdn.net/jokerwangwang/article/details/78737360

我們所使用的KEYSTORE有兩種模式:除錯(debug),釋出(release)
如果沒有指定debug使用的KEYSTORE則會使用預設keystore,在 $HOME/.android/debug.keystore下。所以建立keystore後我們需要在專案裡指定使用的keystore.

專案上單擊右鍵,開啟MODULE SETTINGS。在 APP-》SIGNING標籤頁中可以新增多個KEYSTORE資訊,在BUILD TYPES標籤頁中可以指定專案所使用的KEYSTORE。
在這裡插入圖片描述


在這裡插入圖片描述
在這裡插入圖片描述
參考:https://blog.csdn.net/nimasike/article/details/51457229

在我指定了我建立的KEYSTORE後,依然沒有通過編譯,又遇到了下述錯誤。
在這裡插入圖片描述
從檔案中讀取KEY失敗。想到建立時填寫了KEY ALIAS
在這裡插入圖片描述
在這裡插入圖片描述
上述的兩個KEY ALIAS我沒有匹配,正確匹配後便可以成功編譯了!
在這裡插入圖片描述