2013-04-12 28 views
1

我剛剛爲發佈我的第一個Android應用程序而構建。我使用keytool.exe使用密鑰對其進行了簽名。Android:爲發佈和調試簽署的apk文件沒有區別

然後,我做了以下。我上傳到網站這兩個文件,apk簽署發佈和apk簽署調試。

然後,通過我的Android設備,我進入了網站並單擊了兩個文件鏈接。他們都行爲平等。以相同方式下載的文件。我可以通過在「下載」文件夾中點擊它們來安裝它們。

我預計會有一些差異。例如,設備在直接從網站點擊時自動安裝發行版本。

什麼是一個釋放和調試apk文件之間的區別?

謝謝。

+2

一個區別是Play Store不會接受使用調試密鑰簽名的apk。 – NickT

+0

是的,但我更關注其他問題。例如,在我的實驗中,我沒有達到Android網站所說的內容:「當用戶通過Android設備訪問下載鏈接時,會下載該文件,Android系統會自動開始將其安裝到設備上。」 – jaiserpe

回答

2
  • 所有的應用程序都必須簽名。如果沒有簽名,系統不會在仿真器或設備上安裝應用程序。
  • 爲了測試和調試您的應用程序,構建工具使用由Android SDK build 工具創建的特殊調試密鑰在您的應用程序 上簽名。
  • 當您準備爲最終用戶發佈應用程序時,您必須使用合適的私鑰對其進行簽名。您無法發佈使用SDK 工具生成的調試密鑰簽名的應用程序。
  • 您可以使用自簽名證書對您的應用程序進行簽名。不需要證書頒發機構。

http://developer.android.com/tools/publishing/app-signing.html

1

正如阿里所說,應用必須簽署並建成一個發佈版本的谷歌Play商店和設備,以允許安裝。

在android設備上,您可以允許未簽名的包,但除非測試您自己的包,否則不建議這樣做。

調試和發佈之間的主要區別是編譯方法和它如何得到簽名。這並不會影響Android設備訪問APK的方式。

如果在Play商店中,APK會推送到您的手機並進行安裝。將網站上的APK文件鏈接或下載到設備上將只下載該文件,用戶仍然需要打開/運行/安裝該應用程序。