2011-02-27 12 views
23

मेरे पास एक एंड्रॉइड प्रोजेक्ट है जिसमें एंटी बिल्डफाइल है। यह कमांड लाइन के माध्यम से महान काम करता है:ग्रहण में एंड्रॉइड build.xml का उपयोग कर?

[email protected]:~/git/$ ant 
Buildfile: build.xml 
    [setup] Android SDK Tools Revision 8 
    [setup] Project Target: Android 2.1-update1 
    [setup] API level: 7 
    [setup] 

    ... etc etc etc ... 

लेकिन build.xml जब मैं, ग्रहण में इस का उपयोग करने की कोशिश एक लाल एक्स है।

<?xml version="1.0" encoding="UTF-8"?> 
<project name="MyWonderfulProject" default="help"> 

<project त्रुटि के साथ रेखांकित किया जाता है: डिफ़ॉल्ट लक्ष्य मदद इस परियोजना

यह इंटरनेट पर अन्य सभी की तरह लगता है इस मुद्दे को है में मौजूद नहीं है, और यह तथ्य की वजह से किया जा रहा है कि build.xml उन निर्देशों का उपयोग कर रहा है जो कई नेस्टेड एंड्रॉइड-विशिष्ट फ़ाइलों से आते हैं जो इस बिल्डफाइल आयात करते हैं।

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

फिक्स क्या है?

उत्तर

0

अपने build.xml आयातित एक पर भरोसा करने के बजाय अपनी ही मदद लक्ष्य है, तो आप लाइन

<taskdef name="setup" classname="com.android.ant.SetupTask" classpathref="android.antlibs" /> 
+1

मैं एक ऐसी ही समस्या आ रही है, और कोई आत्म परिभाषित मदद लक्ष्य है। android_rules.xml से सहायता लक्ष्य का उपयोग किया जाना चाहिए, लेकिन इसे build.xml फ़ाइल में चिपकाकर भी इस त्रुटि को हल नहीं करता है। (ग्रहण 3.6, एंड्रॉइड स्कड 10, लक्ष्य एंड्रॉइड -7 है) कमांड लाइन पर चींटी के साथ निर्माण पूरी तरह से काम करता है। – forksandhope

1

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

13

विकल्प 1:

आयात build.xml फ़ाइल में एंड्रॉयड चींटी टेम्पलेट फ़ाइल। मान लें कि आप sdk.dirlocal.properties में परिभाषित किया है और अपने Android स्थापना निर्देशिका की ओर इशारा करते, परियोजना तत्व के अंतर्गत निम्नलिखित जोड़ें:

<import file="${sdk.dir}/platforms/${target}/templates/android_rules.xml" /> 

विकल्प 2:

वास्तव में ग्रहण चींटी परिप्रेक्ष्य में एंड्रॉयड चींटी लक्ष्यों का उपयोग करने के लिए, उपरोक्त मदद नहीं करेगा। वहाँ कुछ सामान्य स्तर असंगति है कि मैं पूरी तरह से हल करने के लिए, लेकिन एक संतोषजनक स्तर पर काम कर रहे चीजें पाने के लिए पता लगा नहीं किया है लगता है, हालांकि आप कर सकते हैं:

  • आयात एक एक निर्माता के रूप में परियोजना build.xml। परियोजना गुण -> बिल्डर्स -> आयात।
  • विकल्प 1 का उपयोग न करें। इसके बजाय लापता टेम्पलेट के बारे में चेतावनी को अनदेखा करें। वैश्विक गुण -> चींटी -> संपादक -> समस्याएं। नामों के लिए build.xml जोड़ें।

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

+0

यह सही दिशा में एक कदम है! फॉलो-अप: जब मैं build.xml देखता हूं तो लाल-एक्स का दूर जाना जाता है। लेकिन चींटी परिप्रेक्ष्य में अभी भी एक त्रुटि है: '$ {sdk.dir}/प्लेटफ़ॉर्म/$ {target} /templates/android_rules.xml से आयात नहीं किया जा सकता है ... '। जब मैं संपादक में चरों पर होवर करता हूं, तो सही मान पॉप अप होते हैं। लेकिन चींटी परिप्रेक्ष्य उस प्रतिस्थापन को प्रतीत नहीं होता है। मदद? – poundifdef

+0

आपने मेरा दिन बनाया, तातू लाहतेला !! महान जवाब के लिए धन्यवाद, इससे बहुत मदद मिली !! :-) – Bryan

+0

यह लगभग काम करता है! चींटी परिप्रेक्ष्य मेरे build.xml में लक्ष्य नहीं दिखाता है ताकि मैं एक व्यक्तिगत लक्ष्य पर डबल क्लिक कर सकूं। क्या आपको वही व्यवहार मिलता है? – poundifdef

4

यह समस्या को ठीक नहीं करता है, लेकिन यह आपके रास्ते में ग्रहण बंद कर देगा। Window > Preferences > Ant > Editor पर जाएं, और Problems टैब का चयन करें। ignore all buildfile problems बॉक्स को चेक करें।

+0

यह लगभग काम करता है! चींटी परिप्रेक्ष्य मेरे build.xml में लक्ष्य नहीं दिखाता है ताकि मैं एक व्यक्तिगत लक्ष्य पर डबल क्लिक कर सकूं। क्या आपको वही व्यवहार मिलता है? – poundifdef

+0

अनदेखा बॉक्स को खोलने के बाद build.xml को खोलना/बंद करना पड़ा त्रुटि गायब होने के लिए। – Asahi

6

$ {sdk.dir}/tools/ant/main_rules में परिभाषित 'सहायता' नामक एक लक्ष्य है।नीचे की तरह xml,

<target name="help"> 

    <echo>Android Ant Build. Available targets:</echo> 
    <echo> help:  Displays this help.</echo> 
    <echo> clean:  Removes output files created by other targets.</echo> 
    <echo> compile: Compiles project's .java files into .class files.</echo> 
    <echo> debug:  Builds the application and signs it with a debug key.</echo> 
    <echo> release: Builds the application. The generated apk file must be</echo> 
    <echo>    signed before it is published.</echo> 
    <echo> install: Installs/reinstalls the debug package onto a running</echo> 
    <echo>    emulator or device.</echo> 
    <echo>    If the application was previously installed, the</echo> 
    <echo>    signatures must match.</echo> 
    <echo> uninstall: Uninstalls the application from a running emulator or</echo> 
    <echo>    device.</echo> 
</target> 

इसे अपने build.xml पर कॉपी करें और इसे काम करना चाहिए।

+2

काम करने लगता है। वास्तव में, आपको केवल की आवश्यकता है – tamberg

2

मैं एक ही मुद्दा है और सभी मैंने किया ग्रहण

Window->Preferences->Ant->Editor->Problems 

पर गोटो था और क्लिक

Ignore All Build File Problems. 
संबंधित मुद्दे