2013-02-23 58 views
0

我會盡力更好地解釋我的問題。 我們正在爲目標客戶開發業務應用程序。 該應用程序具有一些非常特定於客戶的功能,但核心應該被重新用於其他客戶。 對於所有客戶而言,登錄活動都是相同的,但客戶A可以看到活動A,而客戶B可以看到活動B等等......應用程序的哪部分顯示是通過返回的數據進行管理的登錄。開發定製的Android應用程序與共享核心的最佳實踐

我想只有一個項目,以便更好地保持它......但在這裏我的問題: 我創建客戶A的應用程序,具有常見的活動和自定義活動。 我把這個應用程序與包名稱com.mybigapplication和apk名稱mybigapplication.apk在Play商店。

客戶下載安裝並使用它。

現在我有客戶B,我參加了同一個項目,我將爲客戶B添加自定義活動,並且希望將該應用放在Play商店中。

這裏我的問題,如果我把應用程序與相同的封裝與APK命名客戶A將更新不需要任何理由的應用...

我該怎麼辦? 有沒有辦法解決這個問題?

請注意,我還沒有在商店裏放任何東西。

致以問候

回答

0

要走的路是將通用代碼放在Android庫項目中,即客戶A和客戶B的專用應用程序將依賴於該項目。所以,你將有3個項目在Eclipse:

  • 普通(庫)
  • customerA(安卓)
  • customerB(安卓)

的Android應用程序是唯一由package屬性標識AndroidManifest.xml。兩個Android項目可以(實際上必須)在他們的清單中具有不同的package屬性,這就是如何升級一個應用程序不會影響其他應用程序。

有關存儲庫項目的更多詳細信息,請參閱文檔: http://developer.android.com/tools/projects/index.html#LibraryProjects

這篇文章也可能會有所幫助: http://blog.donnfelker.com/2010/08/05/howto-android-full-and-lite-versions/

+0

庫項目似乎是正確的解決方案適合我,感謝您的幫助。我會試一試。 – bule 2013-02-25 10:45:46

0

一個簡單的解決方案是創建兩個不同包名的獨立項目。

然後寫一個shell腳本或東西,僅僅定期從項目A的目錄拷貝所有的源文件到項目B.

你必須要小心,不要複製的東西,可能搞砸配置等你必須手動調整這些。例如,清單文件不能直接複製;您必須手動將項目A中的任何活動,服務等添加到項目B的清單中。

另一種選擇是使用共享代碼創建Android library project,並將其包含在兩個項目中。 Here's a tutorial on this

相關問題