Warum meldet Android Studio "URI ist nicht registriert"? [geschlossen]

160

Deshalb habe ich Android Studio ausprobiert, weil ich Resharper wirklich mag und festgestellt habe, dass in die IDE einige ihrer Funktionen integriert sind. Nachdem ich jetzt ein neues Standardprojekt erstellt habe, habe ich eine neue Layoutdatei hinzugefügt und wollte das vorhandene Standard-Beispiellayout "Hallo Welt" ändern. In den folgenden Zeilen wurde der Fehler "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 anderes mit 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 nur etwas zu ignorieren, fühlt sich für mich seltsam an. Ich habe es tatsächlich versucht, aber das führt dazu, dass RelativeLayout(und wahrscheinlich 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öst?

Xilconic
quelle
9
Das Schließen und erneute Öffnen von Android Studio hat dieses Problem für mich gelöst :)
Umair
1
Den Cache
ungültig machen

Antworten:

149

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

Mazen Kasser
quelle
2
Ah ja, du hast absolut recht. Der Fehler, den ich gemacht habe, war, dass ich die Datei von <Projektstamm> \ <Projektname> \ build \ res \ all \ debug \ layout geöffnet habe (sie ist meiner Meinung nach standardmäßig geöffnet und ich glaube, ich bin es gewohnt, von oben nach unten zu arbeiten das erklärt die Verwirrung). Stattdessen sollte man sich in der Tat <Projektstamm> \ <Projektname> \ src \ main \ res \ layout ansehen.
Xilconic
Ich hatte das gleiche Problem für Manifest-Datei, was zu tun ist
Prasad
Danke dir!! Es funktioniert gut für mich ..
Vinoth Vino
1
Ich traf das gleiche Problem, aber meine Wege waren korrekt. Es wurde schließlich durch Ungültigmachen / Neustart behoben. Nur den Cache ungültig zu machen, hat nicht funktioniert. AUGH! :)
Steven Smith
1
bei mir hat ungültig gemacht / neu gestartet funktioniert. danke @stevensmith
Abdul Samad
51

Für mich lag dies 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 die URI wurde nicht erkannt. Ich habe die Build-Variante auf Release und dann wieder auf Debug umgestellt. Dies führte dazu, dass Android Studio etwas neu lud und der Fehler behoben wurde.

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

Eliasbagley
quelle
2
Das hat bei mir funktioniert. Für diejenigen, die suchen, wie die Build-Variante gewechselt werden kann, befindet sie sich am linken Rand von AS und ist seitlich geschrieben. Klicken Sie darauf, dann ist "Debug" darunter ein Dropdown.
Lemuel
1
Für mich war das auch so. Wenn Sie sich ein anderes Geschmackslayout der angepassten App ansehen und dann von Android Studio geladen werden, wird eine Fehlermeldung angezeigt.
Neeraj Shukla
Das funktioniert wie ein Zauber !! danke
Virag Brahme
Du hast meinen Tag gerettet !!
Adi
39

Ich verwende Intellij IDEA, aber ich denke, es wird auch in Android Studio funktionieren. Können Sie das "Ereignisprotokoll" in der IDE in der rechten unteren Ecke sehen? Hatte es eine Meldung wie " Android Framework wird im Projekt Konfigurieren erkannt ", das heißt Sie sollte eine Framework-Konfiguration haben. 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.

Geben Sie hier die Bildbeschreibung ein

Übrigens, wenn ich wie Sie einen benutzerdefinierten Namespace verwenden möchte, schreibe ich die Ressourcen-ID als meinen Paketnamen, während ich das Paketattribut AndroidManifest.xml 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.

VinceStyling
quelle
2
@ Michael Alan Huff, vielen Dank, dass du mich unterrichtet hast.
VinceStyling
kein Problem :) viel Spaß beim Stapeln.
Michael Alan Huff
17

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

Regis_AG
quelle
3
rettete mein Leben ... :)
Bangkokguy
Das hilft nur bis zum nächsten Mal, wenn ich versuche, die App
auszuführen
Den Cache
ungültig machen
8

In Android Studio 3.1.2 tritt dieser Fehler aufgrund einer falschen Überprüfung des Cache-Speichers auf.

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

Dadurch wird der Cache-Speicher gelöscht, und durch erneutes Laden des Projekts wird ein neuer Cache-Speicherordner erstellt.

Kulasekar
quelle
6

Es ist ein Plugins Probleme.

  1. Starten Sie Ihr Android-Studio neu.
  2. Es wird ein Popup-Fenster zum Aktivieren von Plugins angezeigt
  3. Klicken Sie auf Plugins aktivieren und dann auf OK.

dann wird Ihr Studio automatisch neu gestartet und funktioniert einwandfrei.

hoffe es wird funktionieren

Dalvinder Singh
quelle
5

Mein Problem war, dass meine Ordner wie folgt strukturiert waren:

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

(Mein Slayout-landOrdner war in meinem layoutOrdner)

Ich habe die Struktur dahingehend geändert und es hat bei mir funktioniert:

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

Ich hoffe das hilft!

androidtitan
quelle
5

Ich kenne den Grund für diesen Fehler nicht, aber ich habe das irgendwo herausgefunden und es hat 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".
Mayank Raj
quelle
4

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

