Android Studio ไม่สามารถแก้ไขสัญลักษณ์ได้ทันใด


207

Android Studio 0.4.2 ทำงานได้ดีและวันนี้ฉันเปิดมันและเกือบทุกอย่างจะเป็นสีแดงและความสมบูรณ์อัตโนมัติก็หยุดทำงาน ฉันดูที่การนำเข้าและดูเหมือนว่าจะบอกฉันว่าไม่พบandroid.support.v4ทั้งหมดในทันที (เสนอตัวเลือกให้ฉันลบการนำเข้าที่ไม่ได้ใช้) ( android.support.v7ดูเหมือนว่าจะไม่เป็นไร)

สิ่งที่ฉันได้ลอง:

  • การสร้างโครงการขึ้นใหม่
  • ทำความสะอาดโครงการ
  • การซิงค์กับไฟล์ Gradle
  • ปิดโครงการปิด AS และเปิดใหม่ / เปิดใหม่
  • ไฟล์> ทำให้แคช / รีสตาร์ทไม่ถูกต้อง
  • ตรวจสอบผ้าสำลีไม่เห็นอะไรชัดเจน
  • การตรวจสอบซ้ำ ๆ ว่าไลบรารีสนับสนุนทั้งหมดเป็นข้อมูลล่าสุดในตัวจัดการ SDK
  • ตรวจสอบ Build.gradle ของฉันแม้ว่าจะไม่มีการเปลี่ยนแปลงและมันก็เป็นเหมือนเดิมวิธีที่มันใช้งานได้ตลอดเวลา

ที่นี่เป็นกรณีที่เกี่ยวข้อง:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.7.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.0'

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
    }
}

dependencies {
    compile 'com.android.support:support-v4:19.0.0'
    compile 'com.android.support:gridlayout-v7:19.0.0'
    compile 'com.android.support:appcompat-v7:19.0.0'
    compile 'com.google.android.gms:play-services:4.0.30'
    compile project(':libraries:facebook')
    compile files('libs/core.jar')
}

เมื่อฉันกด "Sync with Gradle" และเปิด "การตั้งค่าโครงการ" ฉันได้รับข้อผิดพลาดสีแดงบอกฉันว่าฉันมีการอ้างอิงห้องสมุดซ้ำและเพื่อลบรายการที่ไม่ได้ใช้ .. ป้อนคำอธิบายรูปภาพที่นี่

โครงการของฉันรวบรวมและทำงานได้ดี แต่ฉันต้องการการเติมข้อความอัตโนมัติให้ทำงานจริงๆ !! ไม่มีใครมีข้อเสนอแนะใด ๆ ?

ป้อนคำอธิบายรูปภาพที่นี่


66
ทุกการอัปเดต Android Studio เดียวจะแบ่งโครงการออกมาฉันก็เบื่ออยู่แล้ว ทำไมพวกเขาไม่สามารถยึดถือและปล่อยรุ่นที่ใช้งานได้
Konrad Morawski

3
ก่อนที่จะทำความสะอาดหรือลบไฟล์ใด ๆ ให้อ่านคำตอบนี้ก่อน มันอาจแก้ปัญหาของคุณ stackoverflow.com/a/19223269/513413
Hesam

16
"ใช้แคช / รีสตาร์ทไม่ถูกต้อง" ใช้ได้สำหรับฉัน
Eagle_Eye

1
พบปัญหาเดียวกันและแก้ไขด้วยคำตอบของโพสต์ SO นี้stackoverflow.com/a/30828772/1550233
johnw182

ยอมรับคำตอบนี้เพื่อไม่ให้ผู้ใช้ลบอะไรด้วยตนเองstackoverflow.com/a/22901534/7767664
user924

คำตอบ:


238

คุณได้ลงรายการสิ่งต่าง ๆ ที่เป็นประโยชน์แล้ว แต่คุณสามารถลอง:

  • ออกจาก Android Studio
  • สำรองข้อมูลโครงการของคุณ
  • ลบไฟล์. iml ทั้งหมดและโฟลเดอร์ .idea
  • เปิดใช้งาน Android Studio อีกครั้งและนำเข้าโครงการของคุณอีกครั้ง

