2012-06-25 15 views
13

मैं ग्रहण 3.7.2 + एंड्रॉइड + मेवेन + एम 2e का उपयोग कर रहा हूं और मुझे एंड्रॉइड लाइब्रेरीज़ में मैवेन के माध्यम से एपीकेलिब्स के रूप में शामिल करने में समस्या है। मैंने दो परियोजनाओं, mvntest1 (मुख्य परियोजना) और mvntest2 (मेरी लाइब्रेरी प्रोजेक्ट) के साथ एक परीक्षण परिदृश्य बनाया। इस पाठ के बाद pom.xml शामिल हैं।मैवेन और ग्रहण के साथ एंड्रॉइड लाइब्रेरीज़ (एपीकेलिब्स) का उपयोग कैसे करूं?

अभी तक इतना अच्छा है। मैं किसी भी त्रुटि के बिना mvntest2 कंसोल $ mvn install के माध्यम से बना सकता हूं। इस प्रकार, मेरे पास स्थानीय मैवेन रिपोजिटरी (~/.m2/repository/mvntest2/mvntest2/0.0.1-SNAPSHOT/mvntest2-0.0.1-SNAPSHOT.apklib) में एक एपीक्लिब है।

लेकिन: इसमें शामिल नहीं है। ग्रहण में mvntest2mvntest1 में वर्गों आदि शामिल नहीं हैं। मैंने साफ किया है, कॉन्फ़िगरेशन और निर्भरताओं को अपडेट किया है और कुछ भी मदद नहीं करता है।

मैं क्या गलत कर रहा हूं? कृपया मदद करे। अगर कुछ सूचनाएं गुम हैं, तो बस पूछें।

======= mvntest1/pom.xml =====

<?xml version="1.0" encoding="UTF-8"?> 
<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>mvntest1</groupId> 
<artifactId>mvntest1</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<packaging>apk</packaging> 
<name>mvntest1</name> 

<dependencies> 
    <dependency> 
     <groupId>com.google.android</groupId> 
     <artifactId>android</artifactId> 
     <version>2.1.2</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>mvntest2</groupId> 
     <artifactId>mvntest2</artifactId> 
     <version>0.0.1-SNAPSHOT</version> 
     <type>apklib</type> 
    </dependency> 
</dependencies> 
<build> 
    <finalName>${project.artifactId}</finalName> 
    <sourceDirectory>src</sourceDirectory> 
    <plugins> 
     <plugin> 
      <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
      <artifactId>android-maven-plugin</artifactId> 
      <version>3.0.0</version> 
      <configuration> 
       <androidManifestFile>${project.basedir}/AndroidManifest.xml</androidManifestFile> 
       <assetsDirectory>${project.basedir}/assets</assetsDirectory> 
       <resourceDirectory>${project.basedir}/res</resourceDirectory> 
       <nativeLibrariesDirectory>${project.basedir}/src/main/native</nativeLibrariesDirectory> 
       <sdk> 
        <platform>7</platform> 
       </sdk> 
       <deleteConflictingFiles>true</deleteConflictingFiles> 
       <undeployBeforeDeploy>true</undeployBeforeDeploy> 
      </configuration> 
      <extensions>true</extensions> 
     </plugin> 
     <plugin> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.3.2</version> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

====== mvntest2/pom.xml =====

<?xml version="1.0" encoding="UTF-8"?> 
<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>mvntest2</groupId> 
    <artifactId>mvntest2</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>apklib</packaging> 
    <name>mvntest2</name> 

    <dependencies> 
     <dependency> 
      <groupId>com.google.android</groupId> 
      <artifactId>android</artifactId> 
      <version>2.1.2</version> 
      <scope>provided</scope> 
     </dependency> 
    </dependencies> 
    <build> 
     <finalName>${project.artifactId}</finalName> 
     <sourceDirectory>src</sourceDirectory> 
     <plugins> 
      <plugin> 
       <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
       <artifactId>android-maven-plugin</artifactId> 
       <version>3.0.0</version> 
       <configuration> 
        <androidManifestFile>${project.basedir}/AndroidManifest.xml</androidManifestFile> 
        <assetsDirectory>${project.basedir}/assets</assetsDirectory> 
        <resourceDirectory>${project.basedir}/res</resourceDirectory> 
        <nativeLibrariesDirectory>${project.basedir}/src/main/native</nativeLibrariesDirectory> 
        <sdk> 
         <platform>7</platform> 
        </sdk> 
        <deleteConflictingFiles>true</deleteConflictingFiles> 
        <undeployBeforeDeploy>true</undeployBeforeDeploy> 
       </configuration> 
       <extensions>true</extensions> 
      </plugin> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.3.2</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</project> 
+0

मुझे एक ही समस्या थी और मैवेन के साथ इसे हल करने के लिए एक ट्यूटोरियल लिखा: [मैवेन मल्टी मॉड्यूल प्रोजेक्ट द्वारा आयोजित एक कोडबेस से एकाधिक एंड्रॉइड एपीके फाइलें कैसे बनाएं] (http://www.devgems.net/? पी = 547) – Bevor

उत्तर

15

एडीटी ग्रहण में एपीकेलिब निर्भरताओं के लिए समर्थन m2e-android प्रोजेक्ट के लिए चल रहे काम का हिस्सा है और अभी तक पूरा नहीं हुआ है। इस मुद्दे पर टिप्पणी दें अवगत रहें:

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

अद्यतन 26 वें सितंबर 2013: Maven ग्रहण (m2e-एंड्रॉयड) संस्करण 0.4.3 अब एंड्रॉयड पुस्तकालय के लिए पूर्ण समर्थन के साथ जारी की गई है के लिए एंड्रॉयड कनेक्टर।