2012-02-02 12 views
9

जैसे एंड्रॉइड प्रोजेक्ट के लिए कई लक्ष्य बनाना संभव है, मैंने एकल कोड बेस के साथ कई आईफोन ऐप्स बनाने के लिए आईफोन Xcode Traget के साथ काम किया है। मेरा सवाल है, क्या एंड्रॉइड प्रोजेक्ट के लिए कई लक्ष्य बनाना संभव है। यदि हां, क्या ग्रहण के साथ यह संभव है?क्या एक्सकोड लक्ष्य

संपादित करें:

Xcode लक्ष्य: एक एकल परियोजनाओं में एक या अधिक लक्ष्य, जिनमें से प्रत्येक एक उत्पाद (एप्लिकेशन) का उत्पादन हो सकता है। इसमें हमेशा एक ही प्रोजेक्ट होता है जिसमें हम विशिष्ट लक्ष्य का चयन कर सकते हैं और वांछित ऐप चला सकते हैं

आईफोन में कई उत्पादों (एप 1, ऐप 2, एप्पल इत्यादि) के लिए केवल एक ही परियोजना है, अब मैं इस तरह एक एंड्रॉइड प्रोजेक्ट जैसा कर सकता हूं और कई उत्पादों (APP1, APP2, App3 आदि)

अग्रिम

उत्तर

10

एक विस्तृत अनुसंधान के बाद मैं Android Library Project एहसास हुआ मेरी आवश्यकता

एक एंड्रॉयड पुस्तकालय परियोजना एक विकास परियोजना है कि साझा एंड्रॉयड स्रोत कोड और संसाधनों को धारण करता है के लिए समाधान प्रदान करेगा। अन्य एंड्रॉइड एप्लिकेशन प्रोजेक्ट लाइब्रेरी प्रोजेक्ट का संदर्भ दे सकते हैं और, बिल्ड समय पर, को उनके .apk फ़ाइलों में संकलित स्रोत शामिल हैं। एकाधिक एप्लिकेशन प्रोजेक्ट एक ही लाइब्रेरी प्रोजेक्ट का संदर्भ दे सकते हैं और कोई भी एप्लिकेशन प्रोजेक्ट एकाधिक लाइब्रेरी प्रोजेक्ट्स का संदर्भ दे सकता है।

नोट: आप एसडीके उपकरण R14 या नए नए पुस्तकालय परियोजना विशेषता यह है कि अपने स्वयं के जार फ़ाइल में प्रत्येक पुस्तकालय परियोजना उत्पन्न करता है उपयोग करने के लिए की जरूरत है। आप एसडीके घटक जोड़ने में वर्णित एंड्रॉइड एसडीके और एवीडी प्रबंधक का उपयोग कर टूल और प्लेटफॉर्म डाउनलोड कर सकते हैं।

• यदि आप स्रोत कोड और संसाधनों कि कई एंड्रॉयड परियोजनाओं के लिए आम हैं है, तो आप उन्हें किसी लाइब्रेरी परियोजना के लिए स्थानांतरित कर सकते हैं इतना है कि यह आसान है अनुप्रयोगों और संस्करणों में बनाए रखने के लिए।

• आपको लगता है कि से कुछ समान घटकों का उपयोग कई संबंधित अनुप्रयोगों को विकसित कर रहे हैं, तो आप अपने संबंधित आवेदन परियोजनाओं के बाहर अनावश्यक घटकों को स्थानांतरित और यहाँ कुछ सामान्य परिदृश्य है जिसमें आप लाइब्रेरी प्रोजेक्ट का उपयोग कर सकता हैं लाइब्रेरी प्रोजेक्ट में एक ही घटक का एकल, पुन: उपयोग करने योग्य सेट बनाएं। यदि आप एप्लिकेशन बना रहे हैं जो निःशुल्क और भुगतान दोनों संस्करणों में मौजूद है। आप एप्लिकेशन के भाग को ले जाते हैं जो लाइब्रेरी प्रोजेक्ट दोनों संस्करणों में आम है। दो अलग-अलग परियोजनाएं, उनके विभिन्न पैकेज नामों के साथ, लाइब्रेरी प्रोजेक्ट का संदर्भ लेंगी और केवल दो12 संस्करणों के बीच अंतर प्रदान करेगी।

+0

