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

використовуйте це для завантаження коду в bintray, призведе до помилки: No service of type Factory available in ProjectScopeServices. якщо я використовую gradle 2.10, буде працювати нормально, але в 2.14.1 (AS 2.2 попередній перегляд 7 потрібно 2.14.1) настане ця помилка!


У мене є те саме питання, про яке повідомлялося тут: code.google.com/p/android/isissue/detail?id=219692 (на жаль, редагувати назву не вдалося)
андроїд розробник

Відповіді:


396

Змініть версію плагіна Maven gradle на 1.4.1 у файлі project build.gradle

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

ця версія завантажена?
Fang

Хлопці, чи потрібно цим залежностям і фрагменту classpath зайти в розділ buildscript файлу build.gradle?
Аарон

12
Чи може хтось пояснити, як це вирішує проблему?
Ніл Галяскаров

4
Помилка надання: Не вдалося знайти com.github.dcendents: android-maven-plugin: 1.4.1.
Abhijeet

1
Я freaking не розумію, але це спрацювало, і це мене також розсердило.
yUdoDis

7

Просто додайте цей рядок коду до ступеня рівня проекту

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

0

Ми не повинні використовувати будь-яку статичну версію для плагіна Maven gradle. Перевірте свій дистрибутивUrl з файлу gradle-wrapper.properties у кореневій папці Android studio. На основі згаданої там версії gradle ви можете знайти належну версію плагіна Maven gradle за цим посиланням

просто оновіть версію, яка може вирішити вашу проблему.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.