Tại sao Android Studio báo cáo URI không được đăng ký? [đóng cửa]


160

Vì vậy, tôi đã thử dùng Android Studio, vì tôi thực sự thích Resharper và nhận thấy rằng IDE có một số chức năng của chúng được tích hợp trong đó. Bây giờ đã tạo một dự án mới mặc định, tôi đã thêm một tệp bố cục mới và muốn thay đổi bố cục ví dụ 'hello world' mặc định hiện có và tôi gặp lỗi "URI chưa được đăng ký" trên các dòng sau:

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

Tôi chưa làm gì khác với dự án được tạo mặc định. Tôi đã gặp một câu hỏi khác có vẻ như có liên quan ( URI lược đồ dự án Intellij chưa được đăng ký? ), Nhưng chỉ cần bỏ qua một cái gì đó cảm thấy kỳ lạ với tôi. Tôi thực sự đã thử nó, nhưng điều đó khiến RelativeLayout(và có lẽ tất cả những thứ liên quan đến Android khác) không được nhận ra nữa (thông báo lỗi: "Không thể tìm thấy khai báo của phần tử 'RelativeLayout'").

Bất kỳ ý tưởng về cách giải quyết vấn đề này?


9
Đóng và mở lại Android Studio đã giải quyết vấn đề này cho tôi :)
Umair

1
Không hợp lệ và khởi động lại bộ đệm sau đó nó hoạt động
thewhitetulip

Câu trả lời:


149

Bạn đang gặp vấn đề này bởi vì bạn đang ở sai điểm đến! Thư mục chính xác cho tệp tài nguyên Bố cục phải ở dưới "res-layout" chứ không phải "res-all-layout"


2
À đúng rồi, bạn hoàn toàn đúng. Lỗi tôi mắc phải là tôi đã mở tệp từ <dự án gốc> \ <tên dự án> \ build \ res \ all \ debug \ layout (tôi nghĩ nó được mở theo mặc định và được sử dụng để làm việc từ trên xuống dưới điều đó giải thích sự nhầm lẫn). Thay vào đó, người ta thực sự nên nhìn vào <dự án gốc> \ <tên dự án> \ src \ main \ res \ layout.
Xilconic

tôi gặp vấn đề tương tự đối với tệp kê khai phải làm gì
Prasad

Cảm ơn bạn!! Nó hoạt động rất tốt đối với tôi ..
Vinoth Vino 2/12/2016

1
Tôi gặp vấn đề tương tự nhưng đường dẫn của tôi là chính xác. Cuối cùng nó đã được sửa bằng cách vô hiệu hóa / khởi động lại. Chỉ cần vô hiệu hóa bộ đệm không hoạt động. THÁNG 8! :)
steven smith

1
cho tôi vô hiệu / khởi động lại làm việc. cảm ơn @stevensmith
Abdul Samad

51

Đối với tôi điều này là do tôi đang sử dụng một biến thể gỡ lỗi và phát hành bản dựng. Tôi đã thêm các thư mục mới src / debug / res / layout / some_layout.xml tệp theo cách thủ công và nó không nhận ra URI. Tôi đã chuyển đổi biến thể xây dựng để phát hành, và sau đó quay lại gỡ lỗi. Điều này khiến Android Studio tải lại một cái gì đó và lỗi đã biến mất.

EDIT: Cũng kiểm tra xem bạn có tên tệp đúng không. Tôi đã gặp vấn đề này một lần nữa bằng cách thêm gỡ lỗi AndroidManifest.xml, nhưng đặt tên nhầm là AndroidManifest.xml.xml.


2
Điều này làm việc cho tôi. Đối với những người tìm kiếm cách chuyển đổi biến thể xây dựng, nó nằm ở bảng ngoài cùng bên trái của AS, được viết sang một bên. Nhấp vào nó, sau đó theo nó "gỡ lỗi" thực sự là một thả xuống.
lemuel

1
Đối với tôi, điều tương tự cũng đúng. Nếu bạn đang xem bố cục hương vị khác nhau của ứng dụng tùy chỉnh, thì những gì được tải bởi studio Android, bạn sẽ gặp lỗi.
Neeraj Shukla

Công việc này như một cái duyên vậy!! cảm ơn
Virag Brahme

Bạn đã cứu ngày của tôi !!
Adi

39

Tôi sử dụng Intellij IDEA nhưng tôi nghĩ nó cũng sẽ hoạt động trong Android Studio, bạn có thể xem "Nhật ký sự kiện" ở góc dưới bên phải của IDE không, có thông báo như " Khung Android được phát hiện trong Cấu hình dự án " không, có nghĩa là bạn nên có một cấu hình khung. Nếu vậy, chỉ cần theo liên kết tin nhắn.
Theo cách tương tự, bạn có thể đi đến " Tệp> Cấu trúc dự án> Mô-đun ", sau đó thêm một khía cạnh Android.