อย่างไรก็ตามข้อความแสดงข้อผิดพลาดที่คุณเห็นในกล่องโต้ตอบโครงสร้างโครงการนั้นส่วนใหญ่จะเป็นการหลอกลวง

UPDATE:

Android Studio 0.4.3 มีให้บริการในช่องทางอัพเดตขมิ้นและหวังว่าจะสามารถแก้ไขปัญหาเหล่านี้ได้ อาจมีปัญหาบางอย่างที่เอ้อระเหย; หากคุณเห็นพวกเขาใน 0.4.3 แจ้งให้เราทราบและพยายามให้ขั้นตอนการทำซ้ำที่เชื่อถือได้แก่เราเพื่อให้เราสามารถมั่นใจได้ว่าเราได้ดูแลทุกเส้นทางรหัส


3
สิ่งนี้ใช้ได้สำหรับฉัน ฉันจะบ้ากับสิ่งนี้ทั้งวันพยายามที่จะคิดออก! ขอบคุณสำหรับคำตอบ.
Patrick Kafka

25
สำหรับฉันมันก็เพียงพอแล้วที่จะลบโฟลเดอร์ไลบรารีใน. ada และกดซิงค์โครงการที่มี gradle
Gabriel Ittner

2
ฉันมีปัญหาเดียวกันกับ 0.8.9 และลองวิธีแก้ปัญหาทั้งหมดที่ระบุไว้ที่นี่โดยไม่มีโชค :(
Rémy DAVID

3
ไม่ได้ผลสำหรับฉันใน AndroidStudio 1.2 RC นี่คือฝันร้าย
RED_

7
สิ่งนี้ยังคงเกิดขึ้นในปี 2561 และคำตอบของคุณก็มีประโยชน์ ฉันหวังว่าสิ่งนี้จะได้รับการแก้ไขแม้ว่า ... เกิดขึ้นใน AS 3.1.1
Demogorii

302

ไม่มีสิ่งใดที่กล่าวถึงข้างต้นที่นี่ใช้งานได้จริงสำหรับฉัน แต่ฉันพบรายการเมนูนี้ในเมนูไฟล์Invalidate Caches/Restartซึ่งดูเหมือนจะแก้ไขปัญหาได้

ฉันไม่รู้จริง ๆ ว่าเกิดอะไรขึ้นในพื้นหลัง แต่เมื่อ Android Studio เริ่มต้นขึ้นอีกครั้งแถบสถานะจะบอกว่าIndexing...เป็นเวลาหนึ่งนาที

สำหรับการอ้างอิงฉันใช้ Android Studio 0.5.4


2
ทำงานให้ฉันเมื่อวันที่ 0.5.9
สแต็กพ่อ

19
สำหรับฉันฉันมีปัญหาไฟฟ้าขัดข้องขณะที่ Android กำลังโหลดสตูดิโอ 0.8.2 และมันจะไม่รับรู้ถึงการนำเข้าจาวาของฉันและทุกอย่างก็เป็นสีแดง มันใช้งานได้สำหรับฉันขอบคุณ!
Simon

2
ฉันใช้ android studio 1.0.2 เมื่อฉันเปิดโครงการฉันเต็มไปด้วยข้อผิดพลาดสีแดง ฉันแก้ไขได้โดย android studio -> file -> chaches / restart ไม่ถูกต้อง เมื่อโครงการของฉันรีสตาร์ทมันทำงานได้ .. ไม่มีข้อผิดพลาดสีแดง
SoftEye

4
Android Studio 1.1.0 ฉันมีปัญหาไฟฟ้าขัดข้องและนี่ก็เป็นกลอุบาย
Phito

2
ตอนนี้ควรเป็นคำตอบที่ถูกต้อง ฉันยืนยันกับ Android Studio 1.4 เป็นครั้งสุดท้าย
Davideas

58

ผ่านลิงค์และมันก็ได้ผลสำหรับฉัน

1. ) เลือกตัวเลือกไฟล์จากเมนูด้านซ้ายบนของ android studio

