2015-09-06 6 views
1

Я недавно решил изменить свою рабочую среду от Eclipse до Android Studio. Я решил импортировать проект Eclipse через Android Studio.Android Studio не может найти существующий символ

Проблема в том, что когда я скомпилирую свой код, я сталкиваюсь с двумя ошибками, в которых говорится, что он не может найти два существующих символа. Эти символы на самом деле являются двумя фотографиями png, которые сохраняются в res < drawable < hdpi. Тем не менее, программа не может найти только эти две фотографии. У меня есть куча других фотографий, которые отлично работают в одной папке. Я контролировал это, удалив две картинки, вызвавшие ошибки и протестировал приложение с успешными результатами.

Вот все сообщение об ошибке:

(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) 

Изображения сохраняются в массив и вот массив:

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

Двойные R.drawables, которые не работают, являются отроком и .kingofcomedy.

Я проверил, что ресурсы на самом деле существуют и даже удалены и заменены ими, без везения.

Я осмотрел Стек, чтобы найти ответ и нашел много подобных проблем, но они были решены путем очистки проекта, отмены и перезапуска или восстановления или даже перезапуска программы. Ни один из них не работал для меня.

Вот мой gradle.build код:

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']) 

} 

А вот начало моего файла манифеста только в случае, если кто нуждается, чтобы посмотреть на него:

<?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 

Осмотрев немного, я думаю, что нашел мой problem, но я не уверен, где реализовать код решения, который находится в ссылке, если вы нажмете на нее. Это верхняя или нижняя градация?

+0

Вы уверены, что у вас есть инструменты для сборки, и последняя версия Android-sdk? –

+0

Да, я уверен, я загрузил почти все. – Rawand

ответ

0

Это одна из ваших проблем. Я не знаю, разрешит ли это другим.

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

Эта версия не существует.

Проверьте ваш верхний уровеньbuild.gradle. Вы должны использовать версию 1.3.0 вместо 23.0.0.

buildscript { 
    repositories { 
     jcenter() 
    } 

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

Это плагин для плагинов для android, и это не связано с sdk.

+0

У меня есть более низкий уровень, но я проверил верхний уровень, и это правильно, как вы показали – Rawand

0

Ваша проблема не в ресурсах.Проблема заключается в том, что ваши сборки инструменты не могут быть найдены:

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

Необходимые для создания файла ресурсов (содержащий все ваша идентификатор ресурса) средства не могут быть найдены, а это значит, что ваш R класс никогда не генерируется и поэтому Java компилятор жалуется, что символы не могут найти.

Вы указали, что у вас есть все последние обновления Android SDK, но вы уверены, что Android Studio указывает на правильное местоположение Android SDK? Предположительно, вы использовали какой-то экземпляр Android SDK для Eclipse, но Android Studio поставляется с собственным экземпляром Android SDK и, возможно, не использует тот, который вы считаете.

Посмотрите на пути к ошибке:

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 

существует ли этот путь на вашем компьютере? Это где установлен Android SDK? И можете ли вы найти папку с инструментами 23.0.1 в этом месте? Если нет, вероятно, вам необходимо исправить это, чтобы решить свои проблемы. this question может помочь вам.

+0

Ошибка, которую вы выделили, я больше не получаю. Поэтому я предполагаю, что путь SDK в порядке. Я проверил его, чтобы вы знали. – Rawand

Смежные вопросы