2016-11-15 19 views
0

私は他のプロジェクトのライブラリとして使用されるAndroidクローズドソースモジュールを持っています。外部依存関係が含まれています。それを公開する外部依存関係を持つAndroidライブラリを公開

、私は次のGradleのタスクとMavenの成果物を作成しています:


apply plugin: 'maven' 

def coreAarFile = file('...build\\outputs\\aar\\android-sdk-release.aar') 

artifacts { 
    archives coreAarFile 
} 

uploadArchives { 
    repositories.mavenDeployer { 
     repository(url: "file://.\\mvn-repo") 
     pom.project { 
      groupId 'a.blabla' 
      artifactId 'blabla-sdk' 
      version "1.0.0" 
     } 
    } 
} 

それは問題なく.aarファイル、のpom.xml、などを生成します。

次に、宣言されたライブラリに依存するプロジェクトを作成します。これは、外部依存関係にアクセスする必要があるまで動作します。例外が発生した場合、クラスは例外をスローします。

外部依存関係や少なくともそれらへの参照を含むように私のgradleタスクを編集するにはどうすればよいですか?それらはmvnrepository.comとgithub.comに掲載されています。

+0

通常、依存関係の成果物IDは自動的にPOMに追加されます。あなたのAARと共に配備されているPOMを調べて、その中に依存関係が識別されているかどうかを調べることができます。 – CommonsWare

+0

POMに要素のリストが含まれると予想しました。残念ながらそれはしません。 – pisapapiros

+1

ああ、待ってください。実際にアーティファクトをビルドしている実際の 'build.gradle'ファイルに' uploadArchives'がないのはなぜですか?あなたのスクリプトは、裸のAARを公開しようとしているようです。依存関係情報は通常、実際の 'build.gradle'ファイルにあり、' uploadArchives'がそのスクリプトの一部であれば、それが含まれます。 – CommonsWare

答えて

0

uploadArchivesをモジュールのbuild.gradleに移動し、artifacts要素を削除しました。できます!

CommonsWareは正しい方向を指しています。

関連する問題