Android Studioが「URIが登録されていない」と報告するのはなぜですか?[閉まっている]


160

私はAndroid Studioを試してみました。Resharperが本当に好きで、IDEにいくつかの機能が組み込まれていることに気付いたからです。これでデフォルトの新しいプロジェクトが作成されたので、新しいレイアウトファイルを追加し、既存のデフォルトの「hello world」サンプルレイアウトを変更したいと思ったところ、次の行で「URIが登録されていません」エラーが発生しました。

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

デフォルトで生成されたプロジェクトにはまだ何もしていません。関連しているように見える別の質問(Intellij AndroidプロジェクトスキーマURIが登録されていない?)に遭遇しましたが、何かを無視するだけで奇妙に感じられます。私は実際に試してみましたが、そのためRelativeLayout(おそらく他のすべてのAndroid関連のものも)認識されなくなりました(エラーメッセージ:「要素の宣言 'RelativeLayout'が見つかりません」)。

この問題を解決する方法に関するアイデアはありますか?


9
Android Studioを
閉じて再び開くと

1
キャッシュを無効化して再起動すると機能します
thewhitetulip

回答:


149

間違った目的地にいるため、この問題が発生しています!レイアウトリソースファイルの正しいディレクトリは、「res-all-layout」ではなく「res-layout」の下にある必要があります。


2
ああ、そうですね。私が犯した間違いは、<プロジェクトルート> \ <プロジェクト名> \ build \ res \ all \ debug \ layoutからファイルを開いたということです(デフォルトで開いていると思います。上から下への作業に慣れていると思います)それは混乱を説明します)。代わりに、実際に<プロジェクトルート> \ <プロジェクト名> \ src \ main \ res \ layoutを確認する必要があります。
Xilconic 2013年

私は何をすべきか、マニフェストファイルで同じ問題が持っていた
プラサド

ありがとうございました!!それは...私のために素晴らしい作品
Vinothヴィーノ

1
私は同じ問題にぶつかったが、私の道は正しかった。それは最終的に無効化/再起動によって修正されました。キャッシュを無効にするだけでは機能しませんでした。ああ!:)
スティーブン・スミス

1
私にとっては無効化/再起動が機能しました。@stevensmithに感謝
Abdul Samad

51

私にとっては、デバッグとリリースのビルドバリアントを使用していたためです。新しいフォルダーsrc / debug / res / layout / some_layout.xmlファイルを手動で追加したところ、URIが認識されませんでした。ビルドバリアントをリリースに切り替えてから、デバッグに戻りました。これにより、Android Studioは何かをリロードし、エラーはなくなりました。

編集:また、ファイル名が正しいことを確認してください。デバッグAndroidManifest.xmlを追加することでこの問題が再度発生しましたが、誤ってAndroidManifest.xml.xmlという名前を付けました。


2
これでうまくいきました。ビルドバリアントを切り替える方法をお探しの方は、横向きに書かれたASの左端のパネルにあります。それをクリックすると、その下の「デバッグ」は実際にはドロップダウンになります。
lemuel、2014

1
私にとっても同じことが言えました。アプリのカスタマイズされた異なるフレーバーレイアウトを表示している場合、Androidスタジオによってロードされたものはエラーになります。
Neeraj Shukla

これは魅力のように動作します!! ありがとう
Virag Brahme

あなたは私の日を救った!
Adi、

39

Intellij IDEAを使用していますが、Android Studioでも機能すると思います。IDEの右下隅に「イベントログ」が表示されます。「Androidフレームワークがプロジェクトの構成で検出されました」などのメッセージが表示されましたか。フレームワーク構成が必要です。その場合は、メッセージのリンクをクリックしてください。
同様に、「ファイル>プロジェクト構造>モジュール」に移動して、Androidファセットを追加できます。

ここに画像の説明を入力してください

ちなみに、あなたのようにカスタマイズした名前空間を使用したい場合は、マニフェスト要素のAndroidManifest.xmlパッケージ属性を定義するときに、リソース識別子をパッケージ名として記述します。以下が私のコードです。

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

これがお役に立てば幸いです。


2
@マイケル・アラン・ハフ、教えてくれてありがとう
VinceStyling 2013年

問題ありません:)幸せな積み重ね。
Michael Alan Huff、

17

この問題は、理由もなく突然私に現れました。Android Studioのすべてのタブを閉じて、問題があったxmlファイルを再度開きました。問題が解決しました!:)


3
私の命を救った... :)
bangkokguy

それは、次回アプリを実行するときまで役に立ちます
AvielNiego 2017

キャッシュを無効化して再起動すると機能します
thewhitetulip

8

Android Studio 3.1.2では、このエラーはキャッシュメモリの誤った検証が原因で発生します。

Projectフォルダーに移動し、.ideaフォルダー内のすべてのコンテンツを削除ます

これにより、キャッシュメモリが削除され、プロジェクトをリロードすると、新しいキャッシュメモリフォルダが作成され、正常に動作します。


6

そのプラグインの問題。

  1. Androidスタジオを再起動します。
  2. プラグインを有効にするためのポップアップウィンドウが表示されます
  3. [プラグインを有効にする]をクリックし、[OK]をクリックします。

その後、スタジオが自動的に再起動し、問題なく動作します。

うまくいくことを願っています。


5

