2013-08-24 41 views
5

我想開始使用appcompat-v7支持庫的新ActionBar,並且我正在使用maven。我試圖創建一個apklib。這是我遵循的步驟:生成兼容性的APKLIB-v7-appcompat

  1. 創建項目android-sdks/extras/android/support/v7/appcompat
  2. 的ZIP文件的ZIP文件與APKLIB擴展名重命名。
  3. 的APKLIB文件安裝到我的本地庫:

C:....平方米\庫\機器人\ SUPPORT \兼容性-V7-程序兼容性\ 18> MVN 安裝:安裝文件 - Dfile = appcombat.apklib -DgroupId = android.support -DartifactId =程序兼容性-Dversion = 18 -Dpackaging = apklib

開始使用該庫從我的Android項目將在POM這種依賴關係:

<dependency> 
     <groupId>android.support</groupId> 
     <artifactId>appcompat</artifactId> 
     <version>18</version> 
     <type>apklib</type> 
    </dependency> 

但它不工作。我收到一個失蹤神器的錯誤。
任何幫助將非常感激。

+0

不是創建一個新的依賴的東西,你可以[包括在Maven的官方Android支持] [1] [ 1]:http://stackoverflow.com/a/29153638/1345391 – JavierSP1209

回答

1

使用maven-android-sdk-deployer生成的apklib適合我。

https://github.com/mosabua/maven-android-sdk-deployer

+0

是的,謝謝,但我想學習由我自己生成它。 – nano

+1

我不知道如何使用maven-android-sdk-deployer安裝compatibility-v7-appcompat v19。 我運行mvn install -P 4.4,但是我的本地maven倉庫中沒有安裝兼容性-v7-appcompat v19。我應該運行什麼命令? – Giorgio

+1

只需導航到目錄(maven-android-sdk-deployer/extras/compatibility-v7-appcompat)並運行'mvn clean install'(儘管我不確定是否需要'clean') – kassim

8

的是程序兼容性安裝到你的本地庫,而不依賴於Maven的SDK部署...

從Android SDK管理器,安裝了「Android的支持庫」選項的方式。 進入你的SDK文件夾,然後進入./extras/m2Repository/com/android/support/appcompat-v7/18.0.0

打開appcompat-v7-18.0.0.aar文件並複製classes.jar出到一個名爲程序兼容性,v7-18.0.0.jar

在命令行中的文件進入同一m2Repository文件夾,然後運行以下命令:

mvn install:install-file -Dfile="./com/android/support/appcompat-v7/18.0.0/appcompat-v7-18.0.0.jar"/ -DpomFile="./com/android/support/appcompat-v7/18.0.0/appcompat-v7-18.0.0.pom"/ -Dpackaging="jar" 
mvn install:install-file -Dfile="./com/android/support/appcompat-v7/18.0.0/appcompat-v7-18.0.0.aar"/ -DpomFile="./com/android/support/appcompat-v7/18.0.0/appcompat-v7-18.0.0.pom"/ -Dpackaging="apklib" 

然後在你的項目中添加以下兩個依賴POM

<dependency> 
     <groupId>com.android.support</groupId> 
     <artifactId>appcompat-v7</artifactId> 
     <version>18.0.0</version> 
     <type>apklib</type> 
    </dependency> 
    <dependency> 
     <groupId>com.android.support</groupId> 
     <artifactId>appcompat-v7</artifactId> 
     <version>18.0.0</version> 
     <type>jar</type> 
    </dependency> 
+1

appcompat-v7取決於support-v4,因此您還需要從相同的m2repository文件夾運行以下命令:mvn install:install-file -Dfile =「./ com/android/support/support-v4/18.0.0/support -v4-18.0.0.jar「/ -DpomFile =」./ com/android/support/support-v4/18.0.0/support-v4-18.0.0.pom「/ -Dpackaging =」jar「 – LightStruk

0
<dependency> 
     <groupId>com.android.support</groupId> 
     <artifactId>appcompat-v7</artifactId> 
     <version>18.0.0</version> 
     <type>apklib</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.android.support</groupId> 
     <artifactId>appcompat-v7</artifactId> 
     <version>18.0.0</version> 
     <type>jar</type> 
    </dependency> 
    <dependency> 
     <groupId>com.android.support</groupId> 
     <artifactId>support-v4</artifactId> 
     <version>18.0.0</version> 
    </dependency> 

我已經把這些相關的POM文件,但它說,把機器人:主題=「@風格/ Theme.AppCompat.Light」的清單,同時清理並生成我把它放在清單,但仍然我得到了同樣的錯誤。但是當我改變

<dependency> 
     <groupId>com.android.support</groupId> 
     <artifactId>appcompat-v7</artifactId> 
     <version>18.0.0</version> 
     <type>apklib</type> 
    </dependency> 

<dependency> 
     <groupId>com.android.support</groupId> 
     <artifactId>appcompat-v7</artifactId> 
     <version>18.0.0</version> 
     <type>apklib</type> 
     <scope>compile</scope> 
    </dependency> 

它編譯,並在Android,但Android清單運行仍顯示在Android紅線:在eclipse主題= 「@風格/ Theme.AppCompat.Light」 。所以我不知道該怎麼辦,以消除蝕這條紅線錯誤清單文件

+0

如果你還沒有解決這個問題,但你也需要在eclipse中有庫。 Android-Maven插件只能在構建時處理依賴關係。 Eclipse正在生成警告,並且無法處理依賴關係。 –