web-dev-qa-db-fra.com

Comment utiliser la dépendance locale aar?

je google sur aar local, tout le monde dit que cela peut fonctionner, mais cela ne fonctionne pas à Android studio 1.1.0.

j'essaye d'utiliser:

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

mais ça pointe:

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

comment dois-je faire pour utiliser aar local? si je devais utiliser:

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

comment faire ça?

46
cs x

J'obtenais les mêmes erreurs.

C'est la seule chose qui m'a aidé:

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

Référence: L'ajout de fichiers .aar locaux à la génération Gradle à l'aide de "flatDirs" ne fonctionne pas

70
Sandy D.

Dans mon cas, je dois distribuer un aar. Lorsque j'importe l'aar dans un autre projet, cette erreur apparaît. Je résous ce problème en distribuant l'aar avec une structure de dépendance maven (pom, md5, etc ...)

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"
    }
  }
}

Sur l'application Android Android, j'ai besoin d'ajouter le référentiel maven local:

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

Et ajoutez la dépendance:

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