मैं इस समाधान को प्राथमिकता देता हूं, मैं इसे अपने प्रोजेक्ट के लिए नई परियोजनाओं में उपयोग करूंगा, इस लाइब्रेरी के साथ प्रत्येक क्लाइंट के लिए आधार के रूप में। –

-1

धन्यवाद भी नहीं है एक भी परियोजना में एंड्रॉयड में केवल एक ही निर्माण लक्ष्य। Backword अनुकूलता मैनिफ़ेस्ट फ़ाइल में minSdkVersion, targetSdkVersion और maxSdkVersion का उपयोग कर समय स्थापित पर नियंत्रित किया जाता है

http://developer.android.com/guide/topics/manifest/uses-sdk-element.html 

भी Android Market यकीन है कि यह एक 86 डिवाइस पर दिखाई नहीं देता है कि आपके ऐप में मूल कोड है और एआरएम वास्तुकला के लिए बनाया गया है बनाने

+0

यह वही है ओ पी के बारे में पूछ रहा है नहीं। एक्सकोड में लक्ष्य का मतलब है कि विभिन्न छवियों और बैकएंड यूआरएल के साथ-साथ एक ही कार्यक्षमता के साथ कई अलग-अलग ऐप्स बनाने के लिए एक ही कोडबेस का उपयोग करना है। –

-2

आप नियंत्रित कर सकते हैं कि किसी ने किस संस्करण को स्थापित किया है और उस पर निर्भर करते हुए एक गतिविधि या दूसरा शुरू कर रहा है। आप कुछ इस तरह का उपयोग कर सकते हैं:

private static boolean version= android.os.Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.HONEYCOMB; 

और फिर कुछ ऐसा कार्य करें:

public void onCreate(Bundle savedInstanceState){ 
Intent startActivity =null; 
if(version) 
      startActivityIntent = new Intent(this, newVersionActivity.class); 
else 
     startActivityIntent = new Intent(this, oldVersionActivity.class); 

finish();} 

यह उदाहरण गूगल आई/ओ (न्यूनतम 5 ~) के एक वीडियो से है: http://www.google.com/events/io/2011/sessions/android-protips-advanced-topics-for-expert-android-app-developers.html। तो आपको minSdkVersion और maxSdkVersion निर्दिष्ट करना होगा और उसके बाद यह नियंत्रित करना होगा कि कौन सी गतिविधि शुरू होनी चाहिए।

+0

ओपी क्या पूछ रहा है यह नहीं है। एक्सकोड में लक्ष्य का मतलब है कि विभिन्न छवियों और बैकएंड यूआरएल के साथ-साथ एक ही कार्यक्षमता के साथ कई अलग-अलग ऐप्स बनाने के लिए एक ही कोडबेस का उपयोग करना है। –

9

एक थोड़ी देर हो चुकी है, लेकिन जो अभी भी समाधान की तलाश में उन लोगों के लिए:

Gradle बिल्ड सिस्टम एक बिल्ड संस्करण और उत्पाद जायके के संयोजन का उपयोग करता साझा/आम कोड बेस और संसाधनों के साथ अलग-अलग एप्लिकेशन उत्पन्न करने के लिए।

प्रति Android डेवलपर संदर्भ साइट के रूप में:

निर्माण प्रणाली उत्पाद जायके का उपयोग करता है अपने ऐप के विभिन्न उत्पाद संस्करण बनाने के लिए। आपके ऐप के प्रत्येक उत्पाद संस्करण में अलग-अलग सुविधाएं या डिवाइस आवश्यकताएं हो सकती हैं। बिल्ड सिस्टम प्रत्येक उत्पाद संस्करण में विभिन्न बिल्ड और पैकेजिंग सेटिंग्स को लागू करने के लिए बिल्ड प्रकारों का भी उपयोग करता है। प्रत्येक उत्पाद स्वाद और निर्माण प्रकार संयोजन एक निर्माण संस्करण बनाता है। बिल्ड सिस्टम आपके ऐप के प्रत्येक बिल्ड संस्करण के लिए एक अलग एपीके उत्पन्न करता है।

अब एक कोड के साथ एक एकल परियोजना के लिए दो या दो से अधिक उत्पाद स्वाद (भुगतान स्वाद, मुक्त/डेमो स्वाद) आदि हो सकते हैं।

अधिक जानकारी के लिए देखें Build Variants & Product Flavors Doc

+2

यह एक अच्छा समाधान है – rharvey

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