2012-06-29 11 views
19

के साथ ग्रहण करने के लिए मेवेन एंड्रॉइड एंड्रॉइड प्रोजेक्ट आयात करने में त्रुटि I पिछले संस्करण (20) और एंड्रॉइड-एसडीके उपकरण में एडीटी प्लगइन अपडेट किया गया है। अब जब मैं ग्रहण करने के लिए एक मौजूदा एंड्रॉइड मेवेन आयात करने का प्रयास करता हूं तो An internal error occurred during: "Importing Maven projects". com/android/io/StreamException अपवाद बढ़ाता है, और ग्रहण प्रोजेक्ट बनाता है लेकिन एंड्रॉइड प्रोजेक्ट की तरह पहले नहीं। वर्कस्पेस में पिछली मौजूद (मेवेन एंड्रॉइड) परियोजनाएं ठीक काम करती हैं।एडीटी 20

The Eclipse पूर्ण अपवाद का पता लगाने जब आयात परियोजना निम्नलिखित है:

!ENTRY org.eclipse.osgi 2 1 2012-06-29 19:02:34.421 
!MESSAGE NLS unused message: LifecycleMappingPropertyPage_this_message in: org.eclipse.m2e.core.ui.internal.messages 

!ENTRY org.eclipse.core.jobs 4 2 2012-06-29 19:03:03.953 
!MESSAGE An internal error occurred during: "Importing Maven projects". 
!STACK 0 
java.lang.NoClassDefFoundError: com/android/io/StreamException 
    at me.gladwell.eclipse.m2e.android.project.EclipseAndroidProjectFactory.createAndroidProject(EclipseAndroidProjectFactory.java:17) 
    at me.gladwell.eclipse.m2e.android.project.EclipseAndroidProjectFactory.createAndroidProject(EclipseAndroidProjectFactory.java:1) 
    at me.gladwell.eclipse.m2e.android.AndroidMavenProjectConfigurator.configure(AndroidMavenProjectConfigurator.java:62) 
    at org.eclipse.m2e.core.project.configurator.AbstractLifecycleMapping.configure(AbstractLifecycleMapping.java:109) 
    at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:414) 
    at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.configureNewMavenProject(ProjectConfigurationManager.java:240) 
    at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.importProjects(ProjectConfigurationManager.java:156) 
    at org.eclipse.m2e.core.ui.internal.wizards.MavenImportWizard$1.doCreateMavenProjects(MavenImportWizard.java:164) 
    at org.eclipse.m2e.core.ui.internal.wizards.AbstractCreateMavenProjectsOperation.run(AbstractCreateMavenProjectsOperation.java:73) 
    at org.eclipse.m2e.core.ui.internal.wizards.MavenImportWizard$3.runInWorkspace(MavenImportWizard.java:249) 
    at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) 
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) 
Caused by: java.lang.ClassNotFoundException: com.android.io.StreamException 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513) 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429) 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417) 
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
    ... 12 more 

कर सकते हैं किसी को भी यह हल करती है? एम 2 ई एंड्रॉइड कनेक्टर के अपडेट की आवश्यकता है?

अद्यतन: यह मेरा pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>your.company</groupId> 
    <artifactId>my-android-application</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>apk</packaging> 
    <name>my-android-application</name> 

    <dependencies> 
     <dependency> 
      <groupId>com.google.android</groupId> 
      <artifactId>android</artifactId> 
      <version>2.3.3</version> 
      <scope>provided</scope> 
     </dependency> 
    </dependencies> 
    <build> 
     <finalName>${project.artifactId}</finalName> 
     <sourceDirectory>src</sourceDirectory> 
     <pluginManagement> 
      <plugins> 
       <plugin> 
        <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
        <artifactId>android-maven-plugin</artifactId> 
        <version>3.2.0</version> 
        <extensions>true</extensions> 
       </plugin> 
      </plugins> 
     </pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
       <artifactId>android-maven-plugin</artifactId> 
       <configuration> 
        <sdk> 
         <!-- platform or api level (api level 4 = platform 1.6)--> 
         <platform>10</platform> 
        </sdk> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</project></project> 

धन्यवाद।

+3

बस पुष्टि करें कि मुझे यहां एक ही त्रुटि मिली है। – yorkw

+0

मैं कई एसओ (विंडोज एक्सपी, विंडोज 7 और मैक ओएस) में एक ही त्रुटि के साथ 5 और लोगों की पुष्टि कर सकता हूं – sabadow

उत्तर

18

इस के साथ एक ज्ञात समस्या है m2e-एंड्रॉयड प्लग-इन की वजह से एडीटी एपीआई में परिवर्तन के कारण:

https://github.com/rgladwell/m2e-android/issues/89

हमारे द्वारा सुधार पाते हैं, जबकि कृपया धैर्य रखें।


अपडेट: - और मुझे पता है कि अगर यह अपनी समस्याओं का समाधान करता है चलो आज नई 0.4.2 रिलीज फिक्स इस मुद्दे जारी किया गया था, एक ग्रहण अद्यतन (> अपडेट के लिए जांच सहायता) चलाएँ।

+0

आपको बहुत धन्यवाद! मैं खोज रहा था कि यह एक ज्ञात मुद्दा है लेकिन मुझे यह नहीं मिला। – sabadow

27

