首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android debug.keystore 刪除後重新產生方法

     編輯:程式設計綜合問答

問題背景

誤刪 debug.keystore 或忘記密碼,導致無法簽署 Debug 版本 APK。Eclipse/Android Studio 會自動產生新的 debug keystore,但有時會失敗或報錯。

debug.keystore 預設位置

作業系統路徑
Linux / macOS~/.android/debug.keystore
Windows%USERPROFILE%\.android\debug.keystore

自動重新產生(最簡單)

  1. 刪除現有 debug.keystore 檔案
  2. 在 Android Studio 中:Build > Clean Project → Build > Rebuild Project
  3. 或直接執行 Run > Run 'app',Gradle 會自動偵測缺失並重新產生

新產生的 keystore 預設屬性:

  • 有效期:365 天(舊版)或 30 年(新版)
  • 別名:androiddebugkey
  • 密碼:android(keystore 與 key 密碼相同)
  • 演算法:RSA 2048 位元

手動產生(指定參數)


keytool -genkey -v -keystore debug.keystore \
  -alias androiddebugkey \
  -keyalg RSA -keysize 2048 -validity 10000 \
  -storepass android -keypass android \
  -dname "CN=Android Debug,O=Android,C=US"

參數說明:

  • -validity 10000:有效期 10000 天(約 27 年)
  • -dname:區分名稱,避免互動式輸入
  • 產生後放入對應 .android 目錄

Android Studio / Gradle 設定自定義 Debug 簽名

在 app/build.gradle 中指定:


android {
    signingConfigs {
        debug {
            storeFile file("../debug.keystore") // 相對專案根目錄
            storePassword "android"
            keyAlias "androiddebugkey"
            keyPassword "android"
        }
    }
    buildTypes {
        debug {
            signingConfig signingConfigs.debug
        }
    }
}

Eclipse ADT 時代做法(參考)

  1. 刪除 .android/debug.keystore
  2. Eclipse 偏好設定 → Android → Build → 確認 "Default debug keystore" 路徑
  3. Clean Project 觸發自動重建
  4. 若 Eclipse 崩潰,重啟後再試

常見問題排查

問題原因解決
重建後簽名不一致新舊 keystore 不同,無法直接升級安裝解除安裝舊版 App 再安裝新版
Gradle 報 keystore not found路徑錯誤或檔案損毀檢查 signingConfigs 路徑,或刪除讓 Gradle 自動重建
密碼錯誤手動建立時密碼非預設值Gradle 設定對應密碼,或重新用預設密碼產生
有效期過短舊版預設 365 天手動產生指定 -validity 10000

Release Keystore 遺失補充

Release keystore 一旦遺失無法恢復(除非有備份),將導致無法更新上架應用。務必:

  • 備份至多個安全位置(雲端硬碟、離線儲存、密碼管理器)
  • 記錄 keystore 密碼、key 密碼、別名
  • 使用 Google Play App Signing 讓 Google 管理上傳金鑰

總結

Debug keystore 遺失無妨,**刪除舊檔案後 Clean/Renbuild 專案即可自動重建**。預設密碼 android、別名 androiddebugkey。若需自訂參數可用 keytool 手動產生並配置 Gradle。Release keystore 則必須妥善備份,遺失將無法更新應用。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved