Không có dịch vụ loại Factory nào có sẵn trong ProjectScopeService


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

sử dụng điều này để tải mã lên bintray sẽ dẫn đến lỗi: No service of type Factory available in ProjectScopeServices. nếu tôi sử dụng lớp 2.10 sẽ chạy ổn, nhưng trong bản 2.14.1 (AS 2.2 preview 7 cần 2.14.1) sẽ gặp lỗi này!


Tôi có cùng một vấn đề, được báo cáo ở đây: code.google.com/p/android/issues/detail?id=219692 (đáng buồn là không chỉnh sửa tiêu đề tốt)
nhà phát triển Android

Câu trả lời:


396

Thay đổi phiên bản plugin maven gradle thành 1.4.1 trong tệp dự án build.gradle

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

phiên bản này đã được tải lên?
Fang

Các bạn có phụ thuộc và đoạn đường dẫn này cần vào bên trong phần bản dựng của tệp build.gradle không?
Aaron

12
Ai đó có thể giải thích làm thế nào sửa lỗi này?
Neil Galiaskarov

4
Lỗi đưa ra: Không thể tìm thấy com.github.dcendents: android-maven-plugin: 1.4.1.
Abhijeet

1
Tôi bối rối không hiểu, nhưng điều này làm việc và nó cũng làm tôi bực mình.
yUdoDis

7

Chỉ cần thêm dòng mã này vào cấp độ dự án của bạn

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

0

Chúng ta không nên sử dụng bất kỳ phiên bản tĩnh nào cho plugin maven gradle. Kiểm tra phân phốiUrl của bạn từ tệp gradle-wrapper.properIES trong thư mục gốc của studio Android. Dựa trên phiên bản gradle được đề cập ở đó, bạn có thể tìm thấy phiên bản plugin maven gradle thích hợp từ liên kết này

chỉ cần cập nhật phiên bản đó có thể giải quyết vấn đề của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.