我最近决定从Eclipse改变我的工作环境 到Android Studio。我决定通过Android Studio导入我的Eclipse项目。
问题是,当我编译我的代码时,我遇到了2个错误,表示它找不到两个现有符号。这些符号实际上是两个png图片,它们保存在res<可绘制的<华电国际。尽管如此,程序还是找不到这两张图片。我有一堆其他图片在同一个文件夹中完美运行。我通过删除导致我错误的两张图片来控制这一点,并测试了应用程序的成功结果。
以下是整个错误消息:
(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是.thegodfather和.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 :(得分: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的gradle插件,它与sdk无关。
答案 1 :(得分:0)
你的问题不是资源。问题是无法找到您的构建工具:
Gradle sync failed: Could not find com.android.tools.build:gradle:23.0.0.
无法找到生成资源文件所需的工具(包含所有资源ID),这意味着永远不会生成R
类,因此Java编译器会抱怨找不到符号
您已经表明您拥有所有最新的Android SDK更新,但您确定Android Studio指向正确的Android SDK位置吗? 据推测,您使用的是Android SDK的一些实例 - 但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可能会帮助您解决问题。