2012-06-25 17 views
13

Ben Eclipse 3.7.2 + Android + Maven + M2e kullanıyorum ve Android kütüphaneleri ile ilgili bir sorun apklibs olarak Maven yoluyla dahil var. Ben iki proje, mvntest1 (ana projesi) ve mvntest2 (benim kütüphane projesi) ile bir test senaryosu oluşturdu. Bu metinden sonra pom.xml 'lar dahildir. Şimdiye kadar çok iyi. Herhangi bir hata yapmadan mvntest2 konsol $ mvn install üzerinden yapıyorum. Bu yüzden, yerel maven depomda bir apklib var (~/.m2/repository/mvntest2/mvntest2/0.0.1-SNAPSHOT/mvntest2-0.0.1-SNAPSHOT.apklib).Android kütüphanelerini (apklibs) maven ve eclipse ile nasıl kullanırım?

Ama: çalışmıyor dahil. Eclipse mvntest1 yılında mvntest2 vs. sınıfları içermez. Yapılandırmayı ve bağımlılıkları temizledim, güncelledim ve hiçbir şey yardım etmedim.

Neyi yanlış yapıyorum? Lütfen yardım et. Bazı bilgiler eksikse, sorun.

======= 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

Ben aynı sorunu vardı ve nasıl Maven ile bu çözmek için bir öğretici yazdı: [a Maven çoklu modül proje tarafından organize edilen bir kod temeli birden fazla Android apk dosyaları nasıl oluşturulur] (http://www.devgems.net/? p = 547) – Bevor

cevap

15

ADT Eclipse'deki apklib bağımlılıkları desteği, m2e-android projesi için devam eden çalışmanın bir parçasıdır ve henüz tamamlanmamıştır. Bu konuda yorum yapın güncel bilgileri edinmek için: 2013

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

GÜNCELLEME 26 Eylül: Maven Eclipse (M2E-android) artık Android Kütüphaneleri için tam destek ile serbest bırakıldı 0.4.3 sürümü için Android Connector.

İlgili konular