2011-11-18 11 views
6

में प्रत्येक बिल्ड के बाद बैच फ़ाइल चलाएं मेरे पास कई परियोजनाएं हैं जो मैं एक साथ काम करता हूं।एक्लिप्स

हर बार जब मैं उनमें से एक बनाता हूं और चलाता हूं, तो एपीके बिन फ़ोल्डर में सामान्य के रूप में स्थित होता है।

यदि मैं इस एपीके को परियोजना के बाहर किसी अन्य फ़ोल्डर में कॉपी करना चाहता हूं, तो मुझे इसे मैन्युअल रूप से करना होगा।

मैंने एक बैच फ़ाइल बनाई है जो मेरी सभी परियोजनाओं की एपीके फ़ाइलों को वांछित स्थान पर कॉपी करता है।


वहाँ कहीं परियोजना के बाहर या अधिक बेहतर प्रत्येक के बाद बैच फ़ाइल को चलाने के निर्माण को बिन फ़ोल्डर के उत्पादन में स्थान बदलने के लिए कोई तरीका है?


नोटिस

मैं एडीटी साथ ग्रहण का उपयोग कर रहा हूँ। मैंने एक निर्माता को जोड़ने की कोशिश की है जो बैच फ़ाइल निष्पादित करता है। हालांकि, जब बैच फ़ाइल चलायी जाती है, तो एपीके फ़ाइल अभी तक उत्पन्न नहीं होती है। मैंने बिल्डर में विकल्पों के सभी संयोजनों और बिल्डरों के अनुक्रमों के सभी संभव प्रयासों की कोशिश की।

+0

क्या आप' मेकफ़ाइल' का उपयोग कर रहे हैं? यदि हां, तो यह कैसा दिखता है? इस कार्य के लिए अधिकांश 'मेकफ़ाइल' को समायोजित करना आसान होगा, वैसे भी ... – sarnold

+0

मैं ग्रहण के लिए एंड्रॉइड प्लगइन का उपयोग करता हूं? यह वास्तव में शर्मनाक है लेकिन मुझे इसके बारे में पता नहीं है। –

उत्तर

5

यदि आप बिल्डिंग को पूरा करने के लिए केवल खुश हैं, तो अंतिम निर्माण के लिए कमांड लाइन पर स्विच करते हुए, फिर एंटी के साथ, बहुत कम प्रयास या कॉन्फ़िगरेशन के साथ आप जो चाहते हैं उसे प्राप्त करना वास्तव में आसान है।

अनुमान

1) आपका स्रोतों एक Android कार्यक्षेत्र में हैं और आप binaries के दो सेट के साथ खत्म हो जाएगा - एक ग्रहण द्वारा किए गए, अन्य चींटी द्वारा किए गए के रूप में कार्यक्षेत्र के बाहर खत्म हो जाएगा एक गुण द्वारा निर्धारित फ़ाइल

2) आप SDK14 या 15 (चींटी 14 में बदल)

3) उपयोग कर रहे हैं आप एक है स्थापित टी और अपने रास्ते में - आप चींटी 1.8.2 की आवश्यकता होगी - यह आंतरिक एक है कि ग्रहण का उपयोग करता है, तो आप अपाचे साइट से इसे पाने के लिए हो सकता है नहीं है, यह स्थापित करने के लिए

कदम आसान है

1)http://developer.android.com/guide/developing/projects/projects-cmdline.html

उदाहरण में बताया गया मैं प्रयोग किया जाता के लिए कमांड लाइन से एक नमूना परियोजना बनाओ: एंड्रॉयड परियोजना बनाने --target 8 --name Sample15App --path c: \ देव \ परियोजनाओं \ नमूने \ नमूना 15 - सक्रियता नमूना 15 सक्रियता - पैकेज com.me.samplefifteen

यह एक निर्देशिका और जो आप अपने परियोजनाओं में एक टेम्पलेट के रूप में बाद में उपयोग करेगा

2) ग्रहण से अपने कार्यक्षेत्र में एक नमूना परियोजना बनाने के लिए कुछ फ़ाइलें कर देगा, मैं अपने कार्यस्थान में से एक में EclipseSample बनाया

build.xml ant.properties एल:

3) कॉपी निम्नलिखित अपने EclipseSample परियोजना की जड़ तक Sample15App से फाइल ocal.properties

4) संपादित ant.properties (जो शुरू में खाली है) इस उदाहरण की तरह होने के लिए:

