android - चींटी के साथ एंड्रॉइड ऐप(एक्शनबॉर्शल लॉक और व्यू पेजर टैब दोनों का संदर्भ लें) बनाने में विफल




ant android-viewpager (2)

मेरे पास एक एंड्रॉइड ऐप है जो ActionBarSherlock और ViewPagerTabs का उपयोग करता है मैं लिखने और इसे बनाने के लिए एक्लिप्स का उपयोग करता हूं, और जब तक मैं चींटी के साथ इसे बनाने की कोशिश नहीं करता, यह ठीक काम करता है यहां मैंने जो किया है:

  1. ActionBarSherlock फ़ोल्डर पर जाएं, "android update lib-project - path" चलाएं।
  2. ViewPagerTabs फ़ोल्डर में जाएं, "android update lib-project - path" चलाएं। बहुत
  3. ऐप फ़ोल्डर पर जाएं, "एंड्रॉइड अपडेट प्रोजेक्ट --पथ" चलाएं।
  4. ऐप फ़ोल्डर के तहत "और डीबग" चलाएं, और मुझे निम्न त्रुटियां मिलीं:

:

[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: मेरे पास ऐप के प्रोजेक्ट में सही लाइब्रेरी संदर्भ हैं। प्रॉपर्टीज़, और एक्शनबारशरॉक और व्यू पेजरटैब को सफलतापूर्वक बनाया जा सकता है, मुझे अभी भी ये त्रुटियां क्यों मिलती हैं?

इस मुद्दे के लिए एक वैकल्पिक हल है - लायब्रेरी के बिन फ़ोल्डर के अंतर्गत एप के लिब्स फ़ोल्डर में सभी कक्षाओं को कॉपी करें और दोबारा "एटी डीबग" चलाएं। लेकिन ऐप के लिब्स फ़ोल्डर में इन .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

मेरा प्रश्न संख्या 2 है: मैं इस मुद्दे को कैसे ठीक कर सकता हूं?

धन्यवाद!


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

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

    <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 टैग समस्या को तय करने वाली दोहरे आयात को रोक देता है।


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

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

एंड्रॉइड अपडेट प्रोजेक्ट - लाइब्रेरी ../pathToTheLibrary







actionbarsherlock