संपादित करें: बजाय ऐसा करते हैं, तो आप अब github से रिकार्डो की अद्यतन परियोजना हो रही, adt-20 शाखा का उपयोग करने जा, Maven के साथ निर्माण, जैसा कि नीचे वर्णित M2E कनेक्टर की स्थापना रद्द करने, और नए M2E कनेक्टर को स्थापित करने से बेहतर हो सकता है me.gladwell.eclipse.m2e.android.update/target/repository स्थानीय भंडार के रूप में, जैसा कि नीचे वर्णित है। धन्यवाद, रिकार्डो!


मुझे यह समस्या थी और मेरी परियोजना का निर्माण नहीं कर सका। एडीटी को 18.0.0 तक डाउनग्रेड करना एकमात्र तरीका था। मुझे एसडीके प्रबंधक इत्यादि के माध्यम से ऐसा करने का कोई तरीका नहीं मिला, इसलिए यह एक कठिन साबित हुआ - हालांकि मैंने शायद इसे सबसे समझदार तरीके से नहीं किया! वैसे भी, मैंने सोचा कि अगर मैं किसी की मदद करता हूं तो मैं जो पोस्ट करता हूं उसे पोस्ट करता हूं। मैंने पंप ग्रहण को छोड़ दिया। :)

यह लिनक्स पर ग्रहण 3.7 पर था।

  • एडीटी ज़िप प्राप्त करें: http://dl.google.com/android/ADT-18.0.0.zip
  • जाओ Android SDK Tools अपने ओएस के लिए पुरालेख: http://dl.google.com/android/android-sdk_r18-linux.tgz (windows.zip या macosx.zip साथ linux.tgz की जगह - माफ करना, स्टैक ओवरफ़्लो केवल में मुझे दो लिंक की अनुमति देता है मेरा पद!)।
  • स्वचालित सॉफ़्टवेयर अपडेट अक्षम करें: विंडो -> प्राथमिकताएं -> इंस्टॉल/अपडेट करें -> स्वचालित अपडेट, अनचेक करें 'स्वचालित रूप से नए अपडेट ढूंढें और मुझे सूचित करें' अनचेक करें।
  • एंड्रॉइड एसडीके उपकरण अनइंस्टॉल करें: विंडो -> एंड्रॉइड एसडीके प्रबंधक, एंड्रॉइड एसडीके टूल्स की जांच करें और '1 पैकेज हटाएं' पर क्लिक करें।
  • अनइंस्टॉल करें एडीटी: सहायता -> नया सॉफ्टवेयर इंस्टॉल करें -> पहले से इंस्टॉल क्या है? -> स्थापित सॉफ्टवेयर, सभी एंड्रॉइड * घटकों और एम 2 ई के लिए एंड्रॉइड कॉन्फ़िगरेटर का चयन करें और 'अनइंस्टॉल करें' पर क्लिक करें।
  • ADT-18.0.0.zip निकालें और इंस्टॉल करें: सहायता -> नया सॉफ़्टवेयर इंस्टॉल करें -> जोड़ें -> स्थानीय और ब्राउज़ करें जहां आपने इसे निकाला था। स्थानीय भंडार को एक नाम दें और ठीक क्लिक करें, फिर इसे 'वर्क विद' ड्रॉप-डाउन से चुनें और उससे उपलब्ध सॉफ़्टवेयर इंस्टॉल करें।
  • एंड्रॉइड-एसडीके_आर 18 संग्रह से टूल निर्देशिका को अपने एंड्रॉइड-एसडीक्स निर्देशिका में निकालें।
  • एंड्रॉइड एम 2 ई कनेक्टर स्थापित करें: प्राथमिकताएं -> मेवेन -> डिस्कवरी, 'ओपन कैटलॉग' पर क्लिक करें, फिर कनेक्टर का चयन करें। संकेत दिए जाने पर किसी भी एडीटी 20.0 फीचर्स को अचयनित करें।
+0

इस उपयोगी उत्तर को साझा करने के लिए धन्यवाद! :) – sabadow

+0

धन्यवाद! महान काम करता है लेकिन अभी भी एक मेवेन प्लगइन फिक्स के लिए इंतजार कर रहा है। – Zzokk

+0

इस मार्गदर्शिका के लिए धन्यवाद, केवल एक मुद्दा हालांकि: मैं Android m2e कनेक्टर के 0.4.1 से पहले एक संस्करण कैसे स्थापित कर सकता हूं? इसकी आवश्यकता है क्योंकि 0.4.1 को एडीटी 20.0 स्थापित करने की आवश्यकता है। – futtetennista

4

अब Andriod Maven कनेक्टर यह एडीटी 20+ साथ काम करता है के लिए भी निश्चित होती है, केवल निम्न अद्यतन साइट से अद्यतन को स्थापित करने की जरूरत है: http://rgladwell.github.com/m2e-android/updates/master/

+2

यह शायद इस प्रश्न का स्वीकार्य उत्तर नहीं होना चाहिए: आपको मास्टर/स्नैपशॉट अपडेट साइट पर भरोसा नहीं करना चाहिए, यह अनचाहे है और अप्रत्याशित परिणाम हो सकते हैं। –

3

बस अपने फ़ाइल खोलें। एक्सएमएल और "ग्राफिकल लेआउट" के नीचे टैब (ग्रहण के मामले में)। आप अभी भी शीर्ष पर स्थित एंड्रॉइड आइकन का पता लगाते हैं जो मेरे मामले में उपयोग किए गए संस्करण का संस्करण 18 संस्करण का उपयोग कर रहा था, मैंने संस्करण 17 का चयन किया और त्रुटि गायब हो गई।

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