2014-03-02 49 views
0

我開發了一個應用程序(論文),供10人(地質學家)使用。我的問題是,我是否需要在發佈模式下籤署我的應用程序,或者只是通過閃存驅動器從bin中給他們發送apk文件?Android應用程序是否需要在發佈到客戶端之前登錄發佈模式

+0

什麼阻止你只是在apk上簽名? – donfuxx

+0

我只是不知道是否需要簽名,因爲他們只是私下使用它,他們不想分享它,所以..不需要上傳它在Play商店.. – Jane07

回答

1

android手機將拒絕安裝一個根本沒有簽名的apk,所以問題是在簽署一個調試證書和簽署一個發佈版本之間。

雖然您可以在市場之外發布經過調試簽名的apk,但調試證書的有效期通常短於一年。這至少會在將來提供升級時導致問題,因爲在證書過期後,您將不得不創建一個新證書,並且更改證書需要清除每個電話上舊版本的私人數據。

(據文檔,已經安裝的應用程序將繼續其證書過期後繼續工作,但可能仍然是問題,如果一個用戶得到一個新的設備等)

也有安全隱患(除了它被破壞的版本除外),run-as調試工具允許任何具有adb的人執行程序作爲debug-cerficate應用程序的用戶標識。這將暴露應用程序中的所有私人數據,就像在根源手機上運行一樣。

由於這些原因,以及一般「這不是它是爲了!」分銷渠道往往拒絕接受調試簽名的apk。

+0

因此,調試簽名的apk證書是一年,而發佈模式可能會佔用用戶輸入的任何年份的有效性權限? – Jane07

+1

儘管這是對OP問題的技術上準確的答案,但它並無用處。 OP幾乎肯定不知道如何製作「未簽名」的APK。如下所述,最好解釋他的APK * IS *簽名。它使用dev密鑰簽名,沒有特別的理由不分發它。 –

+0

相反,我在這裏解釋的是爲什麼發佈調試簽名的apk通常被看作* unwise *的原因。由於這是分發已簽署協議的唯一可行的替代方案,因此它可以從字面上和實際上回答這個問題。 –

1

根據android developer guide您的應用程序必須進行數字簽名才能安裝或運行Android系統。 This可能會幫助你簽署apk。

+1

這不會回答問的問題,涉及調試與發佈證書 –

0

如果您不打算在Google Play上進行上傳,並且只是爲了測試目的而只是爲了測試目的或分發給客戶端,那麼您可以在使用調試證書籤名後分發您的APK。

一旦您的調試證書過期並且調試證書有效期將近一年,APK將不會安裝/更新。

安裝後,Android SDK爲您在名爲debug.keystore的密鑰庫中爲您生成一個「調試」簽名證書。調試證書僅在365天內有效。

如果您正在尋找更新版本,如果您使用自己的發行證書籤署您的應用程序,並且您可以在此設置過期有效期,那就太好了。

+1

如果我更新應用程序或僅在市場中上傳應用程序,他們是否可以自動獲取更新? – Jane07

+0

你可以像市場一樣做同樣的事情,但這不會保持沉默。爲此,您必須在Android應用程序中編寫代碼,在您的服務器上保留一個版本文件,以告知您的應用程序是否有任何更新,如果有,則下載更新的應用程序並要求用戶安裝該應用程序。對於所有這些過程,您還需要Web API。如果你正在尋找這個,我建議你去Google Play,而不是管理Google Play已經擁有的東西 –

+1

不真實,即使在開發過程中,Android設備也不會讓你安裝** unsigned ** apk。問題在於分發一個已簽名的調試版apk與一個已發佈的版本。 –

相關問題