2015-05-28 36 views
7

Tôi đang cố gắng xây dựng thư viện của mình và tải nó lên kho lưu trữ, nhưng việc xây dựng gradle không may là không thành công. Tôi đã dành vài giờ cố gắng sửa chữa lỗi này, nhưng không có gì tôi đã cố gắng không giúp đỡ.
Đây là số build.gradle của tôi từ thư mục gốc của dự án.Nhận android.compileSdkVersion bị thiếu! 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() 
    } 
} 

Và build.gradle từ thư mục module của tôi

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

Ngoài ra tôi đã thêm một số cấu hình vào local.properties tập tin của tôi

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

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

Vấn đề là tôi nhận được sau lỗi sau khi gradle bintrayUpload.

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) 

Và ở phần cuối của đầu ra thông báo lỗi tôi nhận được sau

* 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 

Trả lời

0

Lỗi này liên quan với "biên dịch phiên bản sdk" là bởi vì bạn đang sử dụng Gradle 2.4

Kiểm tra trong Android của bạn Tùy chọn studio và tìm kiếm Gradle. Nếu bạn có "Sử dụng phân phối gradle cục bộ", hãy xem phiên bản và cố gắng thay đổi thành "Sử dụng trình bao bọc gradle mặc định (được khuyến nghị)"

Bây giờ nếu không hoạt động. Kiểm tra cấu trúc dự án của bạn, trong tùy chọn "Dự án" có thể là sử dụng "Gradle version 2.4" để đặt thành 2.2.1

Trong trường hợp xấu nhất có thể bạn đang sử dụng bảng điều khiển, vì vậy hãy chạy: gradle --version và kiểm tra phiên bản gradle của bạn.

Cố gắng tránh sử dụng "Gradle 2.4" vì có sự cố liên quan đến một số tác vụ trong Android Studio.

Các vấn đề liên quan