it-swarm.com.de

Warum meldet Android Studio "URI ist nicht registriert"?

Ich habe Android Studio daher einmal ausprobiert, weil ich Resharper wirklich mag und bemerkte, dass die IDE einige ihrer Funktionen eingebaut hat. Nachdem ich nun ein neues Standardprojekt erstellt habe, habe ich eine neue Layoutdatei hinzugefügt und wollte das vorhandene Standardlayout "Hallo Welt" ändern. In den folgenden Zeilen wurde die Fehlermeldung "URI ist nicht registriert" angezeigt:

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/tools"

Ich habe noch nichts an dem standardmäßig generierten Projekt gemacht. Ich bin auf eine andere Frage gestoßen, die verwandt zu sein scheint ( Intellij Android-Projektschema-URI nicht registriert? ), aber das Ignorieren von etwas fühlt sich seltsam an. Ich habe es tatsächlich ausprobiert, was jedoch dazu führt, dass RelativeLayout (und wahrscheinlich auch alle anderen Android-bezogenen Dinge) nicht mehr erkannt werden (Fehlermeldung: "Die Deklaration des Elements 'RelativeLayout' kann nicht gefunden werden").

Irgendwelche Ideen, wie man dieses Problem lösen kann?

140
Xilconic

Sie haben dieses Problem, weil Sie sich am falschen Ort befinden! Das richtige Verzeichnis für die Layout-Ressourcendatei muss sich unter "res-layout" befinden, nicht unter "res-all-layout".

133
Mazen Kasser

Für mich lag das daran, dass ich eine Debug- und Release-Build-Variante verwendete. Ich habe die neuen Ordner src/debug/res/layout/some_layout.xml manuell hinzugefügt, und der URI wurde nicht erkannt. Ich habe die Build-Variante auf Release und dann wieder auf Debug umgestellt. Dies veranlasste Android Studio dazu, etwas neu zu laden, und der Fehler wurde behoben.

BEARBEITEN: Überprüfen Sie auch, ob Sie den richtigen Dateinamen haben. Ich hatte dieses Problem erneut, indem ich eine Debug-Version von AndroidManifest.xml hinzufügte, die jedoch fälschlicherweise als AndroidManifest.xml.xml bezeichnet wurde.

45
eliasbagley

Ich verwende Intellij IDEA, aber ich denke, es wird auch in Android Studio funktionieren. Sie können das "Ereignisprotokoll" in der IDE rechten unteren Ecke sehen Eine Meldung wie "Android-Framework wird im Projekt Configure erkannt" bedeutet, dass Sie eine Framework-Konfiguration haben sollten. Wenn ja, folgen Sie einfach dem Nachrichtenlink.
Auf die gleiche Weise können Sie zu "Datei> Projektstruktur> Module" gehen und dann eine Android Facette hinzufügen.

enter image description here

übrigens, wenn ich wie Sie einen benutzerdefinierten Namespace verwenden möchte, schreibe ich die Ressourcen-ID als meinen Paketnamen, während ich das AndroidManifest.xml-Paketattribut des Manifest-Elements definiere. Unten ist mein Code.

<manifest package="com.my.name.Android">
    ...
</manifest>

<RelativeLayout
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/apk/res/com.my.name.Android">
</RelativeLayout>

Hoffe das hilft dir.

39
VinceStyling

Dieses Problem erschien plötzlich ohne Grund für mich. Ich habe gerade alle Tabs in Android Studio geschlossen und die XML-Datei wieder geöffnet, die Probleme hatte. Problem gelöst! :)

16
Regis_AG

Es ist ein Plugins Probleme.

  1. Starten Sie Ihr Android-Studio neu.
  2. Es wird ein Popup-Fenster für die Aktivierung von Plugins angezeigt
  3. klicken Sie auf Enable Plugins und dann auf Okay.

dann wird Ihr Studio automatisch neu gestartet und funktioniert einwandfrei.

hoffe es wird klappen.

6
Dalvinder Singh

Mein Problem war, dass meine Ordner folgendermaßen strukturiert waren:

MyProject/ res/ layout/ main.xml layout-land/ main.xml

(Mein Slayout-land-Ordner befand sich in meinem layout-Ordner.)

Ich habe die Struktur dahingehend geändert und es hat für mich funktioniert:

MyProject/ res/ layout/ main.xml layout-land/ main.xml

Ich hoffe, das hilft!

4
androidtitan

