2013-03-22 18 views
4

我從滑動菜單創建apklib是因爲找不到任何Maven存儲庫。問題是,當我從intellij嘗試時,它會導入庫,但不會將依賴項添加到滑動菜單庫中,我必須手動添加它。使用maven和InteliJ創建apklibs

<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>com.slidingmenu</groupId> 
<artifactId>library</artifactId> 
<version>1.2</version> 
<type>apklib</type> 

<dependencies> 
    <dependency> 
     <groupId>com.google.android</groupId> 
     <artifactId>android</artifactId> 
     <version>4.1.1.4</version> 
    </dependency> 
    <dependency> 
     <groupId>com.google.android.maps</groupId> 
     <artifactId>maps</artifactId> 
    </dependency> 
    <dependency> 
      <groupId>com.google.android</groupId> 
      <artifactId>support-v13</artifactId> 
      <version>r12</version> 
     </dependency> 
    <dependency> 
      <groupId>com.github.rtyley</groupId> 
      <artifactId>roboguice-sherlock</artifactId> 
      <version>1.5</version> 
     </dependency> 
    <dependency> 
      <groupId>org.roboguice</groupId> 
      <artifactId>roboguice</artifactId> 
      <version>2.0</version> 
     </dependency> 
    <dependency> 
     <groupId>com.actionbarsherlock</groupId> 
     <artifactId>actionbarsherlock</artifactId> 
     <version>4.2.0</version> 
     <type>apklib</type> 
    </dependency> 
</dependencies> 

<build> 
    <sourceDirectory>src</sourceDirectory> 

    <plugins> 
     <plugin> 
      <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
      <artifactId>android-maven-plugin</artifactId> 
      <extensions>true</extensions> 
      <configuration> 
       <nativeLibrariesDirectory>ignored</nativeLibrariesDirectory> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

我創建ZIP,acording按說明操作,Maven插件,然後我把它推到〜/ .m2目錄下用這個命令:

mvn org.apache.maven.plugins:maven-install-plugin:2.4:install-file -DgroupId=com.slidingmenu -DartifactId=library -Dfile=sliding-menu.apklib -Dversion=1.2 -Dpackaging=apklib 
+0

您是否找到任何解決方案?我只是在你曾經的相同點上。如果你與我分享該做什麼,我會非常高興。 – 2014-02-24 15:15:58

回答

0

您需要安裝com.slidingmenu在您的本地存儲庫中使用mvn clean install代替install:install-file

mvn clean install將把maven所需的所有元數據和依賴項放到你的本地倉庫中(即~/.m2/repository)。

您APK中,指定神器com.slidingmenu類型apklib

的依賴,我希望它會解決你的問題。

+0

OP指的是一個不支持使用Maven構建的外部項目。這些類型的庫的通常技術afaik是使用.apklib擴展名壓縮它們,然後使用安裝文件目標部署到本地回購站。問題是intellij似乎不喜歡這個...... – brk3 2013-05-18 13:05:54

+0

據我瞭解,OP是指在公共maven-repo中沒有的外部項目。但是,由於OP發佈了pom.xml,它似乎支持使用maven構建。問題不在於Intellij不喜歡它,而是當您運行install-file而不指定正確的pom.xml時:maven爲您創建一個非常簡單的pom.xml,但它不包含真正的依賴關係。 – ben75 2013-05-23 08:19:48