私の問題は、私のフォルダーが次のように構成されていることでした。

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

(私のSlayout-landフォルダは私のフォルダにありましたlayout

私は構造をこれに変更し、それは私のために働きました:

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

これがお役に立てば幸いです。


5

このエラーの背後にある理由はわかりませんが、どこかでこれを見つけて、問題を解決しました。

  • 「ファイル」>「プロジェクト構造」>「モジュール」に移動します
  • 「追加(+)」をクリックします」を
  • 「android」、「apply」、「ok」の順にクリックします

4

xmlのDEBUGバージョンを編集していたことがわかりました。修正するには、エラーのあるタブを閉じて再度開きます。



2

私にとってプラグインAndroid Supportはなんとかして無効にされます。プラグインを有効にすると、再びうまくいきました。

Settings > Plugins > Android Support

2

Build Variantsで適切なフレーバーを選択します。

Flavour1で特定のファイルを表示している場合は、BuildVariantsウィンドウでそのフレーバーを選択します。

IDEがAndroid Studio(この記事の執筆時点では3.2.1)の場合、左下に[バリアントのビルド]ウィンドウが縦に並んでいるはずです。


1

このエラーは、マニフェストの他のエラーと相関している場合があります。欠落している依存関係があるかどうか、すべてのタグが閉じているかどうかを確認します。私の場合、/ resフォルダー内のフォルダーを削除していたので、それを復元し、そのエラーは消えました。


1

私にとって、問題のあるxmlファイルにはヘッダー行がありませんでした...

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

追加して修正しました。


1

これを再度取得し始めました。実際に機能するのは、build.gradle内にゴミを追加することです。次に、同期してみます。失敗した場合はゴミを取り除き、再同期します。インデックス作成後、機能します。


1
  • 「設定>言語とフレームワーク>スキーマとDTDS」に移動します
  • 「追加(+)」をクリックします
  • 「適用」をクリックしてから「OK」をクリックします

うまくいくことを願っています。


URLを追加するだけです。
スカーレット

1

私にとって、私はgitlabからプロジェクトを複製します、目次があります:

TradeClient / TradeClient / app / ...

それから私はこの問題に遭遇しました、私は以下の方法で問題を解決します:

  • 中間パス「TradeClient」を削除します。TradeClient/ app / ...
  • 次に、ファイル->キャッシュの無効化/再起動...


0

私は今この問題を抱えていました-私は私のレイアウトのフォルダーの下に新しいフォルダーを作成しましたxml。

ただし、androidはxmlのレイアウトフォルダーのみを認識し、layout / homeまたはlayout / settingsフォルダーは認識しないため、エラーが発生しました。

Mazen Kasserの回答のおかげで、彼はこれを理解するのを助けてくれました。


0

最近、既存のアプリをマテリアルデザインに移行しようとしていることに遭遇しました。それを修正するために私がしなければならなかったすべては、プロジェクトのコンパイルSDKバージョンを変更することでした。ファイル| プロジェクト設定。アプリを選択し、Lollipop以降のコンパイルSDKバージョンを選択します。


0

ここで述べられている解決策は私を助けました。誰かに役立つ場合に備えて、問題を投稿します。私の場合、データバインディングを使用してエラーが発生していました。データバインディングを使用してXML中間体が作成されているようです。エラーを開こうとしたときにエラーが発生した場合、エラーで正しいxmlを開くのではなく、この「URIが登録されていません」を含む中間xmlが表示されます。


0

私はこの問題を抱えていましたが、それはAndroid Studioの外部でリソースファイルを作成および操作したことが原因でした。Android Studioを使用して新しいリソースファイルとフォルダーを作成する手順に従い、問題を解決しました。新しいリソースファイルではないディレクトリを作成する必要があります。必要な場合は、ディレクトリを指定または作成できます。異なるバージョンのレイアウト用のディレクトリを作成する場合は、新しいフォルダーにコピーするリソースファイルの名前を含む情報を上部に入力し、[バージョン]を選択してAndroidバージョンを入力します。リソースのコピーを含む適切なディレクトリが作成されます。


0

私のための解決策であった別の提案:私は行でエラーを得ました

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

ビルドプロセス中に自動的に生成されたvalues.xmlファイル内。

これはandroid、styles.xmlファイルにプレフィックスを追加することで解決しました。

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

に変更する必要がありました

<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

これまで私が言及していない、私が修正したこと-複数の「フレーバー」がある場合は、現在選択されている「ビルドバリアント」が、表示しようとしているレイアウトファイルのフレーバーと一致することを確認してください。


0

プロジェクトのインポート直後にこのエラーが発生する場合は、最初のGradleインポート/同期が失敗している可能性があります。通常、重大なエラーが発生します(右下隅にある感嘆符の点滅)。私にとってこれは非常に奇妙な原因でした(プロジェクトフォルダーがシンボリックリンクされていました):https ://stackoverflow.com/a/52952148/44166


0

Android Studioでandroid React Native Projectを開くときに同じ問題が発生しました。

根本的な原因は、React Native Projectのandroidフォルダーではなく、React Native Projectのルートフォルダーを開いたことです。

React Native Projectのandroidフォルダーでプロジェクトを再度開くと、問題が解決しました。


-3

Androidトラッカープラグインをインストールしてみます。あなたはスタジオでそれを見つけるでしょう。

スタジオを再起動します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.