2. ) เลือกตัวเลือก: "ทำให้แคช / รีสตาร์ทไม่ถูกต้อง" มันจะเปิดกล่องโต้ตอบ

3. ) คลิกที่ปุ่มแรกพร้อมตัวเลือก: "ทำให้ถูกต้องและเริ่มต้นใหม่"

4. ) มันจะปิดสตูดิโอและเริ่มต้นใหม่ เริ่มสร้างดัชนีของโครงการ

มันแก้ไขปัญหาของฉัน:

ไฟล์ -> ทำให้แคช / รีสตาร์ทไม่ถูกต้อง -> ทำให้ใช้งานไม่ได้และเริ่มต้นใหม่

ที่มา: https://www.youtube.com/watch?v=FX_gCTpqhwM


1
สำหรับ Android Studio 3+: stackoverflow.com/questions/50313885/…
user1506104

ทำงานให้ฉันใน Android Studio 3.5.3
ข้อบกพร่อง

13

Android Studio 1.3

  1. เปิดการตั้งค่าโมดูล
  2. คลิกที่โมดูลของคุณภายใต้เมนูโมดูล
  3. ในแท็บคุณสมบัติตั้งค่าความเข้ากันได้ของแหล่งที่มาและความเข้ากันได้ของเป้าหมายเป็นรุ่น java

ฉันไม่ได้ทำอะไรอย่างอื่นและมันก็ใช้ได้ผลสำหรับฉัน


ฉันจะหาการตั้งค่าโมดูลได้ที่ไหน
bendaf

3
@bendaf คลิกขวาที่โมดูลของคุณใน explorer และเลือก "เปิดการตั้งค่าโมดูล"
Jason Robinson

การตั้งค่าเหล่านี้สามารถพบได้ในไฟล์ -> โครงสร้างโครงการ -> คุณสมบัติ
ChumiestBucket

10

สำหรับฉันมันเป็นรายการ "progaurd" ใน build.gradle ของฉัน ฉันลบส่วนบิลด์ทั้งหมดจากนั้นทำการซิงค์ใหม่และแก้ไขปัญหา


ทำงานให้ฉัน! ขอบคุณ! ใช้นกขมิ้นสร้าง 1.0RC 1. การใช้minifyEnabled trueหรือไม่กำหนดminifyEnabled false proguardFiles
Kalem

ยังไม่ลืมว่าโครงการ AndroidLibrary ไม่ได้ทำงาน proguard stackoverflow.com/a/10992604/665823
Kalem

4

ฉันใช้ Android Studio 3.1.4 และฉันประสบปัญหาดังกล่าวเมื่อย้ายจากสาขาที่กำลังพัฒนาโดยมีเป้าหมาย api ที่ต่ำกว่าไปยังสาขาอื่นที่มีเป้าหมาย api Oreo ฉันลองวิธีแรกที่ใช้งานได้ แต่มันค่อนข้างยุ่งยากในขณะที่วิธีที่สองไม่ได้แก้ปัญหา

โซลูชันของฉัน เมื่อปัญหากลับมาอีกครั้งฉันพยายามแก้ไขไฟล์แอป gradle ของฉันให้เพียงพอที่จะเป็น AS เพื่อขอให้ฉันซิงค์ไฟล์และนั่นก็เป็นเคล็ดลับ จากนั้นฉันลบการเปลี่ยนแปลง

ฉันเดาว่า "ซิงค์โครงการกับไฟล์ Gradle" อาจใช้ได้เช่นกัน แต่ฉันไม่ได้ลองเอง

หวังว่ามันจะช่วย


3

มีวิธีแก้ปัญหาที่ง่ายกว่ามากที่ติดตั้งไว้ใน Android Studio และมันมักจะใช้ได้กับฉันโดยไม่จำเป็นต้องใช้วิธีการแก้ปัญหาที่ดุร้ายที่กล่าวถึงในคำตอบอื่น ๆ ป้อนคำอธิบายรูปภาพที่นี่

