2013-08-24 9 views
5

appcompat-v7サポートライブラリの新しいActionBarを使用したいと考えており、mavenを使用しています。私はapklibを作成しようとしました。これらは私が続く手順は次のとおりです。互換性-v7-appcompatのAPKLIBを生成します

  1. プロジェクトのZIPファイルを作成しますandroid-sdks/extras/android/support/v7/appcompat
  2. がAPKLIB拡張子を持つZIPファイルの名前を変更します。
  3. は私のローカルリポジトリにAPKLIBファイルをインストールします。

C:....平方メートル\リポジトリ\アンドロイド\サポート\互換-V7-APPCOMPAT 18 \> MVN インストール:インストールファイルを - ポンポンでこの依存関係を追加私のアンドロイドのプロジェクトからライブラリを使用してDFILE = appcombat.apklib -DgroupId = android.support -DartifactId = APPCOMPAT -Dversion = 18 -Dpackaging = apklib

スタート:

<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を実行しますが、互換性v7-appcompat v19がローカルMavenリポジトリにインストールされていません。私はどんなコマンドを実行する必要がありますか? – Giorgio

+1

ディレクトリ(maven-android-sdk-deployer/extras/compatibility-v7-appcompat)に移動し、 'mvn clean install'を実行するだけです(ただし、' clean'が必要かどうかわかりません) – kassim

8

ザ・... MavenのSDKデプロイヤに依存せずに、ローカルリポジトリにAPPCOMPATインストールする方法です

のAndroid SDK Managerで、 'Androidのサポートリポジトリ' オプションをインストールします。 SDKフォルダに移動し、./extras/m2Repository/com/android/support/appcompat-v7/18.0.0

appcompat-v7-18.0.0.aarファイルを開き、classes.jarファイルをコピーします。次に、あなたのプロジェクトの中で、次の2つの依存関係を追加

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" 

:コマンドラインで

APPCOMPAT-v7-18.0.0.jarという名前のファイルに出同じm2Repositoryフォルダに移動して、次のコマンドを実行します。 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サポート-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 = "@ style/Theme.AppCompat.Light"はマニフェスト中にクリーンでビルドしていますが、テーマ= "@スタイル/ 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のマニフェストで実行した場合.Butまだアンドロイドの赤い線を示しています。だから私は、マニフェストファイルに日食にこの赤い線のエラーを取り除くために何をするか分からない

+0

まだこの問題を解決していないあなたはまた、ライブラリを食べる必要があります。 Android-Maven-Pluginはビルド時にのみ依存関係を処理します。 Eclipseが警告を生成しており、依存関係を処理できません。 –

関連する問題