web-dev-qa-db-ja.com

ローカルaar依存関係の使用方法

私はローカルAARについてグーグル、それが機能すると言う人は誰でも、Android studio 1.1.0では機能しません。

私は使用しようとします:

compile fileTree(dir: 'libs', include: ['*.aar'])

しかし、それはヒント:

Warning:Project app: Only Jar-type local dependencies are supported. Cannot handle: /Users/kycq/AndroidStudioProjects/QingTaJiao/app/libs/KycqBasic-release.aar

ローカルAARを使用するにはどうすればよいですか?私が使用する必要がある場合:

compile 'com.example.library:library:1.0.0@aar'

これを行う方法?

46
cs x

同じエラーが発生していました。

これは私を助けた唯一のものでした:

dependencies {
   compile(name:'nameOfYourAARFileWithoutExtension', ext:'aar')
 }
repositories{
      flatDir{
              dirs 'libs'
       }
 }

参照: 「flatDirs」を使用してローカルの.aarファイルをGradleビルドに追加しても機能しません

70
Sandy D.

私の場合、aarを配布する必要があります。別のプロジェクトにaarをインポートすると、このエラーが表示されます。 MAR依存関係構造(pom、md5など)でaarを配布するこの問題を解決します。

publishing {
  publications {
    maven(MavenPublication) {
      groupId "<GROUP_ID>"
      artifactId "<ARTIFACT_ID>"
      version <VERSION>
      artifact "$buildDir/outputs/aar/<AAR_FILE>"
      pom.withXml {
        def dependenciesNode = asNode().appendNode("dependencies")
        configurations.compile.allDependencies.each { dependency ->
          def dependencyNode = dependenciesNode.appendNode("dependency")
          dependencyNode.appendNode("groupId", dependency.group)
          dependencyNode.appendNode("artifactId", dependency.name)
          dependencyNode.appendNode("version", dependency.version)
        }
      }
    }
  }
  repositories {
    maven {
      url "$buildDir/repo"
    }
  }
}

Androidアプリケーションで、ローカルMavenリポジトリを追加する必要があります。

allprojects {
  repositories {
    jcenter()
    maven {
      url "<LOCAL_REPO>"
    }
  }
}

そして、依存関係を追加します。

compile("<GROUP_ID>:<ARTIFACT_ID>:<VERSION>@aar") {
  transitive = true
}
3
Sandro Simas