คลิกที่สัญลักษณ์ "gradle" ที่ด้านขวาของ Android Studio จากนั้นคลิกที่เครื่องมือ "Refresh all Gradle project"


2

คิดว่าฉันจะโยนมันออกไปที่นั่นด้วย:

สิ่งที่ได้ผลสำหรับฉันคือการเปลี่ยนชุดตัวสร้างของฉันกลับไปเป็นชุดตัวเลือกที่ใช้งานได้ก่อนหน้านี้ ด้วยเหตุผลบางอย่างฉันได้เปลี่ยนแปลงสิ่งนี้มาก่อน (และฉันลืมสาเหตุ)

วิธีที่ดีที่สุดที่จะทำคือพยายามจำสิ่งที่คุณเปลี่ยนในวันนั้น (อาจเป็นอะไรที่น้อยกว่าการทำความสะอาดหรือกลับไปที่คอมไพล์ก่อนหน้านี้) ... ฯลฯ

นอกจากนี้ยังช่วยในการพยายามซิงก์การไล่ระดับสีซ้ำและบังคับให้สร้างใหม่


1

ต้องดิ้นรนกับปัญหาเดียวกันเป็นเวลาสองสามชั่วโมงเช้านี้ การสร้างโครงการของฉันจากบรรทัดคำสั่งดูเหมือนจะเป็นการหลอกลวงสำหรับฉันแล้ว

ขั้นตอนที่แน่นอน -

  1. ที่เก็บข้อมูลใหม่ที่โคลน (ไม่มีไฟล์สตูดิโอ Android อยู่ใน repo)
  2. สร้างโครงการดีบักจากบรรทัดคำสั่ง (./gradlew clean assembleDebug ใหม่ทั้งหมด)
  3. เปิด Android Studio นำเข้าโครงการ

เพื่อตรวจสอบว่ามันใช้งานได้ดูในโครงการของคุณ exploded-bundles โฟลเดอร์ตรวจสอบไลบรารีและค้นหา classes.jar ถ้ามันขยายได้ทุกอย่างก็โอเค

แก้ไข - ฉันพบหลังจากทำความสะอาดภายในสตูดิโอ Android แล้วมันก็พังอีกครั้ง ดังนั้นหากคุณต้องทำความสะอาดคุณจะต้องทำกระบวนการนี้อีกครั้ง


ฉันไม่ทราบว่าเกิดปัญหาอะไร แต่การทำความสะอาด assembleDebug แบบค่อยเป็นค่อยไปและทุกอย่างก็ดีแล้วสำหรับตอนนี้
Killer

1

วิธีการเหล่านี้ไม่ได้ช่วยฉันใน Android Studio 0.5.8

ทางออกของฉันคือการลบไดเรกทอรี ~ / .AndroidStudioPreview (ใน Ubuntu) ขออภัยฉันไม่รู้ว่าอยู่ในระบบปฏิบัติการอื่นอยู่ที่ไหน ไดเรกทอรีนี้เก็บไฟล์ชั่วคราวและการตั้งค่า Android Studio ดังนั้นฉันจึงพลาดการตั้งค่าทั้งหมด แต่มันใช้งานได้!


ทำงานให้ฉันด้วย (Android Studio 0.6.0 บนระบบปฏิบัติการระดับประถมศึกษา)
rogeriolino

1

อีกวิธีหนึ่งคือการดาวน์โหลด JDK 1.7 และเปลี่ยนเส้นทางจาก Android Studio ในข้อความแสดงข้อผิดพลาดและเลือกโฮมโฟลเดอร์ที่อยู่ในโฟลเดอร์ Jdk 1.7


1

พบปัญหาเดียวกันวันนี้ แก้ไขโดยการเปลี่ยนตำแหน่ง jdk ในโครงสร้างโครงการจาก\java\jdk1.7.0_05เป็น\java\jdk1.7.0_25(ซึ่งฉันไม่เคยรู้มาก่อน)

ฉันใช้งาน Android Studio 0.8.6



1