Dinesh Kumar
quelle
3

Ich hatte den gleichen Fehler. Ich habe es gelöst, indem ich das Projekt erneut in das Android Studio importiert habe.

Nicolás Schmidt Gubbins
quelle
2

Für mich wird das Plugin Android Supportirgendwie deaktiviert. Das Aktivieren von Plugins hat bei mir wieder funktioniert.

Settings > Plugins > Android Support
Dipali s.
quelle
2

Wählen Sie unter Build Variants die entsprechende Variante aus.

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

Wenn Ihre IDE Android Studio ist (3.2.1 zum jetzigen Zeitpunkt), sollten Sie das Fenster Build Variants unten links finden, das vertikal ausgerichtet ist.

Mahi
quelle
1

Manchmal korreliert dieser Fehler mit anderen Fehlern in Ihrem Manifest. Überprüfen Sie, ob Abhängigkeiten fehlen und ob alle Tags geschlossen sind. In meinem Fall hatte ich einen Ordner im Ordner / res gelöscht, ihn wiederhergestellt und dieser Fehler verschwand.

Cristian Traìna
quelle
1

Für mich fehlte den beleidigenden XML-Dateien die Kopfzeile ...

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

Das Hinzufügen hat das Problem behoben.

Clark Battle
quelle
1

Was jetzt tatsächlich funktioniert, ist, etwas Müll in build.gradle hinzuzufügen. Versuchen Sie dann zu synchronisieren. Wenn dies fehlschlägt, entfernen Sie den Müll und synchronisieren Sie ihn erneut. Nach der Indizierung funktioniert es.

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

hoffe es wird funktionieren

Scarlett
quelle
Fügen Sie einfach Ihre URL hinzu.
Scarlett
1

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 mit der folgenden Methode:

  • Entfernen Sie den mittleren Pfad "TradeClient" als TradeClient / app / ...
  • dann Datei -> Caches ungültig machen / neu starten ...
zhangliang
quelle
0

Das neue Build-System in Android Studio erstellt einen buildOrdner. Die Code-Inspektionsleisten in diesem Ordner sowie im gradleOrdner. Diese Ordner sollten beim Ausführen der Codeüberprüfung wahrscheinlich ignoriert werden.

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

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

Saad Farooq
quelle
0

Ich hatte jetzt dieses Problem - ich habe einen neuen Ordner unter dem Layout-Ordner erstellt, der alle XML-Dateien enthält, die sich auf meine "Homepage" meiner App beziehen, und dann einen weiteren Ordner, der sich auf meine "Einstellungen" -Seite bezieht, als ich meine organisieren wollte xml.

Android erkennt jedoch nur den Layoutordner für xmls, nicht den Ordner layout / home oder layout / settings, weshalb mir der Fehler angezeigt wurde.

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

Simon
quelle
0

Ich bin kürzlich auf diesen Versuch gestoßen, eine vorhandene App auf Materialdesign zu migrieren. Alles, was ich tun musste, um das Problem zu beheben, war die Compile SDK-Version des Projekts zu ändern. Datei | Projekt Einstellungen. Wählen Sie die App und wählen Sie eine Compile SDK-Version für Lollipop oder höher.

Terry Ray
quelle
0

Jede hier erwähnte Lösung hat mir geholfen. Ich werde mein Problem nur für den Fall posten, dass es für jemanden hilfreich ist. In meinem Fall trat der Fehler bei der Datenbindung auf . Es scheint, dass mithilfe der Datenbindung xmls-Zwischenprodukte erstellt werden. Wenn beim Versuch, den Fehler zu öffnen, ein Fehler auftritt, wird die Zwischen-XML mit diesem " URI nicht registriert " angezeigt, anstatt die richtige XML mit dem Fehler zu öffnen.

TomCobo
quelle
0

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

user2697952
quelle
0

Ein weiterer Vorschlag, der die Lösung für mich war: Ich habe 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.

androidDies wurde durch Hinzufügen des Präfixes in der Datei styles.xml behoben.

<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 auf

<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>
DanD
quelle
0

Was hat es für mich behoben, das ich bisher noch nicht erwähnt habe? Wenn Sie mehrere "Geschmacksrichtungen" haben, stellen Sie sicher, dass die aktuell ausgewählte "Build-Variante" mit der Geschmacksrichtung für die Layoutdatei übereinstimmt, die Sie anzeigen möchten.

Si.
quelle
0

Jeder, der diesen Fehler direkt nach dem Projektimport erhält, hat möglicherweise einen erfolglosen anfänglichen Gradle-Import / Synchronisierung. Normalerweise treten schwerwiegende Fehler auf (blinkendes Ausrufezeichen in der unteren rechten Ecke). Für mich war dies die sehr seltsame Ursache (der Projektordner war mit einem Symlink verknüpft): https://stackoverflow.com/a/52952148/44166

PAStheLoD
quelle
0

Ich habe das gleiche Problem beim Öffnen von Android React Native Project in Android Studio festgestellt.

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

Öffnen Sie das Projekt unter Android-Ordner von React Native Project erneut, um mein Problem zu lösen.

V-SHY
quelle
-3

Versuchen Sie, das Android Tracker Plugin zu installieren. Sie finden es im Studio.

Starten Sie das Studio neu

Rajat Bhandari
quelle