2011-01-30 70 views
8

我想添加我的應用程序的兩個版本到Android Market,一個幾美分,一個免費版本,與廣告。這是一種非常普遍的做法。你如何在市場上發佈兩個版本的應用程序?

我目前正在建設AdMod到我的應用程序,它似乎我不得不改變相當多的文件,因此它似乎最好讓我的應用程序用於這個單獨的版本。

你是如何實現這一目標的?分店?不同的存儲庫?有沒有人找到一種合理的方式將這兩個應用程序保存在同一個存儲庫中?

標題沒有拼錯,我的意思是「意識到」,即人們如何管理這兩個版本,而不是他們如何將它們添加到市場。

回答

8

這種事情是一個完整的噩夢 - 不幸的是,Android編譯系統真的不支持它在什麼好的辦法。

我們通過在圖書館項目中使用我們的應用程序的99%的代碼來實現它。然後,我們爲每個不同版本的應用程序創建一個應用程序項目,每個應用程序項目都使用該庫。

,我們需要不同版本的應用程序的不同的行爲,我們目前通過其在運行時查詢不同的資源實現這一目標。不過,我們正在通過RoboGuice轉向使用依賴注入。

這樣的元素合理地工作得很好,而其他元素則不合適。例如,需要複製AndroidManifest.xml文件,該文件可能容易出錯(例如,將一個新活動添加到一個清單並忘記在其他清單中執行)很容易。不幸的是,這是一團糟,但是我們發現的最差的解決方案。

就個人而言,我強烈建議不要使用分支來實現此效果。他們最初可以很好地工作,但會迅速成爲維修的噩夢。

使用庫的一個好處是我們發現它使測試變得相當容易。有關如何設置此示例,請參見:

http://www.paulbutcher.com/2010/09/android-library-project-with-tests-step-by-step/

2

人們通常上傳兩次(如兩個不同的程序),只需修改標題添加類似無廣告,捐贈等類似的東西。在免費版本中,只需添加免費標籤並添加廣告支持的描述。

這裏是短信彈出應用程序的示例:

SMS Popup Versions Side-by-Side

對於Android市場,它們被認爲是不同的程序,但對我們來說是相同的,但一個是廣告支持及其他不是。

+0

我想他的意思是如何保持兩個版本的開發更容易。所以他不需要單獨修改這兩個程序,只是因爲他想要兩個版本。除了廣告之外,我還假設兩個版本都幾乎相同。 – ontrack 2011-01-30 12:36:10

+0

是的,原聲說得對。但有人編輯標題,從而改變了問題,所以難怪Nathan錯了...... – Metric 2011-01-30 12:37:38

相關問題