2011-04-06 12 views
13

मेरे पास गिट में एक प्रोजेक्ट है जिसे मैं एक्लिप्स के साथ विकसित करता हूं कि मुझे पर डिवाइस पर एक प्रोडक्शन तैयार करने की आवश्यकता है। एपीके और देव। एपीके को स्थापित करने की आवश्यकता है।मैं उसी डिवाइस पर दो बार एक ही एंड्रॉइड ऐप। एपीके कैसे इंस्टॉल करूं?

दोनों के बीच परिवर्तन मामूली गुण सेटिंग, XML फ़ीड जैसे, आदि

के साथ या ग्रहण के बिना

, producion और एच.डी. .apk फ़ाइलें बनाने के लिए सबसे अच्छा अभ्यास एक ही पर स्थापित किया जा रहा है क्या है डिवाइस?

+0

क्या मैं पूछ सकता हूं कि आप एक ही डिवाइस पर एक ही समय में क्यों चलना चाहते हैं? मैं अलग-अलग उत्पादन और देव apks की आवश्यकता को समझ सकता हूं लेकिन दोनों एक ही समय में उनकी आवश्यकता नहीं है। –

+0

@RobertMassaioli मुझे आपको एक केस-केस दें: आपके पास एक ऐप है - ऐप किरायेदार-आधारित है - यानी ऐप केवल प्रिंटआउट परिभाषाओं/कॉन्फ़िगरेशन फ़ाइलों आदि के संबंध में भिन्न हो सकता है ... जिस किरायेदार के लिए ऐप क्या निर्माण। और अब यह हो सकता है कि ऐप दोनों उपकरणों के लिए एक डिवाइस पर आवश्यक है, क्योंकि इसका उपयोग करने वाले व्यक्ति किरायेदारों दोनों के लिए काम करता है। अच्छी कहानी एक लंबी कहानी बनाने के लिए: निश्चित रूप से एक उपयोग-मामला है (उसी ऐप के कई उत्पादक संस्करण स्थापित होने के साथ) – AgentKnopf

उत्तर

12

मुझे ऐसा करने का एकमात्र तरीका पैकेज नाम बदलना है। तकनीकी रूप से यह केवल मैनिफेस्ट फ़ाइल में किया जाना है, लेकिन इससे कुछ बिल्ड त्रुटियां हो सकती हैं, इसलिए आपको शायद पैकेज का नाम बदलना होगा। इसलिए यदि आपके पास com.company.app है तो आप इसे com.company.app.dev और com.company.app.prod में बदल सकते हैं। ग्रहण तब तक आपके लिए सभी कोड नामकरण को संभालना चाहिए जब तक आप किसी भी प्रतिबिंब का उपयोग नहीं कर रहे हों।

+0

मैं वास्तव में इस दृष्टिकोण के साथ आगे बढ़ गया। धन्यवाद। – Todd

+1

ग्रहण एडीटी v20 यहां बताया गया है कि यह बहुत आसान बनाता है: http://stackoverflow.com/a/11829480/226513 – Adam

2

मैं निम्नलिखित तरीके से इस तरह की समस्या को सुलझाने हूँ: बुनियादी, उत्पादन और विकास, जैसे:

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

तो फिर वहाँ 2 अलग प्रकट कर रहे हैं, कहते हैं कि

मैं 3 विभिन्न गतिविधियों है : उत्पादन (अंक ProductionActivity के रूप में चलाने योग्य प्रोग्राम और है विभिन्न पैकेज) और विकास (अंक को चलाने योग्य प्रोग्राम के रूप में DevelopmentActivity)

012,

जब मुझे उत्पादन शुरू करने की आवश्यकता होती है - मैं उत्पादन के रूप में प्रस्तुति (चींटी कार्य के साथ) प्रतिलिपि बनाने के लिए उपयोग करता था और विकास के साथ विपरीत था।

R.class के बाद संसाधनों के संकलन के साथ छोटी जटिलता है जैसा कि प्रकट में घोषित किया गया है उसी पैकेज में होना चाहिए। लेकिन फिर से कुछ "हस्तनिर्मित" चींटियों के साथ मैंने इस समस्या को हल करने के लिए भी क्षतिग्रस्त किया है।

संबंधित मुद्दे