Ich kenne den Grund für diesen Fehler nicht, aber ich habe dies irgendwo herausgefunden und mein Problem gelöst.

  • Gehen Sie zu "Datei> Projektstruktur> Module".
  • Klicken Sie auf "Hinzufügen (+) ".
  • Klicken Sie auf "Android" und "Übernehmen" und dann auf "OK".
4
Mayank Raj

es stellte sich heraus, dass ich die DEBUG-Version der XML-Datei bearbeitet habe. Um das Problem zu beheben, schließen Sie einfach die Registerkarte mit dem Fehler und öffnen Sie sie erneut

4
Dinesh Kumar

ich hatte den gleichen Fehler. Ich löste es, indem ich das Projekt erneut in das Android-Studio importierte.

In Android Studio 3.1.2 tritt dieser Fehler aufgrund einer falschen Validierung des Cache-Speichers auf.

Gehen Sie zum Projektordner und löschen den gesamten Inhalt im .idea-Ordner  

Dadurch wird der Cache-Speicher gelöscht. Durch das erneute Laden des Projekts wird ein neuer Cache-Speicherordner erstellt.

2
Kulasekar

Für mich wird das Plugin Android Support irgendwie deaktiviert. Das Aktivieren von Plugins funktionierte wieder für mich. 

Settings > Plugins > Android Support
2
Dipali s.

Manchmal hängt dieser Fehler mit anderen Fehlern in Ihrem Manifest zusammen. Prüfen Sie, ob einige Abhängigkeiten fehlen und ob alle Tags geschlossen sind. In meinem Fall hatte ich einen Ordner im Ordner/res gelöscht, ich habe ihn wiederhergestellt und der Fehler ist verschwunden.

1
  • Gehen Sie zu "Voreinstellungen> Sprachen und Frameworks> Schemas und DTDS".
  • Klicken Sie auf "Hinzufügen (+)".
  • Klicken Sie auf "Übernehmen" und dann auf "OK".

hoffe es wird klappen.

1
Scarlett

Mir fehlte compile 'com.Android.support:cardview-v7:25.0.1' im build.gradle (Modul-App)

1
Maxcot

Ich habe wieder angefangen, dies wieder zu bekommen. Was jetzt wirklich funktioniert, ist, etwas Müll in build.gradle hinzuzufügen. Versuchen Sie es dann und führen Sie eine Synchronisierung durch . Wenn dies fehlschlägt, entfernen Sie den Müll und re-sync . Nach der Indizierung funktioniert es.

1
Manoj Gopal

Für mich fehlten die schädlichen XML-Dateien in der Kopfzeile ...

<?xml version="1.0" encoding="utf-8"?>

Durch das Hinzufügen wurde das Problem behoben.

1
Clark Battle

Wählen Sie in Build-Varianten die entsprechende Variante aus.

Wenn Sie eine bestimmte Datei unter Flavour1 anzeigen, wählen Sie diese Variante im BuildVariants-Fenster aus.

Wenn es sich bei Ihrem IDE um Android Studio (3.2.1 zum Zeitpunkt des Schreibens) handelt, sollten Sie das Fenster Build Variants unten links und vertikal ausgerichtet anzeigen.

1
sayaMahi

Ich habe vor kurzem versucht, eine bestehende App auf Materialdesign umzustellen. Um dies zu beheben, musste ich lediglich die Compile SDK-Version des Projekts ändern. Datei | Projekt Einstellungen. Wählen Sie die App aus und wählen Sie eine Compile SDK-Version für Lollipop oder höher aus.

0
Terry Ray

Das neue Buildsystem in Android Studio erstellt einen build-Ordner. Die Code-Inspektionsleiste in diesem Ordner sowie der Ordner gradle. Diese Ordner sollten beim Ausführen der Codeüberprüfung vernünftigerweise ignoriert werden.

Ich habe ein Problem mit dem Android Studio-Team angesprochen: 

https://code.google.com/p/Android/issues/detail?id=56415

0
Saad Farooq

Jeder, der diesen Fehler direkt nach dem Projektimport erhält, kann einen erfolglosen ersten Import/Sync-Abgleich durchführen. Normalerweise tritt es bei schwerwiegenden Fehlern auf (blinkendes Ausrufezeichen in der rechten unteren Ecke). Für mich war dies die sehr seltsame Ursache (Projektordner wurde symbolisch verlinkt): https://stackoverflow.com/a/52952148/44166

