2010-01-06 41 views
6

我已經被要求提供我編寫的Android應用程序的一些審查副本,這很棒,但我不願意將完整的應用程序發佈給任何人。我想製作一個限時版本(這個版本可以工作大約兩週,然後放棄鬼魂)。如何製作Android應用的評論副本?

這樣做最簡單的方法是什麼?我自己沒有測試過這個,但我認爲理論上,如果使用在兩週內到期的密鑰庫構建應用程序可能會起作用。這是正確的,還是我必須在應用程序中放置一行代碼,如果您在設定的日期後嘗試啓動它,它會關閉它?

回答

4

安裝應用程序後,密鑰庫不會被檢查;只有在安裝時才能驗證日期。

你將不得不把自己的時間限制代碼,我想象。雖然如果你想成爲真正的偏執狂,你可以考慮用戶可以改變他們的設備的時鐘。

或者,你可以做一個在線檢查(對服務器的時間),或者讓你發出的每個APK都有一個嵌入的單獨的令牌,它可以根據你的服務器進行驗證。

+0

啊,很高興知道密鑰庫檢查。 – 2010-01-06 21:50:57

+0

有趣的故事,我試圖測試出簡單的解決方案(代碼中的截止日期),我實際上無法更改系統時間。當然,Android會讓我打開一個對話框來手動設置日期,但一些Receiver不停地提取它並將其改回!也許這並不像人們認爲簡單地「改變時間」以保持應用程序正常工作那麼簡單 - 或者也許我的ADP1有點過分了。 :P – 2010-01-08 15:38:46

1

最簡單的方法是對結束日期進行硬編碼,之後不再運行。如果用戶改變他們的系統時間,它可以被規避,但這是一件麻煩事。

否則,您可以讓您的應用程序通過http連接到您的服務器來定期檢查許可證,但這需要更多的工作。

1

這聽起來像個好主意。您可能希望將應用程序手機置於家中,並通過服務器驗證是否已經過了一段時間。用戶可以隨時在手機上刪除您的偏好設置文件,或者卸載並重新安裝應用程序以避開手機上的限制。

我相信keystore方法也可以工作,但我不確定他們是如何在Android中工作的。

完成後請將其作爲開源項目 - 我認爲這會對很多人有用!

3

我有一個最簡單的建議,如果審閱者購買應用程序,並且您退還了付款?

+1

這是偶爾使用的好主意,但我不會太用它,因爲過多的信用卡退款可能會使您的帳戶被標記。 – 2012-02-21 17:53:23

0

按照Google的說法:「如果您打算在Android Market上發佈您的應用程序,您用於簽署應用程序的密鑰必須有效期爲2033年10月22日以後。Market服務器執行此操作要求確保用戶可以在新版本可用時無縫升級市場應用程序「

我們對開發者挑戰賽II項目所做的事情是,當我們達到有效期時,我們處理的任何新數據都被過期警告取代。因此,該應用程序與現有數據一起運行,但不與用戶在到期後輸入的任何新數據一起運行。由於我們的應用處理了短信,因此設置回時鐘對用戶來說是一個不切實際的長期解決方案,可以克服到期時間。

1

您可以使用TelephonyManager.getDeviceId()並創建一個只會在審閱者手機上運行的應用程序。

您可以將其硬編碼到應用程序中,也可以通過手機檢查您的服務器,並在其中存儲每個設備ID的權限。在後一種情況下,您可以讓應用程序在找不到許可證時顯示設備ID;審閱者告訴你這個,然後你在你的數據庫中輸入。

0

根據您給審閱者的應用程序類型,您可能有其他選項。

你把它編碼成很多共享軟件,只讓應用程序運行很多次。這個代碼很容易實現。當然評審員可以刪除這些數據,但不是很容易。我認爲他們可能會花費幾美元去處理那些麻煩。

2

我只是想到了一個很酷的方式來做到這一點。 您製作了應用的Beta版本,您可以定義測試人員組,只需要該人員的電子郵件地址或他們可以請求訪問的G +社區,然後將其添加到Beta程序。