Mengapa Android Studio melaporkan "URI tidak terdaftar"? [Tutup]

160

Jadi saya mencoba Android Studio, karena saya benar-benar menyukai Resharper dan memperhatikan bahwa IDE memiliki beberapa fungsi mereka. Setelah sekarang membuat proyek baru default, saya menambahkan file tata letak baru dan ingin mengubah tata letak contoh 'hello world' default yang ada, dan saya mendapatkan kesalahan "URI tidak terdaftar" pada baris berikut:

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

Saya belum melakukan hal lain pada proyek default yang dihasilkan. Saya telah menemukan pertanyaan lain yang tampaknya terkait ( Intellij proyek Android URI skema tidak terdaftar? ), Tetapi mengabaikan sesuatu terasa aneh bagi saya. Saya benar-benar mencobanya, tetapi itu menyebabkan RelativeLayout(dan mungkin semua hal terkait Android lainnya) tidak dikenali lagi (pesan kesalahan: "Tidak dapat menemukan deklarasi elemen 'RelativeLayout'").

Ada ide tentang cara mengatasi masalah ini?

Xilconic
sumber
9
Menutup dan membuka kembali Android Studio memecahkan masalah ini untuk saya :)
Umair
1
Validasi dan mulai ulang cache kemudian berfungsi
thewhitetulip

Jawaban:

149

Anda mengalami masalah ini karena Anda berada di tujuan yang salah! Direktori yang benar untuk file resource Layout harus berada di bawah "res-layout" bukan "res-all-layout"

Mazen Kasser
sumber
2
Ah ya, Anda benar sekali. Kesalahan yang saya buat adalah saya membuka file dari <project root> \ <project name> \ build \ res \ all \ debug \ layout (saya pikir ini terbuka secara default, dan sudah terbiasa bekerja dari atas ke bawah saya kira yang menjelaskan kebingungan). Sebagai gantinya, seseorang memang harus melihat tata letak <project root> \ <project name> \ src \ main \ res \.
Xilconic
Saya memiliki masalah yang sama untuk file manifes apa yang harus dilakukan
Prasad
Terima kasih!! Ini bekerja sangat baik untuk saya ..
Vinoth Vino
1
Saya menemukan masalah yang sama tetapi jalan saya benar. Akhirnya diperbaiki dengan tidak valid / restart. Hanya membatalkan cache tidak berhasil. AUGH! :)
steven smith
1
bagi saya invalidate / restart bekerja. terima kasih @stevensmith
Abdul Samad
51

Bagi saya ini karena saya menggunakan versi debug dan rilis build. Saya menambahkan file baru folder src / debug / res / layout / some_layout.xml secara manual, dan tidak mengenali URI. Saya mengganti varian build untuk melepaskan, dan kemudian kembali ke debug. Ini menyebabkan Android Studio memuat ulang sesuatu, dan kesalahan hilang.

EDIT: Juga periksa apakah Anda memiliki nama file yang benar. Saya mengalami masalah ini lagi dengan menambahkan debug AndroidManifest.xml, tetapi secara keliru menamainya AndroidManifest.xml.xml.

eliasbagley
sumber
2
Ini berhasil untuk saya. Bagi mereka yang mencari cara mengganti varian build, itu ada di panel paling kiri AS, ditulis miring. Klik itu, lalu di bawahnya "debug" sebenarnya adalah dropdown.
lemuel
1
Bagi saya, hal yang sama juga berlaku. Jika Anda melihat tata letak rasa yang berbeda dari aplikasi yang disesuaikan, lalu apa yang dimuat oleh studio Android, Anda akan mendapatkan kesalahan.
Neeraj Shukla
Ini bekerja seperti pesona !! terima kasih
Virag Brahme
Kamu menyelamatkan hariku !!
Adi
39

Saya menggunakan Intellij IDEA tapi saya pikir itu juga akan bekerja di Android Studio, dapatkah Anda melihat "Event Log" di sudut kanan bawah IDE, apakah ada pesan seperti itu " Kerangka Android terdeteksi dalam proyek Configure ", itu berarti Anda harus memiliki konfigurasi kerangka kerja. Jika demikian, cukup ikuti tautan pesan.
Dengan cara yang sama, Anda dapat pergi ke " File> Struktur Proyek> Modul ", dan kemudian menambahkan Android Facet.

masukkan deskripsi gambar di sini

