Kein Dienst vom Typ Factory in ProjectScopeServices verfügbar

Lesezeit: 3 Minuten

Benutzer-Avatar
Fang

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

Wenn Sie dies verwenden, um den Code in das Bintray hochzuladen, wird der Fehler angezeigt:
No service of type Factory available in ProjectScopeServices.
Wenn ich Gradle 2.10 verwende, läuft es ok, aber in 2.14.1 (AS 2.2 Preview 7 benötigt 2.14.1) kommt dieser Fehler!

Benutzer-Avatar
Celal Selkan

Ändern Sie die Version des Maven-Gradle-Plugins in der Datei build.gradle des Projekts auf 1.4.1

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

  • ist diese Version hochgeladen?

    – Fang

    12. August 2016 um 9:30 Uhr

  • Leute, müssen diese Abhängigkeiten und der Klassenpfad in einen buildscript-Abschnitt der build.gradle-Datei gehen?

    – Aaron

    30. August 2016 um 12:19 Uhr

  • Kann jemand erklären, wie dieses Problem behoben wird?

    – Neil Galiaskarov

    23. Dezember 2016 um 17:02 Uhr

  • Fehlermeldung: com.github.dcendents:android-maven-plugin:1.4.1 konnte nicht gefunden werden.

    – Abhijeet

    19. Mai 2017 um 4:32 Uhr

  • Ich verstehe verdammt noch mal nicht, aber das hat funktioniert und es hat mich auch angepisst.

    – Warum tust du das

    14. November 2017 um 16:45 Uhr

Fügen Sie einfach diese Codezeile zu Ihrer hinzu Gradle auf Projektebene

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

Wir sollten keine statische Version für das Maven-Gradle-Plugin verwenden. Überprüfen Sie Ihre DistributionUrl von gradle-wrapper.properties Datei im Root-Ordner von Android Studio. Basierend auf der dort erwähnten Gradle-Version können Sie die richtige finden Maven Gradle-Plugin Fassung ab dieser Link

Aktualisieren Sie einfach die Version, die Ihr Problem lösen könnte.

1335360cookie-checkKein Dienst vom Typ Factory in ProjectScopeServices verfügbar

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy