Gradle sync失败:原因:未指定compileSdkVersion

时间:2018-05-25 13:58:43

标签: android cordova ionic-framework

我正在尝试在android studio中测试我的离子应用程序。它抛出了以下错误。

Gradle sync failed: Cause: compileSdkVersion is not specified.

任何解决方案?我做错了什么。

这是我的build.gradle文件

apply plugin: 'com.android.application'

buildscript {
    repositories {
        mavenCentral()
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'
    }
}

// Allow plugins to declare Maven dependencies via build-extras.gradle.

allprojects {
    repositories {
        mavenCentral();
        jcenter()
    }
}

task wrapper(type: Wrapper) {
    gradleVersion = '4.1.0'
}

dependencies {
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:+'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:+'
    implementation 'com.android.support:appcompat-v7:27.+'
}

4 个答案:

答案 0 :(得分:2)

您正在使用27.+ Android支持库,因此您必须将sdk27作为compileSdkVersiontargetSdkVersion否则你的项目不知道你的项目应该建立在哪个平台上。这些参数应该在 build.gradle(app)中的android目录中给出:

android {
    compileSdkVersion 27
    buildToolsVersion '27.0.3'
    defaultConfig {
        applicationId "com.example.abc.test"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

只需将此代码粘贴到apply plugin: 'com.android.application'此行

下方即可

答案 1 :(得分:0)

请在您的gradle文件中添加以下行

  compileSdkVersion 26

请查看以下代码以供参考

android {
        compileSdkVersion 26
        buildToolsVersion '27.0.3'

        defaultConfig {
            applicationId ""
            minSdkVersion 15
            targetSdkVersion 26
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                minifyEnabled true
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }

    }

答案 2 :(得分:0)

  

注意:我的app / build.gradle中有一个错误,因此不是   读取compileSDKVersion属性。当我评论这样的一行时,   错误消失了:

//def enableHermes = project.ext.react.get("enableHermes", false);

首先,我必须遵循以下链接:

ReactNative: Building from source

然后这个:

ReactNative: android-development-environment

然后,您可以在settings.gradle文件中添加它:

//
include ':ReactAndroid'
//
project(':ReactAndroid').projectDir = new File(
    rootProject.projectDir, '../node_modules/react-native/ReactAndroid')

对于我的ReactViro Sample项目,我还必须从react-native node_modules目录添加依赖项:

    implementation project(':arcore_client') // remove this if AR not required
    implementation project(':gvr_common')
    implementation project(path: ':viro_renderer')
    implementation project(path: ':react_viro')

在我的settings.gradle中:

//
include ':react_viro', ':arcore_client', ':gvr_common', ':viro_renderer'
project(':arcore_client').projectDir = new File('../node_modules/react-viro/android/arcore_client')
project(':gvr_common').projectDir = new File('../node_modules/react-viro/android/gvr_common')
project(':viro_renderer').projectDir = new File('../node_modules/react-viro/android/viro_renderer')
project(':react_viro').projectDir = new File('../node_modules/react-viro/android/react_viro')
//

答案 3 :(得分:0)

如果您使用的是Hermes,请确保您使用的是React Native版本0.60 +