2010-12-07 60 views
7

我剛剛發佈了我的第一個應用程序,並希望有一個免費版本。我想知道我應該如何管理我的免費版本分支(在svn中),這樣很容易合併完整版本的更改?是否可以在Manifest文件中更改包名?或者包名在代碼中必須有所不同?如果是這樣,我怎麼能輕鬆地合併更改?如何管理免費版本?

感謝,傑森

回答

1

你真的想保持一個不同的分支創建一個免費的版本?
我會使用相同的代碼庫和在免費版禁用某些特徵,無論是由#ifdef或配置參數。

+0

但我不能在市場上發佈同樣的包名APK兩次反正能嗎? – Jason 2010-12-07 18:31:54

+0

@Jason,我不知道android開發,但是你不能只保存一個單獨的包名稱被定義的文件副本嗎? – 2010-12-07 18:43:03

+0

如果只是在清單中,那麼是的,但如果我需要更改代碼包,那麼這可能是一個問題,我被建議做一個假包,只是將清單文件更改爲可能工作的假包會讓你知道它是否 – Jason 2010-12-07 18:47:54

2

我在所有的應用程序使用此:

public static final boolean LITE_VERSION = true; 

然後用它來禁用某些功能。

重要的是要知道,如果LITE_VERSION設置爲true,java編譯器將忽略if(!LITE_VERSION)塊中的任何代碼段,所以它不能被反向設計(可以使用「javap -c「命令)。

+1

很感謝,但這仍然給我帶來軟件包名稱問題,你對此做了什麼? – Jason 2010-12-07 18:49:08

0

我嘗試使用相同的代碼庫和包名,並提供溢價鍵,這可能是一個額外的應用程序(APK),或只是一個序列號。這種方法具有積極的副作用,即想要升級的用戶可以使用其舊數據和設置。關鍵只是使得像提一個標誌,它使功能前動態