0
PAStheLoD

Meistens wird es von Rebuild Project gelöst

0
Shubham Soni

Jede hier erwähnte Lösung hat mir geholfen. Ich poste mein Problem nur für den Fall, dass es für jeden hilfreich ist. In meinem Fall ist der Fehler bei der Verwendung von Datenbindung aufgetreten. Es scheint, dass mithilfe von Datenbindungs-XML-Intermediates erstellt werden. Wenn beim Versuch, den Fehler zu öffnen, ein Fehler auftritt, wird die zwischengeschaltete XML mit diesem " URI nicht registriert " angezeigt, anstatt die richtige XML mit dem Fehler zu öffnen.

0
TomCobo

Beim Öffnen von Android React Native Project in Android Studio ist das gleiche Problem aufgetreten.

Die Hauptursache ist, dass ich den Stammordner von React Native Project anstelle von Android-Ordner des React Native Project geöffnet habe.

Öffnen Sie das Projekt im Android-Ordner von React Native Project. Mein Problem wurde behoben.

0
V-SHY

Ein weiterer Vorschlag, der die Lösung für mich war: Ich bekam den Fehler in der Zeile

<resources xmlns:ns1="http://schemas.Android.com/tools" xmlns:ns2="urn:oasis:names:tc:xliff:document:1.2">

in der Datei values.xml, die während des Erstellungsprozesses automatisch generiert wurde.

Sie wurde durch Hinzufügen des Präfixes Android in der Datei styles.xml gelöst.

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="textColorPrimary">@color/textColorPrimary</item>
        <item name="colorBackground">@color/colorPrimaryDark</item>
    </style>

musste geändert werden

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="Android:textColorPrimary">@color/textColorPrimary</item>
        <item name="Android:colorBackground">@color/colorPrimaryDark</item>
    </style>
0
DanD

Für mich klone ich ein Projekt aus Gitlab, es gibt ein Inhaltsverzeichnis:

TradeClient/TradeClient/App/...

dann stoße ich auf dieses Problem, ich löse das Problem durch die Methode unten

  • entferne den mittleren Pfad "TradeClient" als TradeClient/App/...
  • dann Datei -> Caches ungültig machen/neu starten ...
0
zhangliang

Was für das Problem behoben wurde, das ich bisher noch nicht gesehen habe: Wenn Sie mehrere "Flavors" haben, stellen Sie sicher, dass die aktuell ausgewählte "Build-Variante" mit der Flavour der Layout-Datei übereinstimmt, die Sie anzeigen möchten.

0
Si.

Für mich stelle ich eine xml-Datei manuell in den Werteordner. Dann zeigt sich das Problem. Ich bemerkte auch, dass der Name der XML-Datei und der Array-Name in ihm identisch sind. Also benenne ich den XML-Dateinamen um und stelle Android Studio ein. 

Das Problem ist vorbei! 

0
Noor Hossain

Ich hatte dieses Problem und für mich lag es daran, Ressourcendateien außerhalb von Android Studio zu erstellen und zu bearbeiten. Ich habe die Anweisungen zum Erstellen neuer Ressourcendateien und Ordner über Android Studio befolgt und das Problem gelöst. Sie müssen ein neues Ressourcendateiverzeichnis erstellen. Sie können damit ein Verzeichnis angeben oder erstellen, wenn Sie es benötigen. Wenn Sie Verzeichnisse für Layouts für verschiedene Versionen erstellen, geben Sie oben die Informationen einschließlich des Namens der Ressourcendatei ein, die Sie in den neuen Ordner kopieren möchten, wählen Sie Version aus und geben Sie die Android-Version ein. Es erstellt das entsprechende Verzeichnis mit einer Kopie Ihrer Ressource. 

0
user2697952

Ich hatte dieses Problem jetzt - ich habe einen neuen Ordner unter dem Layout-Ordner erstellt, der alle XML-Dateien in Bezug auf meine "Startseite" meiner App und dann einen weiteren Ordner enthalten würde, der sich auf meine "Einstellungen" -Seite bezieht, da ich meine Organisation organisieren wollte xml.

Android erkennt jedoch nur den Layoutordner für XML-Dateien, nicht den Ordner Layout/Home oder Layout/Einstellungen. Daher wurde der Fehler angezeigt.

Dank der Antwort von Mazen Kasser half er mir dabei, dies herauszufinden.

0
Simon