我正在尝试在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.+'
}
答案 0 :(得分:2)
您正在使用27.+
的 Android支持库,因此您必须将sdk
版27
作为compileSdkVersion
和targetSdkVersion
否则你的项目不知道你的项目应该建立在哪个平台上。这些参数应该在 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 +