Android Studio neden “URI kayıtlı değil” bildiriyor? [kapalı]


161

Bu yüzden Android Studio'yu denedim, çünkü Resharper'ı gerçekten seviyorum ve IDE'nin bazı işlevlerinin yerleşik olduğunu fark ettim. Şimdi varsayılan yeni bir proje oluşturduktan sonra yeni bir düzen dosyası ekledim ve mevcut varsayılan 'merhaba dünya' örnek düzenini değiştirmek istedim ve aşağıdaki satırlarda "URI kayıtlı değil" hatası aldım:

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

Varsayılan oluşturulan projeye henüz başka bir şey yapmadım. İlişkili gibi görünen başka bir soruya rastladım ( Intellij Android proje şeması URI kayıtlı değil mi? ), Ancak sadece bir şeyi görmezden gelmek bana garip geliyor. Aslında denedim, ama bu neden olur RelativeLayout(ve muhtemelen diğer Android ile ilgili şeyler) artık tanınmıyor (hata mesajı: "'RelativeLayout' elemanının bildirimi bulunamıyor").

Bu sorunun nasıl çözüleceğine dair bir fikrin var mı?


9
Android Studio'nun kapatılması ve yeniden açılması bu sorunu benim için çözdü :)
Umair

1
Önbelleği geçersiz kılın ve yeniden başlatın, sonra işe yarıyor
thewhitetulip

Yanıtlar:


150

Yanlış bir hedefte olduğunuz için bu sorunu yaşıyorsunuz! Düzen kaynak dosyası için doğru dizinin "res-all-layout" değil, "res-layout" altında olması gerekir


2
Ah evet, kesinlikle haklısın. Yaptığım hata, dosyayı <proje kökü> \ <proje adı> \ build \ res \ all \ debug \ düzeninden açtığımdı (sanırım varsayılan olarak açık ve yukarıdan aşağıya çalışmaya alışkınım) Bu karışıklığı açıklar). Bunun yerine, <proje kökü> \ <proje adı> \ src \ main \ res \ layoutuna bakmak gerekir.
Xilconic

ne yapacağımı manifest dosyası için aynı sorunu vardı
Prasad

Teşekkür ederim!! Benim için harika çalışıyor ..
Vinoth Vino

1
Aynı sorunu vurdum ama yollarım doğruydu. Sonunda geçersiz kıl / yeniden başlat ile düzeltildi. Sadece önbelleği geçersiz kılmak işe yaramadı. Ah! :)
Steven Smith

1
benim için geçersiz / yeniden başlatmak çalıştı. teşekkürler @stevensmith
Abdul Samad

51

Benim için bunun nedeni bir hata ayıklama ve sürüm oluşturma varyantı kullanıyordum. Yeni klasörler src / debug / res / layout / some_layout.xml dosyasını el ile ekledim ve URI'yi tanımadı. Yapı varyantını serbest bırakmak için değiştirdim ve sonra hata ayıklamaya geri döndüm. Bu, Android Studio'nun bir şeyi yeniden yüklemesine neden oldu ve hata gitti.

EDIT: Ayrıca doğru dosya adına sahip olup olmadığını denetleyin. Bu sorunu bir hata ayıklama AndroidManifest.xml ekleyerek tekrar yaşadım, ancak yanlışlıkla AndroidManifest.xml.xml olarak adlandırdım.


2
Bu benim için çalıştı. Yapı varyantının nasıl değiştirileceğini arayanlar için, AS'nin en sol panelinde, yanlara yazılmıştır. Tıklayın, altındaki "hata ayıklama" aslında bir açılır listedir.
lemuel

1
Benim için de aynısı geçerliydi. Uygulamanın özelleştirilmiş farklı lezzet düzenine bakıyorsanız, Android stüdyosu tarafından yüklenen şey bir hata alırsınız.
Neeraj Shukla

Bu bir cazibe gibi çalışır !! teşekkürler
Virag Brahme

Günümü kurtardın !!
Adi

39

Intellij IDEA kullanıyorum ama Android Studio'da da çalışacağını düşünüyorum, IDE'nin sağ alt köşesinde "Olay Günlüğü" nü görebiliyor musunuz, " Yapılandırma projesinde Android çerçevesi algılandı " gibi bir mesaj var mı? çerçeve yapılandırmasına sahip olmalıdır. Öyleyse, mesaj bağlantısını takip etmeniz yeterlidir.
Aynı şekilde, " Dosya> Proje Yapısı> Modüller " e gidip bir Android Facet ekleyebilirsiniz.

