2012-03-02 13 views
8

के साथ एंड्रॉइड ऐप (एक्शनबैरशेलॉक और व्यूपेगरटैब्स दोनों को संदर्भित करने में विफल) मेरे पास एक एंड्रॉइड ऐप है जो एक्शनबैरशॉक & व्यूपेगरटैब्स का उपयोग करता है। मैं ग्रहण लिखने और इसे बनाने के लिए उपयोग करता हूं, और जब तक मैं इसे एंट के साथ बनाने की कोशिश नहीं करता तब तक यह ठीक से काम करता है। यहाँ मैं क्या किया है:एंट

  1. ActionBarSherlock फ़ोल्डर में जाएँ, चलाने "एंड्रॉयड अद्यतन lib-परियोजना --path।"
  2. ViewPagerTabs फ़ोल्डर पर जाएं, "एंड्रॉइड अपडेट lib-project --path चलाएं।" भी
  3. ऐप फ़ोल्डर पर जाएं, "एंड्रॉइड अपडेट प्रोजेक्ट --पथ" चलाएं। "

:

[javac] C:\Android\TestApp\src\com\test\App\TestActivity.java:46: cannot find symbol 
[javac] symbol : method getSupportActionBar() 
[javac] location: class com.test.App.TestActivity 
[javac]   final ActionBar ab = getSupportActionBar(); 
[javac]       ^