omong-omong, jika saya ingin menggunakan namespace yang dikustomisasi seperti Anda, saya akan menulis pengenal sumber daya sebagai nama paket saya ketika saya mendefinisikan atribut paket AndroidManifest.xml dari elemen manifes, di bawah ini adalah kode saya.

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

Semoga ini bisa membantu Anda.

VinceStyling
sumber
2
@Michael Alan Huff, terima kasih banyak karena Anda mengajari saya.
VinceStyling
tidak masalah :) selamat menumpuk.
Michael Alan Huff
17

Masalah ini muncul tiba-tiba untuk saya, tanpa alasan. Saya baru saja menutup semua tab di Android Studio dan membuka kembali file xml yang bermasalah. Masalah terpecahkan! :)

Regis_AG
sumber
3
menyelamatkan hidupku ... :)
bangkokguy
itu hanya membantu sampai waktu berikutnya saya tring untuk menjalankan aplikasi
AvielNiego
Validasi dan mulai ulang cache kemudian berfungsi
thewhitetulip
8

Di Android Studio 3.1.2 kesalahan ini terjadi karena validasi yang salah dari memori cache.,

Buka folder Project dan hapus semua konten di folder .idea

Ini akan menghapus memori cache dan memuat ulang proyek akan membuat folder memori cache baru dan membuatnya baik untuk digunakan.,

Kulasekar
sumber
6

Ini masalah plugin.

  1. Mulai ulang studio Android Anda.
  2. Ini akan menampilkan jendela pop untuk mengaktifkan plugin
  3. klik aktifkan plugin dan kemudian klik Oke.

maka secara otomatis akan me-restart studio Anda dan bekerja dengan baik.

berharap itu akan berhasil.

Dalvinder Singh
sumber
5

Masalah saya adalah folder saya disusun sebagai:

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

( Slayout-landFolder saya ada di layoutfolder saya )

Saya mengubah struktur ini dan ini berhasil untuk saya:

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

Saya harap ini membantu!

androidtitan
sumber
5

Tidak tahu alasan di balik kesalahan ini tetapi saya menemukan ini di suatu tempat dan itu memecahkan masalah saya.

  • Pergi ke "File> Struktur Proyek> Modul"
  • Klik "tambah (+) "
  • Klik "android" dan "terapkan" lalu "ok"
Mayank Raj
sumber
4

ternyata saya sedang mengedit versi xml DEBUG, untuk memperbaikinya, cukup tutup tab yang memiliki kesalahan dan buka kembali

Dinesh Kumar
sumber
3

saya memiliki kesalahan yang sama. Saya menyelesaikannya dengan mengimpor proyek lagi ke studio android.

Nicolás Schmidt Gubbins
sumber
2

Bagi saya Plugin Android Supportmendapatkan Dinonaktifkan entah bagaimana. Mengaktifkan Plugin lagi berfungsi untuk saya.

Settings > Plugins > Android Support
Dipali s.
sumber
2

Pilih rasa yang sesuai dalam Build Variants.

Jika Anda melihat file tertentu di bawah Flavour1, pilih rasa itu di jendela BuildVariants.

Jika IDE Anda adalah Android Studio (3.2.1 pada tulisan ini), Anda harus menemukan jendela Build Variants di kiri bawah, sejajar secara vertikal.

Mahi
sumber
1

Terkadang kesalahan ini berkorelasi dengan kesalahan lain dalam manifes Anda. Periksa apakah ada beberapa dependensi yang hilang dan apakah semua tag ditutup. Dalam kasus saya, saya telah menghapus folder di folder / res, saya mengembalikannya dan kesalahan itu hilang.

Cristian Traìna
sumber
1

Bagi saya, file xml yang menyinggung tidak ada baris header ...

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

Menambahkan itu memperbaikinya.

Clark Battle
sumber
1

Mulai mendapatkan ini lagi, Apa yang sebenarnya berfungsi sekarang adalah menambahkan beberapa sampah di dalam build.gradle. Kemudian coba sinkronisasi. Ketika gagal menghapus sampah dan sinkronisasi ulang. Setelah pengindeksan, itu berfungsi.

Manoj Gopal
sumber
1
  • Pergi ke "Preferensi> Bahasa & Kerangka Kerja> Skema dan DTDS"
  • Klik "tambah (+)"
  • Klik "terapkan" dan kemudian "ok"

berharap itu akan berhasil.

Scarlett
sumber
cukup tambahkan url Anda.
Scarlett
1