ฉันพยายามทำความสะอาดโครงการแล้วทำให้แคชใช้งานไม่ได้ สิ่งที่ใช้ได้ผลสำหรับฉันคือการแสดงความคิดเห็นการอ้างอิงทั้งหมดของฉันใน build.gradle (แอป) จากนั้นซิงค์จากนั้นยกเลิกการอ้างอิงความคิดเห็นอีกครั้งจากนั้นจึงซิงค์อีกครั้ง บ๊อบเป็นลุงของคุณ


0

ฉันประสบปัญหาที่คล้ายกัน แต่ฉันทำตามขั้นตอนในกรณีของฉัน: -

1). ภายในโครงการภายใต้. ada โฟลเดอร์เปิด modules.xml 2). ตรวจสอบว่ามีสองรายการสำหรับไฟล์ iml เดียวกัน 3). ลบหนึ่งในรายการที่ซ้ำกันและปิด android studio หรือสร้างไฟล์ gradle อีกครั้ง

ในกรณีของฉันมันใช้งานได้ หวังว่ามันจะช่วย


0

ฉันได้รับการแก้ไขโดยการตั้งค่า JDK ฉันได้รับป๊อปอัพแจ้งว่า Setup JDK เมื่อฉันวางเมาส์เหนือข้อผิดพลาด


0

ฉันมีปัญหาเดียวกันไม่มีวิธีแก้ไขปัญหาที่ระบุไว้ที่นี่ทำงานได้ ปัญหาคือไฟล์ต้นฉบับของฉันซึ่งไม่ได้อยู่ในโฟลเดอร์ด้านขวา

โครงสร้างไดเรกทอรีต้องเป็น:

[project]\[module]\src\main\java\[yourpackage]\[yourclass.java]


0

ในที่สุดฉันก็พบว่าอะไรเป็นสาเหตุของปัญหานี้

ที่จริงแล้วคุณควรหลีกเลี่ยงการดัน.idea/librariesโฟลเดอร์ไปยังที่เก็บของคุณ มันสร้างสิ่งแปลก ๆ ใน Android Studio ซึ่งมีแนวโน้มที่จะลบไลบรารีที่ดาวน์โหลดทั้งหมด

หากคุณมีการคอมมิทประวัติให้สร้างไฟล์ไลบรารี่ที่หายไปทั้งหมดใหม่อีกครั้งและหลีกเลี่ยงการถูกคอมมิทอีกครั้ง มิฉะนั้นเพียงลบ.ideaโฟลเดอร์ทั้งหมดแล้วนำเข้าโฟลเดอร์ใหม่


0

ลองเปลี่ยน build.gradle ด้วยค่าเหล่านี้:

