這是寫在App-Signing是的Android應用程序簽名
Android系統不會安裝或運行未適當簽名的應用程序。
但是,我想知道爲什麼我仍然可以在模擬器中運行未簽名的應用程序。我認爲只有在發佈應用程序時才需要簽署應用程序。我的理解是否正確?
感謝, artsylar
這是寫在App-Signing是的Android應用程序簽名
Android系統不會安裝或運行未適當簽名的應用程序。
但是,我想知道爲什麼我仍然可以在模擬器中運行未簽名的應用程序。我認爲只有在發佈應用程序時才需要簽署應用程序。我的理解是否正確?
感謝, artsylar
安卓系統每次安裝時都會檢查你的應用證書。在仿真器上運行應用程序時,IDE會使用生成的調試證書爲您簽名。 您可以看到通過執行實驗確實如此:
從一臺計算機在設備上使用IDE安裝應用程序。 然後嘗試從另一臺計算機安裝相同的應用程序。安裝時會出現錯誤:錯誤的證書。
請記住,此調試證書有效直到您要發佈應用程序。然後,您將需要創建密鑰庫並正確簽署該應用程序。別忘了備份密鑰庫!
您使用的是模擬器的應用在編譯時使用調試證書籤發。所以應用程序已簽名,但出於簡單性,這是爲您自動完成的。
檢查這個question
注意,「簽名」可能不是你指的是在這裏。在正常開發過程中創建APK時,它將通過調試密鑰進行簽名。這類APK可以分發,但無法工作,例如在Android Market上。一個真正的「未簽名」APK可以創建,但它不能被安裝,除非你手動簽名
是... 如果您正在運行模擬器,不需要簽名應用程序,因爲android構建工具會自動執行此操作。
如果您希望將其提供給最終用戶,您必須使用您的私鑰對其進行簽名以避免篡改應用程序。
非常感謝您的回覆。我已經嘗試安裝使用eclipse從另一臺計算機通過adb install命令編譯的已簽名應用程序,並且對於證書我仍然沒有收到任何錯誤。 – artsylar 2011-05-06 08:33:48
Hehey,沒有。您應該在另一臺計算機上重建您的應用程序:) – 2011-05-06 08:37:43