Bagi saya, saya mengkloning proyek dari gitlab, ada daftar isi:

TradeClient / TradeClient / aplikasi / ...

maka saya menghadapi masalah ini, saya memecahkan masalah dengan metode di bawah ini:

  • hapus jalur tengah "TradeClient", sebagai TradeClient / app / ...
  • lalu File -> Batalkan Cache / Restart ...
zangliang
sumber
0

Sistem build baru di Android Studio membuat buildfolder. Barfs inspeksi kode pada folder ini sertagradle folder. Folder-folder ini seharusnya diabaikan ketika menjalankan inspeksi kode.

Saya telah mengangkat masalah dengan tim Android Studio di:

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

Saad Farooq
sumber
0

Saya mempunyai masalah ini sekarang - saya membuat folder baru di bawah folder layout yang akan berisi semua xml yang berhubungan dengan halaman "home" aplikasi saya dan kemudian folder lain yang berhubungan dengan halaman "pengaturan" saya karena saya ingin mengatur xml.

Namun, android hanya mengenali folder tata letak untuk xmls, bukan folder tata letak / home atau tata letak / pengaturan sehingga itulah yang membuat saya kesalahan.

Berkat jawaban Mazen Kasser, dia membantu saya dalam mencari tahu hal ini.

Simon
sumber
0

Mengalami hal ini baru-baru ini mencoba untuk memigrasi aplikasi yang ada ke desain material. Yang harus saya lakukan untuk memperbaikinya adalah mengubah Versi Kompilasi SDK proyek. File | Pengaturan Proyek. Pilih aplikasi dan pilih versi Kompilasi SDK untuk Lollipop atau lebih tinggi.

Terry Ray
sumber
0

Solusi apa pun yang disebutkan di sini membantu saya. Saya akan memposting masalah saya kalau-kalau bermanfaat bagi siapa pun. Dalam kasus saya kesalahan terjadi menggunakan pengikatan data . Tampaknya menggunakan perantara pengikat xmls dibuat. Jika ada kesalahan yang mencoba membuka kesalahan akan menunjukkan xml menengah dengan " URI tidak terdaftar " ini alih-alih membuka xml kanan dengan kesalahan.

TomCobo
sumber
0

Saya punya masalah ini dan bagi saya itu karena membuat dan memanipulasi file sumber daya di luar Android Studio. Saya mengikuti petunjuk tentang cara membuat file dan folder sumber daya baru melalui Android Studio dan menyelesaikan masalah. Anda perlu membuat direktori Resource File Not baru. Ini akan memungkinkan Anda menentukan atau membuat direktori untuk Anda jika Anda membutuhkannya. Jika Anda membuat direktori untuk tata letak untuk berbagai versi, masukkan info di bagian atas termasuk nama file sumber daya yang ingin Anda salin ke folder baru dan pilih Versi dan masukkan versi Android. Ini akan membuat direktori yang sesuai dengan salinan sumber daya Anda di dalamnya.

pengguna2697952
sumber
0

Saran lain, yang merupakan solusi bagi saya: Saya mendapat kesalahan di telepon

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

dalam file values.xml yang secara otomatis dihasilkan selama proses membangun.

Itu dipecahkan dengan menambahkan androidawalan di file 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>

harus diubah menjadi

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

Apa yang diperbaiki untuk saya yang belum saya lihat sebutkan sejauh ini - jika Anda memiliki beberapa 'rasa', pastikan 'varian pembuatan' yang dipilih saat ini cocok dengan rasa untuk file tata letak yang Anda coba lihat.

Si.
sumber
0

Siapa pun yang mendapatkan kesalahan ini tepat setelah impor proyek mungkin mencapai impor / sinkronisasi awal gradon yang tidak berhasil. Biasanya itu terjadi dengan kesalahan serius (tanda seru berkedip di sudut kanan bawah). Bagi saya ini adalah penyebab yang sangat aneh (folder proyek dikaitkan): https://stackoverflow.com/a/52952148/44166

PAStheLoD
sumber
0

Saya mengalami masalah yang sama dalam membuka Android React Native Project di Android Studio.

Akar penyebabnya adalah saya membuka folder root dari React Native Project, bukan folder android dari React Native Project.

Buka kembali proyek di bawah folder android React Native Project memecahkan masalah saya.

V-SHY
sumber
-3

Coba Instal plugin pelacak android. Anda akan menemukannya di studio.

Mulai ulang studio

Rajat Bhandari
sumber