În fiecare proiect pe care am'am încercat să creeze în Android Studio, toate uzanțele R sunt marcate în roșu cu mesajul de eroare "nu poate rezolva simbol R", dar compilarea reușește și aplicația se execută. Acest lucru este foarte enervant, deoarece blocurile de auto-completare și arată imens roșu fluturat linii peste tot codul meu.
Am'm care rulează Android Studio 1.7.0 și crearea proiectului cu setările implicite. O captură de ecran este atașat:
Acest lucru este meu de a construi.gradle`:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'
dependencies {
compile files('libs/android-support-v4.jar')
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 7
targetSdkVersion 16
}
}
Acesta este modul în care Structura Proiectului arata ca:
Vreo idee cum se rezolva asta?
Asigurați-vă că în AndroidManifest.xmlpachetul nume este corectă. Că a rezolvat problema pentru mine, atunci când mi
R. tot ce` a fost marcată cu roșu!
Mi-ar recomanda, de asemenea, verifica toate gradle
fișiere pentru a se asigura că pachetul nume sunt corecte. Care ar trebui't face tot rosu, dar se va opri gradle
fișiere de la sincronizarea datelor în mod corespunzător.
Am avut aceeași problemă cu 'com.android.instrumente.construi:gradle:3.3.1', am încercat toate soluțiile de mai sus nu a funcționat nimic. De fapt, a fost de a construi:gradle 3.3.1 problema. Am schimbat la 3.2.1 apoi a lucrat.
Astfel încât acesta poate fi problema cu build:gradle versiune.
Ar trebui să vedeți acum "MyAppProject/MyApp/construi/sursa" folder. Acest lucru ar trebui să conțină "r" folder (unde R.java fișierul este generat). Aici, ar trebui să fie a se vedea "depanare", "de presă" în albastru (dacă aveți un projectFlavour în a construi.gradle, acestea vor fi sub "
Dacă nu funcționează, verificați toate fișierele xml. Această eroare apare atunci când fișierul xml este incorectă.
Pentru unele motive, Android studio folosi diferite configurații pentru editor și pentru compilator. Dacă acesta lucreaza pentru compilatorul atunci's bune. Dacă nu't de lucru pentru editor. (se vede nerezolvate fișiere).
Aveți nevoie pentru a adăuga unele directoare pentru sursa ta de proiect. De exemplu, toate resursele ar trebui să fie marcate ca "sursa".
File->Structura Proiectului
Selectați "Module", atunci proiectul dumneavoastră. Și selectați "surse" tab. Pe dreapta găsi resurse director și faceți clic pe albastru "sursa" buton. Aproape toți și ar trebui să funcționeze.
De asemenea,'ll trebuie să asigurați-vă că
construi/sursa/r/debug
este, de asemenea, o sursă. În am construi/sursa/*/debug
marcat ca sursă.
<?xml version="1.0" encoding="UTF-8"?>
<module external.system.id="GRADLE" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="android" name="Android">
<configuration>
<option name="SELECTED_BUILD_VARIANT" value="debug" />
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
<option name="ALLOW_USER_CONFIGURATION" value="false" />
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
</configuration>
</facet>
<facet type="android-gradle" name="Android-Gradle">
<configuration>
<option name="GRADLE_PROJECT_PATH" value=":SherlockHolmes" />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/build/source/r/debug" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/build/source/aidl/debug" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/build/source/rs/debug" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/build/source/buildConfig/debug" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/build/res/rs/debug" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/build/source/r/test" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/build/source/aidl/test" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/build/source/rs/test" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/build/source/buildConfig/test" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/build/res/rs/test" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/assets" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/res" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/resources" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/res" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/assets" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/res" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/instrumentTest/resources" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/build/apk" />
<excludeFolder url="file://$MODULE_DIR$/build/assets" />
<excludeFolder url="file://$MODULE_DIR$/build/bundles" />
<excludeFolder url="file://$MODULE_DIR$/build/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/dependency-cache" />
<excludeFolder url="file://$MODULE_DIR$/build/exploded-bundles" />
<excludeFolder url="file://$MODULE_DIR$/build/incremental" />
<excludeFolder url="file://$MODULE_DIR$/build/libs" />
<excludeFolder url="file://$MODULE_DIR$/build/manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content>
<orderEntry type="jdk" jdkName="Android 4.2.2" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Sherlock.aar" level="project" />
<orderEntry type="library" name="SlidingMenu.aar" level="project" />
<orderEntry type="library" name="support-v4-13.0.0" level="project" />
</component>
</module>
<?xml version="1.0" encoding="UTF-8"?>
<module external.system.id="GRADLE" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="android-gradle" name="Android-Gradle">
<configuration>
<option name="GRADLE_PROJECT_PATH" value=":" />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
<excludeFolder url="file://$MODULE_DIR$/build" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
Nu sunt sigur despre asta, dar am auzit că lucrează în timp ce eu'm destul de sigur că nu ar trebui't schimba nimic. Încerc elaborarea și salvarea proiectului după comentând toate liniile care necesită "R". Atunci când totul nu este de culoare roșie. Încercați să adăugați-le înapoi. Ciudat este că-ți construi/sursa nu't obține generat.
De asemenea, această întrebare sugerează verificarea "compiler uz extern construi"
De asemenea, asigurați-vă că în cod java nu există. import android.r;
de ce-ai arătat, totul pare în regulă. Ciudat că a construi/sursa e't creat. De exemplu, nu am nici o construi/apk. Poate fi v're în modul de eliberare și nu't de a crea acele directoare.
Aici este meu soluție temporară, până când am găsi unul mai bun:
Folosind Totul, găsi în cazul în care R.java este creat. În cazul meu a fost
C:\Program Fișierele (x86)\Android\android-studio\system\compiler\<project-name>.cb969c52\.generated\aapt\<module-name>.6badd9a4\production\com\<project-name>\<module-name>
În vedere de Proiect, faceți clic pe module și apăsați F4. Ignora avertismentul.
Faceți clic pe "+ Adăugați Conținut Rădăcină" și selectați folderul menționate mai sus. Asigurați-vă că-l's marcate cu albastru (ca sursă).
După ce am făcut acest lucru, dintr-o dată toate avertismentele sunt plecat. Problema este că dacă vei colabora cu alte persoane, nume de folder este diferit pe fiecare mașină astfel încât să fie atenți atunci când sincronizarea.
Aceasta a lucrat pentru mine:
Închideți și redeschideți proiect
Apăsați " Sync Proiect cu Gradle fișier " (este lângă AVD manager icon în meniul de sus) repetați de 1-2 dacă Gradle nu a putut Sincroniza pentru prima dată. (al meu a lucrat in doua oară).
A lucrat cu Android Studio 1.2.2
Uneori, aceste erori de a construi va continua de nicăieri. Dacă se întâmplă acest lucru, încercați acest lucru:
Verificați din nou de valabilitate a XML în fișiere de resurse: în Cazul în care R.java fișierul nu a fost generat pentru ultima construi, veți vedea erori în proiectul dumneavoastră, oriunde te face referință la o resursă. Acest lucru poate fi cauzat de o greșeală de scriere în fișiere XML. Layout XML nu este întotdeauna validate, astfel încât erorile de scriere, în aceste fișiere nu pot fi în esență a adus în atenția dumneavoastră. Găsirea de greșeli și de a salva fișierul ar trebui să provoace R.java a se regenera.
Curat proiectul dumneavoastră! `Selectați Build → Curat Proiectul Asta va reconstrui proiect de la zero, ceea ce poate duce la o eroare-de a construi gratuit.
Sincronizați proiect cu Gradle! `Selectați Tools → Android → Sincronizare Proiect cu Gradle Fișiere pentru Android Studio va reconstrui proiect de la zero, cu proiectul corect de setări, care vă poate ajuta pentru a rezolva probleme după schimbarea Gradle.
Rula Android Scame! Scame poate da bune informații cu privire la o problemă. Dacă cele de mai sus nu funcționează, acest lucru este în cazul în care veți găsi cel mai probabil problema ta. Pentru a rula Scame, selecta Analiza → Verificați Codul → selectați Întregul proiect → OK
Analizeze cu atenție Scame sugestii; începe cu erori și apoi avertismente.
Noroc.
Această eroare se întâmplă cu mine pentru că nu este o invalid de intrare în activity_main.xml fișierul.
Atunci când încercați să construi sau de a curăța dvs. de proiect vei vedea mesaje de eroare.
Am rezolvat pe al meu de citind aceste mesaje de eroare, a corecta ceea ce este greșit în fișier xml. apoi reconstrui proiect.
La crearea unui proiect dintr-un eșantion,în timp ce nu importă proiectul existent este bun (previne ciocniri cu gradle, .idee .iml, construi, borcane și fișiere apk, adică toate inutile construi generate de fișiere), după crearea unui nou proiect, copierea și lipirea toate resursele relevante, am'd recomanda :
verificarea pachetelor și importurile de pachete în cadrul proiectului {AndroidManifest declarație și toate importurile în clase java}, toate resursele (drawable, mip-map, machete și meniuri & ta de a construi.gradle (o mostră de a construi.gradle pentru utilizarea cu cele mai recente sdk pot fi furnizate la cerere)) pentru a vedea dacă acestea sunt & dacă a declarat siruri de caractere și id-urile exista de fapt și au fost folosite, după care numai de eroare ar trebui să fie întrebarea:
Bulid->Curat Proiectului
Instrumente->Android->Sincronizare Proiect cu Gradle Fișiere
File->Invalida Cache și Reporniți
In cele mai grave cazuri, repornirea aparatului dumneavoastră vă ajută.
Cele de mai sus ar trebui să funcționeze. Nu ezitați să puneți întrebări, dacă este necesar, și anume de a posta comentarii.
Am avut un copy/paste de reutilizare eroare în pachetul declarație manifest
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="wrong.package.name">
domeniul Principal de activitate numele avut calea corectă, astfel încât manifest n't au orice verificat erori.
După rezolvarea acestei, fișierul sursă a arătat încă erori, deși construi reușit. Am fugit aplicația și apoi sursa de eroare indicatori de clarificat.
În cazul meu, am urmat toate răspunsurile de care am putea găsi pe Stackoverflow și nici unul dintre ei părea să rezolve această problemă. Toate răspunsurile ar indica un posibil fișier xml de corupție sau de conflict cu Gradle nume. Unele răspunsuri au susținut că ar fi necesar să curățați de proiect sau de Sincronizare Proiect Cu Gradle fișiere. niciuna dintre aceste soluții ar rezolva problema. De asemenea, după ce am urmat un tutorial despre cum de a construi un Hello World app și am urmat doar Android Studio wizard windows, fără nici o codificare, la toate, nu ar't nici un sens să suspecteze că a fost o greșeală de scriere ar ceva de genul asta.
Problema s-a dovedit a fi de a Construi Instrumente de Versiune. Meu a fost setat la 23.0.0 rc1, asa ca am schimbat-o la 22.0.1. Cred că a fost pentru că am'm folosind disponibile ultima versiune de Android Disponibile.
Pentru a modifica această valoare, puteți deschide browser Proiect pe fereastra din stânga > faceți clic pe "app > Deschideți Modulul de Setare" și să-l caute pe "Fila Proprietăți"