1

I've recently decided to change my work environment from Eclipse to Android Studio. I decided to import my Eclipse project through Android Studio.

Problem is, when I compile my code, I come across 2 errors which says that it cannot find two existing symbols. These symbols are in fact two png pictures which are saved in res < drawable < hdpi. Still, the program can't locate just these two pictures. I have a bunch of other pictures which works perfectly in the same folder. I have controlled this by removing the two pictures causing me the errors and tested the app with successful results.

Here is the entire error message:

(1)

Error:(101, 32) error: cannot find symbol variable thegodfather
Error:(101, 78) error: cannot find symbol variable kingofcomedy
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

(2)

/Users/rawandsultani/Documents/ANDROID/V1/v11/app/src/main/java/com/exple/top100/Top100Activity.java:101: error: cannot find symbol
            flag = new int[] {R.drawable.thegodfather,R.drawable.thegeneral,R.drawable.kingofcomedy,
                                        ^
  symbol:   variable thegodfather
  location: class drawable
/Users/rawandsultani/Documents/ANDROID/V1/v11/app/src/main/java/com/exple/top100/Top100Activity.java:101: error: cannot find symbol
            flag = new int[] {R.drawable.thegodfather,R.drawable.thegeneral,R.drawable.kingofcomedy,
                                                                                      ^
  symbol:   variable kingofcomedy
  location: class drawable
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
2 errors

 FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

(3)

Gradle sync failed: Could not find com.android.tools.build:gradle:23.0.0.
         Searched in the following locations:
         file:/Applications/Android Studio.app/Contents/gradle/m2repository/com/android/tools/build/gradle/23.0.0/gradle-23.0.0.pom
         file:/Applications/Android Studio.app/Contents/gradle/m2repository/com/android/tools/build/gradle/23.0.0/gradle-23.0.0.jar
         https://jcenter.bintray.com/com/android/tools/build/gradle/23.0.0/gradle-23.0.0.pom
         https://jcenter.bintray.com/com/android/tools/build/gradle/23.0.0/gradle-23.0.0.jar
         Required by:
         :v11:unspecified
         Consult IDE log for more details (Help | Show Log)

The pictures are saved in an array and here's the array:

flag = new int[] {R.drawable.thegodfather,R.drawable.thegeneral,R.drawable.kingofcomedy,
                     R.drawable.drstrangelove}

The two R.drawables which aren't working are .thegodfather and .kingofcomedy.

I have checked that the resources actually exists, and even removed and replaced them, without any luck.

I have looked around Stack to find an answer and found many similar problems but those one's were solved by either cleaning the project, invalidating and restarting or rebuilding or even restarting the program. None of these have worked for me.

Here is my gradle.build code:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"


    defaultConfig {
        applicationId "com.exple.v1"
        minSdkVersion 15
        targetSdkVersion 23
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile fileTree(dir: 'libs', include: ['*.jar'])

}

And here is the beginning of my manifest file just in case anyone needs to have a look at it:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.exple.v1"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="15"
        android:targetSdkVersion="23" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme"
        >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" 
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity

After looking around a bit, I think I've found my problem but I'm not sure where to Implement the solution code, which is in the link if you click on it. Is it the upper or lower gradle build ?

Rawand
  • 23
  • 5

2 Answers2

0

It is one of your issue. I don't know if it will solve the others.

Gradle sync failed: Could not find com.android.tools.build:gradle:23.0.0.

This version doesn't exist.

Check your top-level build.gradle. You should use the version 1.3.0 instead of 23.0.0.

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'
    }
}

It is the gradle plugin for android, and it is not related with the sdk.

Gabriele Mariotti
  • 320,139
  • 94
  • 887
  • 841
  • The gradle.build I'm showing is the lower level, but I checked out the upper level and it's correct, just as you have shown – Rawand Sep 06 '15 at 18:57
0

Your problem is not the resources. The problem is that your build tools cannot be found:

Gradle sync failed: Could not find com.android.tools.build:gradle:23.0.0.

The tools needed to generate your resource file (containing all your resource id's) cannot be found, which means that your R class is never generated and so the Java compiler complains that the symbols cannot found.

You've indicated that you have all the latest Android SDK updates, but are you sure that Android Studio is pointing to the correct Android SDK location? Presumably, you were using some instance of the Android SDK for Eclipse - but Android Studio comes with it's own instance of the Android SDK and may not be using the one you think it is.

Have a look at the paths in the error:

Searched in the following locations:
         file:/Applications/Android Studio.app/Contents/gradle/m2repository/com/android/tools/build/gradle/23.0.0/gradle-23.0.0.pom

Does this path exist on your computer? Is it where your Android SDK is installed? And can you find the 23.0.1 build tools folder in that location? If not, you probably need to fix this to resolve your issues - this question might help you out.

Community
  • 1
  • 1
adelphus
  • 10,116
  • 5
  • 36
  • 46
  • The error which you've highlighted I no longer receive. I'm therefore assuming that the SDK path is in order. I have checked it just so you know. – Rawand Sep 07 '15 at 12:07