android {compileSdkVersion 18 buildToolsVersion '21 .0.1 '

defaultConfig {
    minSdkVersion 18
    targetSdkVersion 18
}

0

ฉันใช้ค่ากำหนดที่แบ่งปัน แต่ Android Studio บ่นเกี่ยวกับสัญลักษณ์ตัวแก้ไข จากนั้นฉันเพิ่ม

import android.content.SharedPreferences.Editor;

และสัญลักษณ์ก็เจ๋งตอนนี้


0

กรุณาตรวจสอบว่าคุณมีเส้นทางของโครงการที่มีตัวละครพิเศษเช่น! (เครื่องหมายอัศเจรีย์)

ในปัญหาที่คล้ายกันที่ฉันพบนี่เป็นสาเหตุที่แท้จริง - เนื่องจากแอปพลิเคชัน Java จำนวนมากดูเหมือนจะไม่ยอมให้มีอักขระพิเศษดังกล่าว (เช่นการทำ 'gradlew clean' จากเทอร์มินัลจะล้มเหลว การแก้ปัญหาอื่นที่โพสต์ออนไลน์ไม่ได้ช่วยฉัน แต่เมื่อฉันลบ! จากเส้นทางและสร้างใหม่ทั้งหมด Android Studio ใช้งานได้อย่างน่าอัศจรรย์


0

ฉันลองทุกอย่างที่ระบุไว้ที่นี่ จากนั้นฉันตรวจสอบ androidmanifest.xml ฉันมี stoopid บางอันไม่ตรงกันเนื่องจากการเปลี่ยนชื่อโฟลเดอร์และการเปลี่ยนชื่อแพ็คเกจ


0

ในโครงการหลายโมดูลของฉันปัญหาคือรุ่น "com.android.support:appcompat-v7" ในโมดูล A คือ "22.0.0" แต่ใน B - "22.2.0"

วิธีแก้ไข : ตรวจสอบให้แน่ใจว่า
1. ไลบรารีทั่วไปเวอร์ชันเดียวกันระหว่างโมดูล
2. แต่ละโมดูลจะรวบรวมโดยไม่มีข้อผิดพลาด (พยายามสร้างแต่ละโมดูลจาก CLI)


0

โปรดระวังว่าชื่อไฟล์และโฟลเดอร์พิเศษอาจทำให้เกิดข้อผิดพลาดนี้ ตัวอย่างเช่นหากคุณมีโฟลเดอร์ "ผู้ช่วยเหลือ" และแพ็คเกจสำหรับไฟล์ในโฟลเดอร์นี้คือ "com.whething.helpers" จะไม่ส่งผลให้เกิดข้อผิดพลาดในการรวบรวม แต่จะทำให้สตูดิโอ Android ไม่สามารถโหลดสัญลักษณ์ในโฟลเดอร์นั้น . หนึ่งในเหตุผลทั่วไปคือเมื่อคุณตั้งชื่อโฟลเดอร์ด้วยอักษรตัวใหญ่ตัวแรกให้คอมมิตบน Git และเปลี่ยนชื่อโฟลเดอร์เป็นตัวพิมพ์เล็กทั้งหมดในภายหลัง ระบบ Git จะไม่จดจำการเปลี่ยนแปลงที่ทำให้เกิดความแตกต่างระหว่างที่เก็บข้อมูลโลคัลและรีโมตที่มีผลกับที่เก็บโคลนใหม่เท่านั้น


0

อีกสาเหตุที่บอบบางมาก:

ไลบรารีที่มีหลายรสชาติควรรวบรวมในลักษณะที่เฉพาะเจาะจงมากกว่าแบบที่มีกลิ่นรสเดียว ไม่เช่นนั้นจะสร้างความเงียบไม่สามารถแก้ไขข้อผิดพลาดของสัญลักษณ์ได้

แอปหลากหลายรสตามไลบรารีหลายรสใน Android Gradle


0

ฉันมีทางออกแปลกหน้ามาก ในกรณีที่ใครก็ตามพบเจอสิ่งนี้คุณควรตรวจสอบไฟล์ gradle ซ้ำ ปรากฎว่าเมื่อฉันทำการโคลนคอมไพล์และ gradle นั้นกำลังรันอยู่มันลบหนึ่งบรรทัดจากไฟล์ build.gradle (แอป) ของฉัน

dependencies {
     provided files(providedFiles)

เห็นได้ชัดว่าปัญหาที่นี่คือการเพิ่มกลับและซิงค์กับ gradle อีกครั้ง


0

ฉันมีปัญหาที่คล้ายกันเมื่อฉันสร้างไฟล์ aar ขึ้นใหม่และแทนที่ไฟล์เก่าในโครงการด้วยไฟล์ใหม่ ฉันได้แก้ปัญหาทั้งหมดที่นี่และไม่มีใครแก้ไขปัญหาของฉัน ต่อมาฉันก็ตระหนักว่า minifyEnabled ได้ถูกตั้งค่าเป็นจริงในโครงการห้องสมุดซึ่งลบรหัสตายจำนวนมากที่ไม่ได้ใช้ในโครงการห้องสมุดออกอย่างมีประสิทธิภาพ

โซลูชันของฉันคือตั้งค่า minifyEnabled เป็นเท็จในโครงการห้องสมุดประกอบ aar คัดลอกลงในโครงการของฉันแคชที่ใช้งานไม่ได้และซิงค์โครงการเกรดและทุกอย่างทำงานได้ดี

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.