projectname=EclipseSample 
workspace.dir=/dev/projects/EclipseIndigo/AndroidWorkTwo 
base.dir=${workspace.dir}/${projectname} 
outbasebase.dir=/dev/projects/AntBuilds 
outbase.dir=${outbasebase.dir}/${projectname} 
ant.project.name=${projectname} 
out.dir=${outbase.dir}/bin 
layout.dir=${base.dir}/res/layout 
source.dir=${base.dir}/src 

इस से आप देख सकते हैं कि मेरे कार्यक्षेत्र /dev/परियोजनाओं/EclipseIndigo है/AndroidWorkTwo

इस के तहत ग्रहण परियोजना निर्देशिका में है EclipseSample

मैं अपने apks /dev/परियोजनाओं में समाप्त करना चाहते हैं/AntBuilds/EclipseSample (यानी outbasebase अन्य परियोजनाओं के लिए ProjectName है, ताकि आप एक बहुत समान ant.properties उपयोग कर सकते हैं बस ProjectName बदल फ़ाइल के साथ concatenated)

5) महत्वपूर्ण - build.xml

टिप्पणी बाहर संपादित करने या लाइन को हटा दें:

<project name="Sample15App" default="help"> 

सिर्फ

<project> 
साथ बदलें

यह सिर्फ इसे build.xml बजाय ant.properties से इस परियोजना का नाम ले जाएगा मतलब है और आप अपने सभी परियोजनाओं में एक ही build.xml उपयोग कर सकते हैं, केवल ant.properties

6 बदलने की जरूरत है)/AntBuilds/EclipseSample

7) अंत में "चींटी डिबग" के साथ प्रयास करें/dev/परियोजनाओं के तहत डिबग apks बनाने चाहिए अगर आप रिहाई का निर्माण (हस्ताक्षर करने और पासवर्ड स्वचालित रूप से प्रवेश करने को स्वचालित करना चाहते) पंक्तियाँ जोड़ें जैसे

key.store.password=YourPassword 
key.alias.password=YourPassword 
key.store=c:/users/you/yourrelease-key.keystore 
key.alias=release_alias 
ant.properties को

और फिर तुम सिर्फ "चींटी रिलीज"

आप उन्हें जोड़ नहीं है, तो इसे मैन्युअल रूप से हस्ताक्षर करने के लिए आपको बता देंगे टाइप करें और के रूप में कोई पासवर्ड प्रविष्टियों 'build.properties में पाए गए '(- यही था कि ant.properties को प्री एसडीके 14 कहा जाता था, उन्हें इसे सही करना चाहिए था!) ​​

+0

आपके समय +1 के लिए धन्यवाद मैं एएसपी कोशिश करूंगा –

4

आप Project Properties->Builders->New... का उपयोग कर अपने प्रोजेक्ट में नए बिल्डर्स जोड़ सकते हैं।

ऐसा करने का एक तरीका एक चींटी निर्माण (जो फ़ाइल की प्रतिलिपि बनाता है), या सिर्फ एक सादा पुरानी लिपि या बैच फ़ाइल बनाना है।

+0

निर्माण के बाद बैच फ़ाइल को कैसे चलाया जा सकता है?'बिन फ़ोल्डर' में एपीके फ़ाइल के ठीक बाद –

+0

बनाया गया है बिल्डर्स पृष्ठ पर ऊपर और नीचे बटन का उपयोग करके आप बिल्डरों को ऊपर और नीचे ले जा सकते हैं। यदि आप निर्माण के बाद ऐसा करना चाहते हैं, तो अन्य सभी बिल्डरों के बाद इसे नीचे ले जाएं। –

+0

कृपया मेरे साथ बेकार है। मैंने एक नया निर्माता जोड़ा। 'स्थान' को बैच फ़ाइल स्थान पर सेट करें। अब, 'बिल्ड विकल्प' में, "बिल्डर चलाएं" नामक विकल्प है, जहां मुझे कम से कम एक चेकबॉक्स चुनना चाहिए: (क्लीन के बाद) - (मैन बिल्ड के दौरान) - (ऑटो बिल्ड के दौरान) - (दौरान साफ)। उनमें से कोई भी मेरे लिए काम नहीं कर रहा है और बैच फ़ाइल एक त्रुटि दे रही है कि फ़ाइल नहीं मिली है, इसलिए यह फ़ाइल के निर्माण से पहले कॉपी करने की कोशिश कर रहा है। एक और बात, ऐसा लगता है कि फाइल केवल तब निष्पादित की जाती है जब "एक साफ के बाद" चेक किया जाता है। –