No hay servicio de tipo Factory disponible en 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
    }
}

usar esto para cargar el código en bintray generará el error: No service of type Factory available in ProjectScopeServices. si uso gradle 2.10 se ejecutará bien, pero en 2.14.1 (AS 2.2 preview 7 necesita 2.14.1) ¡vendrá este error!

Colmillo
fuente
Tengo el mismo problema, reportado aquí: code.google.com/p/android/issues/detail?id=219692 (lamentablemente no editó bien el título)
desarrollador de Android

Respuestas:

396

Cambie la versión del complemento maven gradle a 1.4.1 en el archivo build.gradle del proyecto

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.2'
    classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
}
Celal Selcan
fuente
¿Se ha subido esta versión?
Fang
¿Chicos, estas dependencias y trozos de classpath deben ir dentro de una sección buildscript del archivo build.gradle?
Aaron
12
¿Alguien puede explicar cómo soluciona este problema?
Neil Galiaskarov
44
Dando error: No se pudo encontrar com.github.dcendents: android-maven-plugin: 1.4.1.
Abhijeet
1
No me entiendo, pero esto funcionó y me molestó también.
yUdoDis
7

Simplemente agregue esta línea de código a su nivel de proyecto gradle

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

No debemos usar ninguna versión estática para el complemento Maven Gradle. Verifique su distributionUrl del archivo gradle-wrapper.properties dentro de la carpeta raíz de Android studio. Basado en la versión de Gradle mencionada allí, puede encontrar la versión adecuada del complemento Maven Gradle desde este enlace

solo actualice esa versión que pueda resolver su problema.

Pranav
fuente