Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot resolve symbol 'tools' and 'GradleException'

I have started to work on an existing project including Android NDK. I have two issues in build.gradle, which is impossible for me to build the app. For your information, my co-worker (who was working on it) was able to build the app.

I have already imported the NDK, from the project structures I can see the correct Android NDK path.

Here is how build.gradle looks like :

import org.apache.tools.ant.taskdefs.condition.Os  buildscript { repositories {     maven { url 'https://maven.fabric.io/public' } }  dependencies {     // The Fabric Gradle plugin uses an open ended version to react     // quickly to Android tooling updates     classpath 'io.fabric.tools:gradle:1.21.5' } } allprojects { repositories {     maven { url "https://jitpack.io" } } } apply plugin: 'com.android.application' apply plugin: 'io.fabric' apply plugin: 'realm-android'  repositories { maven { url 'https://maven.fabric.io/public' } }  android { compileSdkVersion 24 buildToolsVersion "24.0.2" dataBinding{     enabled = true; }  defaultConfig {     applicationId "com.lucien.myapp"     minSdkVersion 16     targetSdkVersion 24     versionCode 1     versionName "1.0.0"      ndk {         moduleName "DSPLib-jni"     } } buildTypes {     release {         minifyEnabled false         proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'     } }  sourceSets.main.jni.srcDirs = [] // disable automatic ndk-build call, which ignore our Android.mk sourceSets.main.jniLibs.srcDir 'src/main/libs'  // call regular ndk-build(.cmd) script from app directory task ndkBuild(type: Exec) {     workingDir file('src/main')     commandLine getNdkBuildCmd() }  tasks.withType(JavaCompile) {     compileTask -> compileTask.dependsOn ndkBuild }  task cleanNative(type: Exec) {     workingDir file('src/main')     commandLine getNdkBuildCmd(), 'clean' }  clean.dependsOn cleanNative  }  dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:24.2.0' compile 'com.android.support:design:24.2.0' compile 'com.android.support:support-v4:24.2.0'  compile 'com.github.PhilJay:MPAndroidChart:v2.2.5' compile 'com.orhanobut:dialogplus:1.11@aar' compile('com.crashlytics.sdk.android:crashlytics:2.6.2@aar') {     transitive = true; } compile 'com.squareup.retrofit2:retrofit:2.1.0' compile 'com.squareup.retrofit2:converter-gson:2.0.2' compile 'com.google.code.gson:gson:2.7'  }  def getNdkDir() { if (System.env.ANDROID_NDK_ROOT != null)     return System.env.ANDROID_NDK_ROOT  Properties properties = new Properties() properties.load(project.rootProject.file('local.properties').newDataInputStream()) def ndkdir = properties.getProperty('ndk.dir', null) if (ndkdir == null)     throw new GradleException("NDK location not found. Define location with ndk.dir in the local.properties file or with an ANDROID_NDK_ROOT environment variable.")  return ndkdir  }  def getNdkBuildCmd() { def ndkbuild = getNdkDir() + "/ndk-build" if (Os.isFamily(Os.FAMILY_WINDOWS))     ndkbuild += ".cmd"  return ndkbuild  } 

I have an issue with the first line, trying to import "org.apache.tools.ant.taskdefs.condition.Os" : Cannot resolve symbol 'tools'

tools issue

And the same kind of issue for "throw new GradleException("...")"

GradleException issue

Do I need to update something in my build.gradle ? Or the issue is somewhere else ?

Thanks !

like image 341
Guimareshh Avatar asked Sep 05 '16 12:09

Guimareshh


People also ask

What is Cannot resolve symbol in Android Studio?

Most often “R cannot be resolved” error appears if there is an issue with some of your resource files. Due to this error, you are unable to build your application. That's why we need to solve this error as it not getting away by just doing a simple restart or hitting Alt+Enter.

What is gradle exception?

GradleException is the base class of all exceptions thrown by Gradle. See Also: Serialized Form.


2 Answers

You can use any other available exceptions from java like:

throw new FileNotFoundException("Could not read version.properties!") 
like image 117
walkmn Avatar answered Sep 17 '22 20:09

walkmn


To fix this, just change GradleException() to FileNotFoundException()

throw new FileNotFoundException("NDK location not found...") 

instead of

throw new GradleException("NDK location not found...") 
like image 36
Paresh Mangukiya Avatar answered Sep 20 '22 20:09

Paresh Mangukiya