解決選擇 Active Build Variant -> Release 執行錯誤
前言
以下內容為 :
1. Active Build Variant 在選擇 Debug 時執行正常,切換至 Release 後錯誤的處理方式.
2. Release key 資料 在 signingConfigs 會顯示敏感資料的處理.
切換至 Release 後錯誤的處理方式
開啟 Project Structure |
選擇 Modules |
選擇 Signing Configs ,並點選 “ + ” |
新增一個 Signing Config |
填寫 .jks 金鑰資訊 |
注意:如果還沒有申請金鑰,請先申請後再返回填寫.
未申請金鑰,點選 Generate Signed Bundle or APK 先申請 已申請可以跳過這一步 |
點選 Create New |
填寫詳細資訊,請務必保存好金鑰即記住 Alias 跟 Password |
返回 Signing Configs
選擇檔案,填寫相關資訊後,點選 OK |
signingConfigs 是包在 android { } 括號內 |
Project Structure 切換到 Build Variants |
選擇 release,在 Signing Config 下拉選單選擇預設的值 |
設定完成點選 OK |
確認 buildTypes { } 括號內 signingConfig 以設定 buildTypes 與 signingConfigs 相同,是包在 android { } 括號內 |
以上設定完成即可正常執行.
Release key 資料 在 signingConfigs 會顯示敏感資料的處理
官方文件注意事項
由於 build.gradle 內包含金鑰等敏感訊息,可以透過設定移除私密訊息.
官網文件標題為 -> 從項目中移除私密簽名訊息
實作 -> 新增 Properties
輸入名稱,不用強制命名為 keystore |
檔案包含敏感資訊不用加入版本控制,點選 Cancel |
將 build.gradle(app) 內金鑰資訊,填寫在 keystore.properties 注意不要用使用引號 ‘ ’,否則會錯誤 |
外層 build.gradle -> storeFile 已經有宣告 file ( )
keystore.properties 內參數 storeFile 不用再填寫 file ( )
keystore.properties 內參數 storeFile 不用再填寫 file ( )
def keyStorePropertiesFile 需要先宣告,否則會錯誤
storeFile file(keystoreProperties[store]) 會帶一段路徑,路經會到專案下的 app 資料夾
“Users/xxx/AndroidStudioProjects/testGit/app/” -> 根據設定專案位置會所不同
“” 內路徑會帶到專案內的 app 資料夾路徑下,所以只要加入 key 名稱即可,填錯會無法執行 APP
Modules 下的資訊都會被 keystore.properties 變數取代 |
需要注意金鑰檔案的位置:
1. 直接取得檔案的寫法,敏感資訊沒有隱藏,key 的位置可以放在電腦內的任意位置,只需要給定資料夾的位置即可.
2. 使用 keystore.properties 後,金鑰的位置需要移動到專案 app資料夾下,沒有設定會錯誤.
原位置 (直接取得)
'/Users/xxx/Desktop/key/froggy'
使用 keystore.properties (需要放在專案下)
'/Users/xxx/AndroidStudioProjects/testGit/app/froggy'
後記
如果這篇文章對於你有幫助,可以幫忙分享給更多的人,如果文章內容有誤,可以在下方留言告知.
留言
張貼留言