तो कोई सवाल ही नहीं

  • रन "और डिबग" एप्लिकेशन फ़ोल्डर के अंतर्गत है, और मैं निम्न त्रुटियों मिला है। 1: मेरे पास ऐप की प्रोजेक्ट.प्रोपर्टीज में सही लाइब्रेरी संदर्भ हैं, और एक्शनबैरशॉक & व्यूपेगरटैब्स सफलतापूर्वक बनाया जा सकता है, मुझे अभी भी इन त्रुटियों को क्यों मिलता है?

    इस समस्या के लिए एक कामकाज है - लाइब्रेरी के बिन फ़ोल्डर के तहत सभी वर्गों को कॉपी करें ऐप के libs फ़ोल्डर में, और फिर "चींटी डीबग" चलाएं। लेकिन मुझे ऐप के libs फ़ोल्डर के तहत इन .jar फ़ाइलों को हटाने की जरूरत है। ऐप की सभी जावा फाइलों को संकलित किया जा सकता है।

    [dx] processing archive C:\Android\ActionBarSherlock\library\bin\classes.jar... 
    [dx] ignored resource META-INF/MANIFEST.MF 
    [dx] processing android/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoStubImpl.class... 
    [dx] processing android/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl.class... 
    [dx] processing android/support/v4/accessibilityservice/AccessibilityServiceInfoCompat.class... 
    [dx] processing android/support/v4/accessibilityservice/AccessibilityServiceInfoCompatIcs.class... 
    [dx] processing android/support/v4/app/ActionBar$LayoutParams.class... 
    [dx] processing android/support/v4/app/ActionBar$OnMenuVisibilityListener.class... 
    [dx] processing android/support/v4/app/ActionBar$OnNavigationListener.class... 
    [dx] processing android/support/v4/app/ActionBar$Tab.class... 
    [dx] processing android/support/v4/app/ActionBar$TabListener.class... 
    [dx] processing android/support/v4/app/ActionBar.class... 
    [dx] processing android/support/v4/app/ActivityCompatHoneycomb.class... 
    [dx] 
    [dx] UNEXPECTED TOP-LEVEL EXCEPTION: 
    [dx] java.lang.IllegalArgumentException: already added: Landroid/support/v4/app/ActivityCompatHoneycomb; 
    [dx] at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123) 
    [dx] at com.android.dx.dex.file.DexFile.add(DexFile.java:163) 
    [dx] at com.android.dx.command.dexer.Main.processClass(Main.java:486) 
    [dx] at com.android.dx.command.dexer.Main.processFileBytes(Main.java:455) 
    [dx] at com.android.dx.command.dexer.Main.access$400(Main.java:67) 
    [dx] at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:394) 
    [dx] at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245) 
    [dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131) 
    [dx] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109) 
    [dx] at com.android.dx.command.dexer.Main.processOne(Main.java:418) 
    [dx] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:329) 
    [dx] at com.android.dx.command.dexer.Main.run(Main.java:206) 
    [dx] at com.android.dx.command.dexer.Main.main(Main.java:174) 
    [dx] at com.android.dx.command.Main.main(Main.java:95) 
    [dx] 1 error; aborting 
    

    मेरा प्रश्न NO.2 है: मैं इस मुद्दे को ठीक करके उसे

    चल रहा है "चींटी डिबग" इस के बाद फिर से, मैं निम्न त्रुटियों मिलेगा?

    धन्यवाद!

  • उत्तर

    24

    मैं अंत में इसे अपने आप को हल। मुझे लगता है कि ViewPagerTabs 'libs फ़ोल्डर में एक एंड्रॉइड-समर्थन-v4.jar है। समाधान है - इस एंड्रॉइड-समर्थन-v4.jar को हटाकर, फिर ViewPagerTabs को ActionBarSherlock पर निर्भर करता है (क्योंकि एक्शनबैरशॉक वास्तव में समर्थन पैकेज की एक प्रति है)।

    मुझे आशा है कि यह उन लोगों के लिए उपयोगी होगा जो एक एप्लिकेशन में एक्शनबैरशॉक & व्यूपेगरटैब्स का उपयोग करना चाहते हैं और अपने एप्लिकेशन को बनाने के लिए चींटियों का उपयोग करना चाहते हैं। सौभाग्य।

    +0

    धन्यवाद! जब तक मैंने ADTv17 में अपग्रेड नहीं किया, तब तक यह सेटअप मेरे सेटअप के साथ नहीं था लेकिन यह इसे ठीक कर दिया। – Damian

    +0

    ध्यान दें कि आपको ActionBarSherlock निर्यात एंड्रॉइड-सपोर्ट भी करना है (यह परियोजना संरचना-> मॉड्यूल संवाद में है)। मुझे लगता है कि आप वैसे भी करते हैं। यह अजीब तरह का अभिनय कर रहा है ... – Timmmm

    +0

    और हालांकि यह ठीक से संकलित करता है, इंटेलिजे जे प्रोजेक्ट के माध्यम से संकलन त्रुटियों के भार को छिड़काता है। : -/ – Timmmm

    0

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

    प्रत्येक पुस्तकालय परियोजना आप का उपयोग करने के लिए जा रहे हैं के लिए, चलाने

    एंड्रॉयड अद्यतन परियोजना --library ../pathToTheLibrary

    +0

    अलेक्जेंडर, उत्तर के लिए धन्यवाद! मैंने ग्रहण के साथ अपना ऐप बनाया है, इसलिए मेरे पास प्रोजेक्ट में सभी लाइब्रेरी संदर्भ हैं। मेरे ऐप के प्रॉपर्टीज। अगर मैं "एंड्रॉइड अपडेट प्रोजेक्ट - लाइब्रेरी ../pathToTheLibrary" चलाता हूं, तो reduplicate लाइब्रेरी संदर्भ project.properties में जोड़ा जाएगा। –

    3

    आपने यह कहा क्योंकि दोनों लाइब्रेरी में एंड्रॉइड-सपोर्ट-v4.jar है। गैर-मैवेन बिल्ड के लिए @ पोर्टर-लियू उत्तर देखें।

    Maven इस्तेमाल करने वाले लोगों के लिए, अपने ViewPager dependancy सेट के रूप में:

    <dependency> 
         <groupId>com.viewpagerindicator</groupId> 
         <artifactId>library</artifactId> 
         <version>2.4.1</version> 
         <type>apklib</type> 
         <exclusions> 
          <exclusion> 
           <groupId>com.google.android</groupId> 
           <artifactId>support-v4</artifactId> 
          </exclusion> 
         </exclusions> 
        </dependency> 
    

    exclusion टैग डबल आयात बंद हो जाता है समस्या का समाधान।

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