简体   繁体   中英

Gradle sync error after android update (compileSdkVersion is not specified)

I had a project. Its work so well before updater version 3.2.1. When try sync gradle project, i got some error, but i can fix that. But i had one issue and cant find a way. Here my build.gradle

apply plugin: 'com.android.application'

android {
compileSdkVersion 28

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

buildToolsVersion '28.0.3'
useLibrary 'org.apache.http.legacy'

defaultConfig {
    applicationId "com.xxx.xxx"
    minSdkVersion 15
    targetSdkVersion 28
    multiDexEnabled true
    versionCode 7x
    versionName "1.0.7x"
    testInstrumentationRunner 
"android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
packagingOptions {
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/NOTICE.txt'
}
configurations.all {
    resolutionStrategy.force 'com.google.code.findbugs:jsr305:3.0.1'
    exclude group: 'com.squareup.okhttp3', module: 'okhttp'
}
lintOptions {
    checkReleaseBuilds false
}
}

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', 
{
    exclude group: 'com.android.support', module: 'support-annotations'
})
implementation files('libs/json_simple-1.1.jar')
implementation('com.omertron:themoviedbapi:4.2') {
    exclude group: 'org.apache.httpcomponents', module: 'httpclient'
    exclude module: 'junit'
}
implementation 'com.android.support:multidex:1.0.3'
implementation files('libs/okhttp-3.8.1.jar')
implementation files('libs/okio-1.13.0.jar')
implementation 'de.hdodenhof:circleimageview:2.2.0'
implementation 'com.google.android.gms:play-services-places:16.0.0'
implementation 'com.android.support:appcompat-v7:28.0.0'
//noinspection UseOfBundledGooglePlayServices
implementation 'com.google.android.gms:play-services:12.0.1'
implementation 'com.googlecode.libphonenumber:libphonenumber:7.3.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.google.android.gms:play-services-maps:16.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.wang.avi:library:2.1.3'
implementation 'com.baoyz.swipemenulistview:library:1.3.0'
implementation 'com.oguzdev:CircularFloatingActionMenu:1.0.2'
implementation 'javax.mail:mail:1.5.0-b01'
implementation 'com.google.firebase:firebase-messaging:17.3.4'
implementation 'org.apache.httpcomponents:httpclient-android:4.3.5.1'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.github.orangegangsters:swipy:1.2.3@aar'
implementation 'io.michaelrocks:libphonenumber-android:8.9.0'
implementation 'com.github.joielechong:countrycodepicker:2.1.5'
testImplementation 'junit:junit:4.12'
implementation files('libs/xxx.jar')
}

apply plugin: 'com.google.gms.google-services'

And:

    // Top-level build file where you can add configuration options common to 
     all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        maven { url "https://jitpack.io" }
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath 'com.google.gms:google-services:4.1.0'
    }
}

allprojects {
    apply plugin: 'com.android.application'
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
        maven{
            url "https://jitpack.io"
        }
        google()
    }
}

//task clean(type: Delete) {
//    delete rootProject.buildDir
//}

Anw, I find this: Gradle sync failed: Cause: compileSdkVersion is not specified But, its not help anymore. So, anyone can help me?

  1. change targetSdkVersion to 28 and change all your compile to implementation
  2. make sure that your top level build.gradle has the proper google() repo configured. Eg

     repositories { google() // be the first one. jcenter() } 

My related answer is here: https://stackoverflow.com/a/51151050/8034839

you need to follow the API Reference and check which compileSdkVersion support your sdk.

you can check on the expo API Reference.

Reference: expo api reference support device

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM