Aucun service de type Factory disponible dans ProjectScopeServices


127
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'

// load properties
Properties properties = new Properties()
File localPropertiesFile = project.file("local.properties");
if(localPropertiesFile.exists()){
    properties.load(localPropertiesFile.newDataInputStream())
}
File projectPropertiesFile = project.file("project.properties");
if(projectPropertiesFile.exists()){
    properties.load(projectPropertiesFile.newDataInputStream())
}

//read properties
def projectName = properties.getProperty("project.name")
def projectGroupId = properties.getProperty("project.groupId")
def projectArtifactId = properties.getProperty("project.artifactId")
def projectVersionName = android.defaultConfig.versionName
def projectPackaging = properties.getProperty("project.packaging")
def projectSiteUrl = properties.getProperty("project.siteUrl")
def projectGitUrl = properties.getProperty("project.gitUrl")

def developerId = properties.getProperty("developer.id")
def developerName = properties.getProperty("developer.name")
def developerEmail = properties.getProperty("developer.email")

def bintrayUser = properties.getProperty("bintray.user")
def bintrayApikey = properties.getProperty("bintray.apikey")

def javadocName = properties.getProperty("javadoc.name")

group = projectGroupId

install {
    repositories.mavenInstaller {
        pom {
            project {
                name projectName
                groupId projectGroupId
                artifactId projectArtifactId
                version projectVersionName
                packaging projectPackaging
                url projectSiteUrl
                licenses {
                    license {
                        name 'The Apache Software License, Version 2.0'
                        url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                    }
                }
                developers {
                    developer {
                        id developerId
                        name developerName
                        email developerEmail
                    }
                }
                scm {
                    connection projectGitUrl
                    developerConnection projectGitUrl
                    url projectSiteUrl
                }
            }
        }
    }
}

task sourcesJar(type: Jar) {
    from android.sourceSets.main.java.srcDirs
    classifier = 'sources'
}

task javadoc(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}

task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}

artifacts {
    archives javadocJar
    archives sourcesJar
}

javadoc {
    failOnError false

    options{
        encoding 'UTF-8'
        charSet 'UTF-8'
        author true
        version projectVersionName
        links "http://docs.oracle.com/javase/7/docs/api"
        title javadocName
    }
}

bintray {
    user = bintrayUser
    key = bintrayApikey
    configurations = ['archives']
    pkg {
        repo = "maven"
        name = projectName
        websiteUrl = projectSiteUrl
        vcsUrl = projectGitUrl
        licenses = ["Apache-2.0"]
        publish = true
    }
}

l'utiliser pour télécharger le code sur bintray entraînera l'erreur: No service of type Factory available in ProjectScopeServices. si j'utilise gradle 2.10 fonctionnera correctement, mais dans le 2.14.1 (AS 2.2 preview 7 besoin de 2.14.1) viendra cette erreur!


J'ai le même problème, signalé ici: code.google.com/p/android/issues/detail?id=219692 (malheureusement pas bien édité le titre)
développeur Android

Réponses:


396

Changez la version du plugin maven gradle en 1.4.1 dans le fichier build.gradle du projet

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.2'
    classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
}

cette version est-elle téléchargée?
Fang

Les types de dépendances et de chemin de classe doivent-ils entrer dans une section buildscript du fichier build.gradle?
Aaron

12
Quelqu'un peut-il expliquer comment cela résout le problème?
Neil Galiaskarov

4
Donner une erreur: Impossible de trouver com.github.dcendents: android-maven-plugin: 1.4.1.
Abhijeet

1
Je flippe ne comprends pas, mais cela a fonctionné et cela m'a énervé aussi.
yUdoDis

7

Ajoutez simplement cette ligne de code à votre niveau de projet

dependencies{
   classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0'
}

0

Nous ne devons utiliser aucune version statique pour le plugin maven gradle. Vérifiez votre distributionUrl à partir du fichier gradle-wrapper.properties dans le dossier racine du studio Android. Sur la base de la version gradle mentionnée ici, vous pouvez trouver la version appropriée du plugin maven gradle à partir de ce lien

mettez simplement à jour cette version qui peut résoudre votre problème.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.