resim açıklamasını buraya girin

Bu arada, sizin gibi özelleştirilmiş bir ad alanı kullanmak isterseniz, manifest öğesinin AndroidManifest.xml paket özniteliğini tanımladığım için kaynak tanımlayıcıyı paket adım olarak yazacağım, aşağıda kodum.

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

Umarım bu size yardımcı olur.


2
@Michael Alan Huff, bana öğrettiğin için çok teşekkür ederim.
VinceStyling

sorun yok :) mutlu istifleme.
Michael Alan Huff

17

Bu sorun benim için birden bir sebep olmadan ortaya çıktı. Android Studio'daki tüm sekmeleri kapattım ve sorunları olan xml dosyasını yeniden açtım. Sorun çözüldü! :)


3
hayatımı kurtardı ... :)
bangkokguy

Bu sadece bir dahaki sefere uygulamayı çalıştırmak için tring am kadar yardımcı olur
AvielNiego

Önbelleği geçersiz kılın ve yeniden başlatın, sonra işe yarıyor
thewhitetulip

8

Android Studio 3.1.2'de bu hata, önbellek yanlış doğrulanması nedeniyle oluşur.,

Project klasörüne gidin ve .idea klasöründeki tüm içeriği silin

Bu önbellek siler ve projeyi yeniden yüklemek yeni önbellek klasörü oluşturur ve gitmek için iyi yapar.,


6

Bu bir eklenti sorunları.

  1. Android stüdyosunu yeniden başlatın.
  2. Eklentileri etkinleştirmek için bir pop penceresi gösterecek
  3. eklentileri etkinleştir'i ve ardından Tamam'ı tıklayın.

o zaman otomatik stüdyo yeniden başlatılacak ve işler iyi olacak.

umarım işe yarar.


5

Benim sorunum benim klasörleri yapılandırılmış olmasıydı:

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

(My Slayout-landklasör oldu benimlayout klasöründe)

Yapıyı buna değiştirdim ve benim için çalıştı:

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

Umarım bu yardımcı olur!


5

Bu hatanın arkasındaki nedeni bilmiyorum ama bunu bir yerde öğrendim ve sorunumu çözdü.

  • "Dosya> Proje Yapısı> Modüller" e gidin
  • "Ekle (+) 'yı tıklayın "
  • "Android" ve "uygula" yı ve ardından "tamam" ı tıklayın

4

düzeltmek için, hata içeren sekmeyi kapatıp yeniden açarak xml'nin DEBUG sürümünü düzenlediğim ortaya çıkıyor



2

Benim için Eklenti bir Android Supportşekilde devre dışı bırakıldı. Eklentileri etkinleştirmek benim için tekrar çalıştı.

Settings > Plugins > Android Support

2

Yapı Varyantları'nda uygun lezzeti seçin.

Flavour1 altında belirli bir dosyayı görüntülüyorsanız, BuildVariants penceresinde o lezzeti seçin.

IDE'niz Android Studio ise (bu yazıdan itibaren 3.2.1), sol altta dikey olarak hizalanmış Oluşturma Varyantları penceresini bulmalısınız.


1

Bazen bu hata, bildiriminizdeki diğer hatalarla ilişkilidir. Bazı eksik bağımlılıklar olup olmadığını ve tüm etiketlerin kapalı olup olmadığını kontrol edin. Benim durumumda / res klasöründeki bir klasörü sildim, geri yükledim ve bu hata kayboldu.


1

Benim için rahatsız edici xml dosyalarında başlık satırı eksikti ...

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

Bunu ekleyerek düzeltti.


1

Bunu tekrar almaya başladı, Aslında şu anda işe yarar build.gradle içine biraz çöp eklemek. Ardından senkronize etmeyi deneyin. Başarısız olduğunda çöpleri çıkarın ve tekrar senkronize edin. İndekslemeden sonra çalışır.


1
  • "Tercihler> Diller ve Çerçeveler> Şemalar ve DTDS" ye gidin
  • "Ekle (+)" düğmesini tıklayın
  • "Uygula" yı ve ardından "tamam" ı tıklayın

