Tidak ada layanan dari jenis Pabrik yang tersedia di 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
    }
}

gunakan ini untuk mengunggah kode ke bintray akan menyebabkan kesalahan: No service of type Factory available in ProjectScopeServices. jika saya menggunakan gradle 2.10 akan berjalan ok, tetapi di 2.14.1 (AS 2.2 preview 7 perlu 2.14.1) akan muncul kesalahan ini!

Fang
sumber
Saya memiliki masalah yang sama, dilaporkan di sini: code.google.com/p/android/issues/detail?id=219692 (sayangnya tidak mengedit judul dengan baik)
pengembang android

Jawaban:

396

Ubah versi plugin maven gradle ke 1.4.1 di file build.gradle proyek

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.2'
    classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
}
Celal Selcan
sumber
apakah versi ini diunggah?
Fang
Guys apakah ini dependensi dan potongan classpath harus masuk ke dalam bagian buildscript dari file build.gradle?
Aaron
12
Adakah yang bisa menjelaskan bagaimana masalah ini diperbaiki?
Neil Galiaskarov
4
Kesalahan Pemberian: Tidak dapat menemukan com.github.dcendents: android-maven-plugin: 1.4.1.
Abhijeet
1
Aku benar-benar tidak mengerti, tetapi ini berhasil dan itu membuatku jengkel juga.
yUdoDis
7

Tambahkan saja baris kode ini ke tingkat level proyek Anda

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

Kita tidak boleh menggunakan versi statis apa pun untuk plugin maven gradle. Periksa distribusiUrl Anda dari file gradle-wrapper.properties di dalam folder root Android studio. Berdasarkan versi gradle yang disebutkan di sana, Anda dapat menemukan versi plugin maven gradle yang tepat dari tautan ini

perbarui saja versi yang dapat menyelesaikan masalah Anda.

Pranav
sumber