2015-05-28 6 views
7

Ich versuche, meine Bibliothek zu erstellen und in das Repository hochzuladen, aber leider scheitert der Build. Ich habe mehrere Stunden damit verbracht, diesen Fehler zu beheben, aber nichts, was ich versucht habe, hat nicht geholfen.
Hier ist meine build.gradle von Root-Projekt dir.Getting android.compileSdkVersion fehlt! error gradle build

buildscript { 
    repositories { 
     jcenter() 

    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:1.2.3' 
     classpath 'com.github.dcendents:android-maven-plugin:1.2' 
     classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:1.1" 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

Und build.gradle von meinem Modulverzeichnis

apply plugin: 'com.android.library' 
apply plugin: "com.jfrog.bintray" 
apply plugin: 'com.github.dcendents.android-maven' 
version = "1.0.0" 
android { 
    compileSdkVersion 21 
    buildToolsVersion "21.1.2" 

    defaultConfig { 
     minSdkVersion 8 
     targetSdkVersion 21 
     versionCode 1 
     versionName "1.0.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 
def siteUrl = 'https://github.com/CROSP/AndroidHorizontalRecyclerView'  // Homepage URL of the library 
def gitUrl = 'https://github.com/CROSP/AndroidHorizontalRecyclerView.git' // Git repository URL 
group = "com.github.crosp.horizontalrecyclerview"      // Maven Group ID for the artifact 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'org.jsoup:jsoup:1.8.1' 
    compile 'com.android.support:appcompat-v7:22.1.1' 
    compile 'com.android.support:recyclerview-v7:21.0.3' 

} 
install { 
    repositories.mavenInstaller { 
     // This generates POM.xml with proper parameters 
     pom { 
      project { 
       packaging 'aar' 

       // Add your description here 
       name 'Android Horizontal Recycler View with Headerr' 
       description = 'Android Horizontal Recycler View with Header project for displaying horizontal list on Android ' 
       url siteUrl 

       // Set your license 
       licenses { 
        license { 
         name 'The Apache Software License, Version 2.0' 
         url 'http://www.apache.org/licenses/LICENSE-2.0.txt' 
        } 
       } 
       developers { 
        developer { 
         id 'crosp' 
         name 'Alexandr Crospenko' 
         email '[email protected]' 
        } 
       } 
       scm { 
        connection gitUrl 
        developerConnection gitUrl 
        url siteUrl 

       } 
      } 
     } 
    } 
} 

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 
} 

Properties properties = new Properties() 
properties.load(project.rootProject.file('local.properties').newDataInputStream()) 

// https://github.com/bintray/gradle-bintray-plugin 
bintray { 
    user = properties.getProperty("bintray.user") 
    key = properties.getProperty("bintray.apikey") 

    configurations = ['archives'] 
    pkg { 
     repo = "maven" 
     // it is the name that appears in bintray when logged 
     name = "crosp" 
     websiteUrl = siteUrl 
     vcsUrl = gitUrl 
     licenses = ["Apache-2.0"] 
     publish = true 
     version { 
      gpg { 
       sign = true //Determines whether to GPG sign the files. The default is false 
       passphrase = properties.getProperty("bintray.gpg.password") //Optional. The passphrase for GPG signing' 
      } 
//   mavenCentralSync { 
//    sync = true //Optional (true by default). Determines whether to sync the version to Maven Central. 
//    user = properties.getProperty("bintray.oss.user") //OSS user token 
//    password = properties.getProperty("bintray.oss.password") //OSS user password 
//    close = '1' //Optional property. By default the staging repository is closed and artifacts are released to Maven Central. You can optionally turn this behaviour off (by puting 0 as value) and release the version manually. 
//   } 
     } 
    } 
} 

Auch habe ich

sdk.dir=/home/crosp/Android/Sdk 
bintray.user=#### 
bintray.apikey=#### 

bintray.gpg.password=#### 
bintray.oss.user=#### 
bintray.oss.password=#### 

Das Problem ist, dass ich nach gradle bintrayUpload erhalten folgende Fehler einige Konfigurationen in meine local.properties Datei hinzugefügt.

Failed to notify ProjectEvaluationListener.afterEvaluate(), but primary configuration failure takes precedence. 
java.lang.IllegalArgumentException: android.compileSdkVersion is missing! 
     at com.android.build.gradle.internal.SdkHandler.initTarget(SdkHandler.java:80) 

Und am Ende der Ausgabefehlermeldung ich folgende erhalten

* Where: 
Build file '/home/crosp/AndroidStudioProjects/HorizontalList/horizontalrecyclerview/build.gradle' line: 3 

* What went wrong: 
A problem occurred evaluating project ':horizontalrecyclerview'. 
> org/gradle/api/publication/maven/internal/DefaultMavenFactory 

Antwort

0

Dieser Fehler im Zusammenhang mit dem "sdk Version kompiliert" ist, weil Sie Gradle 2.4

Check in Ihrem Android verwenden Studio Einstellungen und Suche nach Gradle. Wenn Sie die Option "Lokale Verteilerverteilung verwenden" aktiviert haben, lesen Sie die Version und versuchen Sie, auf "Standard-Wrapper verwenden (empfohlen)" zu wechseln.

Jetzt, wenn das nicht funktioniert. Check in Ihre Projektstruktur, in der Option "Projekt" wahrscheinlich verwendet es die "Gradle Version 2.4" so eingestellt auf 2.2.1

Im schlimmsten Fall vielleicht verwenden Sie Ihre Konsole, so laufen: Gradle - Version und Überprüfen Sie Ihre Version.

Versuchen Sie zu vermeiden, die "Gradle 2.4" zu verwenden, da es Probleme mit einigen Aufgaben in Android Studio hat.