it-swarm.com.de

Warum findet Android Studio meine Ressourcen nicht?

Die Überprüfung von Code in Android Studio scheint keine der projektspezifischen Ressourcen zu finden. 

Zum Beispiel meine styles.xml

<resources>
  <style name="AppBaseTheme" parent="Holo.Theme.Light.DarkActionBar">
  </style>

  <!-- Application theme. -->
  <style name="AppTheme" parent="AppBaseTheme">
  </style>
</resources>

Markiert die zweite AppBaseTheme rot und sagt: "Symbol 'AppBaseTheme' kann nicht aufgelöst werden".

Die App wird kompiliert und läuft ohne Probleme, aber ich habe keine Code-Vervollständigung der Ressourcen. Die Inspektion scheint jedoch die ActionBarSherlock-Ressourcen und HoloEverywhere-Ressourcen (z. B. Holo.Theme.Light.DarkActionBar, Auto-Completion funktioniert auch) zu finden.

build.gradle des app (sub) -Projekts

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:0.4.1'
    }
}
apply plugin: 'Android'

dependencies {
    //compile files('libs/Android-support-v4.jar')
    compile project(':abs-library')
    compile project(':he-library')
    compile project(':he-addons:slider')
    compile project(':he-addons:preferences')
    // using a custom repo here
    compile 'com.google.Android:support-v4:r13'
}

Android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 17
    }

    sourceSets {
        main {
            manifest.srcFile 'src/main/AndroidManifest.xml'
            Java.srcDirs = ['src/main/Java']
            // abs-res, he-res are symlinks to ../abs-library/res
            // and ../he-library/res 
            res.srcDirs = ['src/main/res', 'abs-res', 'he-res']
        }
    }
}
19
lukrop

Das erste, was ich versuchen würde, ist File>>Invalidate Caches\Restart>>Invalidate and Restart.

Dies hat alle Ressourcenprobleme behoben, die ich jemals mit Android Studio hatte.

42
bcorso

Versuchen Sie es mit der Schaltfläche "Projekt mit Verlaufsdateien synchronisieren" in der Werkzeugleiste (grüner Kreis mit blauem Pfeil), es hat bei mir funktioniert

Sie können die Synchronisierung auch zwingen, etwas in Ihrem Gradle zu ändern.

6
Zinc

Sie haben ein Problem in Ihrer Stildefinition, Sie müssen den mit "@" definierten Stil aufrufen:

<resources>
  <style name="AppBaseTheme" parent="@Android:style/Theme.Holo.Light.DarkActionBar">
  </style>

  <!-- Application theme. -->
  <style name="AppTheme" parent="@style/AppBaseTheme">
  </style>
</resources>

@style/AppBaseTheme bedeutet hier, dass das System in Ihrer Datei styles.xml den Stil AppBaseTheme aufrufen wird.

4
Yoann Hercouet

Anscheinend wurde das Problem gelöst, indem das Projekt geschlossen, der .idea-Ordner und alle .iml-Dateien gelöscht, mit ./gradlew clean gereinigt und das Projekt erneut importiert wurde. Diesmal habe ich das Kontrollkästchen auto import angekreuzt, während ich das Gradle-Modell importierte.

4
lukrop

mach das :

1 - gehe zu Android studio’s menu barBuild> Projekt neu erstellen

2 - gehe zu Android studio’s menu barBuild> Projekt reinigen

3 - gehe zu Android studio’s menu barFile> Invalidate Caches/Restart

3

Ich hatte ein ähnliches Problem 

targetSdkVersion 17 

zu

targetSdkVersion 18

Bei der Verwendung von Abhängigkeiten kann es vorkommen, dass Sie bestimmte SdkVersion verwenden. In meinem Fall hatte ich targetSdkVersion 25, aber appcompat benötigte mindestens Version 26.

1
Matej Lachman