我正在開發我的第一款Android應用程序,而且我幾乎可以開始考慮將其作爲付費應用程序投入市場。爲市場保護應用程序
在研究這一步驟的過程中,我發現打破Google的複製保護方案基本上微不足道。我不知道這個問題有多嚴重,或者我們需要研究其他形式的保護。
很顯然,像ProGuard這樣的混淆器是一個很好的第一步,但是如何保護你的應用程序免於被釋放?其次,除了加密內容(這很難,因爲解密密鑰也必須存儲在程序中),你會如何防止某人僅僅傾銷sqlite3數據庫的內容?
我正在開發我的第一款Android應用程序,而且我幾乎可以開始考慮將其作爲付費應用程序投入市場。爲市場保護應用程序
在研究這一步驟的過程中,我發現打破Google的複製保護方案基本上微不足道。我不知道這個問題有多嚴重,或者我們需要研究其他形式的保護。
很顯然,像ProGuard這樣的混淆器是一個很好的第一步,但是如何保護你的應用程序免於被釋放?其次,除了加密內容(這很難,因爲解密密鑰也必須存儲在程序中),你會如何防止某人僅僅傾銷sqlite3數據庫的內容?
就在今天,谷歌發佈了旨在取代複製保護的新的授權服務的細節。詳情請看這裏:http://developer.android.com/guide/publishing/licensing.html
這聽起來像你有兩個安全問題:
關注分發應用程序#1:它絕對有可能爲用戶做到這一點。一種解決方案是免費提供應用程序,但禁用它直到他們在獨立網站上註冊(他們付費)。但是,這種方式違背了使用市場作爲分發應用程序的便捷方式的目的。
關注#2:這是一般開發Java應用程序的問題,並非針對Android。正如你所說,使用混合器是一個好的開始。但是,您總是能夠反編譯Java代碼,並且我知道這確實沒有任何簡單的解決方法。
我的意見是,盜版是非常困難的,如果罪魁禍首有足夠的動機停止。不過,總的來說,我不認爲它是Android開發人員的一個巨大關注。我知道很多不會眨眼下載盜版電影或視頻遊戲的人,但卻爲他們的所有移動應用程序付費。
目前90%的設備具有互聯網連接,其運行時間的90%。您應該考慮數據的重要性,並選擇始終保持服務器端,需要Internet連接,或將其保留在客戶端,使其易受攻擊。
嗯,不知道如何去做我自己的自定義格式...數據庫有一打表,和數千條記錄......在搜索平面文件時保持響應速度會很困難。 我認爲數字2,雖然不是一個壞主意,但似乎速度可能再次成爲問題,尤其是如果向下鑽取幾個等級,並且每次都必須等待一秒鐘。 – AndyD273 2010-07-28 16:00:28
來解決連接延遲問題,您可以使用您的自定義二進制協議並始終保持套接字連接,或者找到一種方法來處理Android內部HTTP客戶端。無論如何,持久連接是一個關鍵。 – 2010-07-28 16:07:06
這是個好消息。 – AndyD273 2010-07-28 19:13:51