2011-04-06 57 views
13

我在Eclipse中開發了一個Git項目,我需要創建一個Production ready .apk和一個Dev .apk來安裝在相同的設備上。如何在同一設備上安裝兩次相同的Android App .apk?

兩者之間的變化是次要的屬性設置,如XML飼料等

不管有沒有Eclipse的,什麼是創建Producion和德韋的apk文件在同一安裝的最佳實踐設備?

+0

我可以問你爲什麼要在同一個設備上同時運行兩個?我可以理解不同生產和開發人員的需求,但不需要同時需要這兩者。 – 2011-04-06 02:31:55

+0

@RobertMassaioli讓我給你一個用例:你有一個應用程序 - 該應用程序是基於租戶的 - 即應用程序可能僅在打印輸出定義/配置文件等方面有所不同......取決於應用程序的租戶被建立。現在可能會發生這樣的情況:應用程序對於一個設備上的兩個租戶都是必需的,因爲使用該應用程序的人員適用於兩個租戶。長話短說:肯定有一個用例(安裝了同一個應用程序的多個生產版本) – AgentKnopf 2012-03-29 10:38:34

回答

12

我發現要做到這一點的唯一方法是更改​​軟件包名稱。從技術上講,這隻需要在清單文件中完成,但這可能會導致一些構建錯誤,因此您可能必須重命名該包。所以如果您有com.company.app,您可以將其更改爲com.company.app.dev和com.company.app.prod。 只要你沒有使用任何反射,Eclipse應該處理所有爲你重命名的代碼。

+0

我實際上最終採用這種方法。謝謝。 – Todd 2011-04-07 13:48:28

+1

Eclipse ADT v20使得這個非常簡單,如下所示:http://stackoverflow.com/a/11829480/226513 – Adam 2012-10-22 07:09:06

2

我解決這類問題在下列方式:

我有3個不同的活動:基本的生產和開發,如:

public class BasicActivity extends Activity {} //actually conntains all code 
public class ProductionActivity extends BasicActivity {} //empty one 
public class DevelopmentActivity extends BasicActivity {} //empty one 

然後有2個不同的 體現,說:生產(點 到ProductionActivity作爲 啓動的,並且具有不同 封裝)和發展(指向 DevelopmentActivity作爲啓動的)

當我需要啓動生產一 - 我用複製生產清單(與螞蟻任務)作爲真正的一個,反之亦然與開發之一。

由於R.class必須與清單中聲明的​​包相同,所以資源編譯出現小的複雜性。但是,再次用一些「手工製作」的貼圖來解決這個問題。

相關問題