nhập mô tả hình ảnh ở đây

Nhân tiện, nếu tôi muốn sử dụng một không gian tên tùy chỉnh như bạn, tôi sẽ viết mã định danh tài nguyên làm tên gói của tôi khi tôi xác định thuộc tính gói AndroidManifest.xml của phần tử tệp kê khai, bên dưới là mã của tôi.

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

Hy vọng điều này sẽ giúp bạn.


2
@Michael Alan Huff, cảm ơn bạn rất nhiều vì bạn đã dạy tôi.
VinceStyling

không có vấn đề :) hạnh phúc xếp chồng.
Michael Alan Huff

17

Vấn đề này xuất hiện đột ngột đối với tôi, không có lý do. Tôi vừa đóng tất cả các tab trong Android Studio và mở lại tệp xml có vấn đề. Vấn đề được giải quyết! :)


3
đã cứu mạng tôi ... :)
bangkokguy

Điều đó chỉ có ích cho đến lần tiếp theo tôi chạy thử ứng dụng
AvielNiego

Không hợp lệ và khởi động lại bộ đệm sau đó nó hoạt động
thewhitetulip

8

Trong Android Studio 3.1.2, lỗi này xảy ra do xác thực sai bộ nhớ đệm.,

Chuyển đến thư mục Project và xóa tất cả nội dung trong thư mục .idea

Điều này sẽ xóa bộ nhớ đệm và tải lại dự án sẽ tạo thư mục bộ nhớ đệm mới và làm cho nó hoạt động tốt.,


6

Đó là một vấn đề bổ sung.

  1. Khởi động lại studio android của bạn.
  2. Nó sẽ hiển thị một cửa sổ bật lên để kích hoạt bổ trợ
  3. nhấp vào bật plugin và sau đó nhấp vào Okay.

sau đó nó sẽ tự động khởi động lại studio của bạn và hoạt động sẽ tốt.

hy vọng nó sẽ hoạt động.


5

Vấn đề của tôi là các thư mục của tôi được cấu trúc như:

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

( Slayout-landThư mục của tôi nằm trong layoutthư mục của tôi )

Tôi đã thay đổi cấu trúc này và nó hoạt động với tôi:

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

Tôi hy vọng rằng điều này sẽ giúp!


5

Không biết lý do đằng sau lỗi này nhưng tôi đã tìm ra điều này ở đâu đó và nó đã giải quyết vấn đề của tôi.

  • Chuyển đến "Tệp> Cấu trúc dự án> Mô-đun"
  • Nhấp vào "thêm (+) "
  • Nhấp vào "android" và "áp dụng" và sau đó "ok"

4

Hóa ra tôi đã chỉnh sửa phiên bản DEBUG của xml, để sửa nó, chỉ cần đóng tab có lỗi và mở lại


3

Tôi đã có những lỗi giống nhau. Tôi đã giải quyết nó bằng cách nhập lại dự án vào studio android.


2

Đối với tôi Plugin Android Supportnhận được Vô hiệu hóa bằng cách nào đó. Kích hoạt Plugin một lần nữa làm việc cho tôi.

Settings > Plugins > Android Support

2

Chọn hương vị thích hợp trong Biến thể xây dựng.

Nếu bạn đang xem một tệp cụ thể trong Flavour1, hãy chọn hương vị đó trong cửa sổ BuildVariants.

Nếu IDE của bạn là Android Studio (3.2.1 khi viết bài này), bạn sẽ tìm thấy cửa sổ Biến thể xây dựng ở phía dưới bên trái, được căn chỉnh theo chiều dọc.


1

Đôi khi lỗi này tương quan với các lỗi khác trong bảng kê khai của bạn. Kiểm tra nếu có một số phụ thuộc bị thiếu và nếu tất cả các thẻ được đóng lại. Trong trường hợp của tôi, tôi đã xóa một thư mục trong thư mục / res, tôi đã khôi phục nó và lỗi đó đã biến mất.


1

Đối với tôi, các tệp xml vi phạm đã thiếu dòng tiêu đề ...

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

Thêm cái đó đã sửa nó.


1

Bắt đầu nhận lại điều này, những gì thực sự hoạt động bây giờ là thêm một số rác bên trong build.gradle. Sau đó thử và đồng bộ hóa. Khi nó thất bại loại bỏ rác và đồng bộ lại. Sau khi lập chỉ mục, nó hoạt động.