umarım işe yarar.


sadece url'nizi ekleyin.
Scarlett

1

Benim için gitlab'den bir proje klonladım, içindekiler tablosu var:

TradeClient / TradeClient / app / ...

sonra bu sorunla karşılaşırsanız, aşağıdaki yöntemle sorunu çözerim:

  • TradeClient / app / olarak orta yolu "TradeClient" kaldırmak ...
  • ardından Dosya -> Önbellekleri Geçersiz Kıl / Yeniden Başlat ...


0

Şimdi bu sorunu yaşadım - Düzen klasörünün altında tüm xml uygulamamın "ana" sayfamı ve daha sonra düzenlemek istediğim gibi "ayarlar" sayfamla ilgili başka bir klasör içeren yeni bir klasör oluşturdum xml.

Ancak, android sadece xmls için düzen klasörünü tanır, düzen / ev veya düzen / ayarlar klasörünü değil, bu yüzden bana hata veriyor.

Mazen Kasser cevabı sayesinde bana bunu bulmamda yardım etti.


0

Son zamanlarda mevcut bir uygulamayı malzeme tasarımına geçirmeye çalışırken bu durumla karşılaştık. Bunu düzeltmek için tek yapmam gereken projenin SDK Derleme Sürümü'nü değiştirmekti. Dosya | Proje ayarları. Uygulamayı seçin ve Lollipop veya üstü için bir Derleme SDK sürümü seçin.


0

Burada bahsedilen herhangi bir çözüm bana yardımcı oldu. Sorunumu herkese yardımcı olması durumunda gönderirim. Benim durumumda veri bağlama kullanılarak hata oluyordu . Veri bağlama xmls ara maddeleri kullanılarak oluşturulmuş gibi görünüyor. Hata açılmaya çalışılırken bir hata varsa, hata ile sağ xml'yi açmak yerine bu " URI kaydedilmemiş " ara xml'yi gösterir .


0

Bu sorunu yaşadım ve benim için Android Studio dışında kaynak dosyaları oluşturma ve değiştirme nedeniyle oldu. Android Studio aracılığıyla yeni kaynak dosyaları ve klasörleri oluşturma hakkındaki talimatları izledim ve sorunu çözdüm. Yeni bir Kaynak Dosyası Değil dizini oluşturmanız gerekir. Gerekirse sizin için bir dizin belirlemenize veya oluşturmanıza izin verir. Farklı sürümler için mizanpajlar için dizinler oluşturuyorsanız, yeni klasöre kopyalamak istediğiniz kaynak dosyasının adı da dahil olmak üzere en üstteki bilgileri girin ve Sürüm'ü seçin ve Android sürümünü girin. İçinde kaynağınızın bir kopyasını içeren uygun dizini oluşturur.


0

Benim için çözüm olan başka bir öneri: Hatayı satırda aldım

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

oluşturma işlemi sırasında otomatik olarak oluşturulan değerler.xml dosyasında.

androidStyles.xml dosyasına önek eklenerek çözüldü .

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

olarak değiştirilmeliydi

<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

Şimdiye kadar bahsetmediğim benim için ne düzeltti - birden fazla 'lezzet' varsa, seçili olan 'yapı varyantı'nın görüntülemeye çalıştığınız düzen dosyasının lezzetiyle eşleştiğinden emin olun.


0

Projeyi içe aktardıktan hemen sonra bu hatayı alan herkes, başarısız bir ilk grup içe aktarma / senkronizasyonunu gerçekleştiriyor olabilir. Genellikle ciddi hatalarla karşılaşılır (sağ alt köşede yanıp sönen ünlem işareti). Benim için bu çok garip bir nedendi (proje klasörü işaretlendi): https://stackoverflow.com/a/52952148/44166


0

Android Studio'da android React Native Project'i açarken de aynı sorunla karşılaştım.

Temel neden android klasörü yerine React Native Project'in kök klasörünü açtım .

React Native Project'in android klasörü altındaki projeyi tekrar aç, sorunumu çözdü.


-3

Android tracker eklentisini Kurmaya çalışın. stüdyoda bulacaksınız.

Stüdyoyu yeniden başlat

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.