1
  • Chuyển đến "Tùy chọn> Ngôn ngữ & Khung> Lược đồ và DTDS"
  • Nhấp vào "thêm (+)"
  • Nhấp vào "áp dụng" và sau đó "ok"

hy vọng nó sẽ hoạt động.


chỉ cần thêm url của bạn.
Scarlett

1

Đối với tôi, tôi đã sao chép một dự án từ gitlab, có mục lục:

TradeClient / TradeClient / ứng dụng / ...

sau đó tôi gặp phải vấn đề này, tôi giải quyết vấn đề bằng phương pháp dưới đây:

  • xóa đường giữa "TradeClient", như TradeClient / app / ...
  • sau đó Tệp -> Bộ nhớ cache không hợp lệ / Khởi động lại ...


0

Bây giờ tôi đã gặp vấn đề này - Tôi đã tạo một thư mục mới trong thư mục bố cục có chứa tất cả xml liên quan đến trang "nhà" của ứng dụng của tôi và sau đó một thư mục khác có liên quan đến trang "cài đặt" của tôi khi tôi muốn tổ chức xml.

Tuy nhiên, android chỉ nhận ra thư mục bố cục cho xml, không phải thư mục layout / home hoặc layout / settings, vì vậy đó là lý do khiến tôi gặp lỗi.

Nhờ câu trả lời của Mazen Kasser, anh ấy đã giúp tôi tìm ra điều này.


0

Gần đây, tôi đang cố gắng chuyển một ứng dụng hiện có sang thiết kế vật liệu. Tất cả những gì tôi phải làm để khắc phục nó là thay đổi Phiên bản SDK biên dịch của dự án. Tập tin | Thiết lập dự án. Chọn ứng dụng và chọn phiên bản Compile SDK cho Lollipop trở lên.


0

Bất kỳ giải pháp được đề cập ở đây đã giúp tôi. Tôi sẽ gửi vấn đề của tôi chỉ trong trường hợp là hữu ích cho bất cứ ai. Trong trường hợp của tôi, lỗi đã xảy ra bằng cách sử dụng ràng buộc dữ liệu . Có vẻ như sử dụng dữ liệu trung gian ràng buộc xmls được tạo ra. Nếu có lỗi khi cố mở, lỗi sẽ hiển thị xml trung gian với " URI chưa được đăng ký " này thay vì mở xml bên phải với lỗi.


0

Tôi gặp vấn đề này và đối với tôi đó là do tạo và thao tác các tệp tài nguyên bên ngoài Android Studio. Tôi đã làm theo hướng dẫn về việc tạo các tệp và thư mục tài nguyên mới thông qua Android Studio và giải quyết vấn đề. Bạn cần tạo một thư mục Resource File Not mới. Nó sẽ cho phép bạn chỉ định hoặc tạo một thư mục cho bạn nếu bạn cần nó. Nếu bạn đang tạo thư mục cho bố cục cho các phiên bản khác nhau, hãy nhập thông tin ở trên cùng bao gồm tên của tệp tài nguyên bạn muốn sao chép vào thư mục mới và chọn Phiên bản và nhập phiên bản Android. Nó sẽ tạo thư mục thích hợp với một bản sao tài nguyên của bạn trong đó.


0

Một đề nghị khác, đó là giải pháp cho tôi: Tôi đã gặp lỗi trong dòng

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

trong tệp giá trị được tạo tự động trong quá trình xây dựng.

Nó đã được giải quyết bằng cách thêm androidtiền tố vào tệp 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>

phải đổi thành

<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

Điều gì đã khắc phục nó cho tôi mà tôi chưa thấy đề cập cho đến nay - nếu bạn có nhiều 'hương vị', hãy đảm bảo rằng 'biến thể xây dựng' hiện được chọn phù hợp với hương vị cho tệp bố cục bạn đang cố xem.


0

Bất cứ ai cũng gặp phải lỗi này ngay sau khi nhập dự án có thể gặp phải quá trình nhập / đồng bộ hóa lớp ban đầu không thành công. Thông thường nó gặp phải các lỗi nghiêm trọng (nhấp nháy dấu chấm than ở góc dưới bên phải). Đối với tôi đây là nguyên nhân rất kỳ lạ (thư mục dự án đã được liên kết): https://stackoverflow.com/a/52952148/44166


0

Tôi gặp phải vấn đề tương tự khi mở Android React Native Project trong Android Studio.

Nguyên nhân gốc là tôi đã mở thư mục gốc của Dự án gốc React thay vì thư mục Android của Dự án gốc React.

Mở lại dự án trong thư mục Android của React Native Project đã giải quyết vấn đề của tôi.


-3

Hãy thử cài đặt plugin theo dõi Android. bạn sẽ tìm thấy nó trên studio

Khởi động lại studio

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.