Android Studio에서“URI가 등록되지 않았다”고보고하는 이유는 무엇입니까? [닫은]


161

그래서 Resharper를 정말로 좋아하고 IDE에 일부 기능이 내장되어 있음을 알았 기 때문에 Android Studio를 사용해 보았습니다. 이제 기본 새 프로젝트를 만든 후 새 레이아웃 파일을 추가하고 기존 기본 'hello world'예제 레이아웃을 변경하려고했는데 다음 줄에 "URI is not registered"오류가 발생했습니다.

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

기본 생성 프로젝트에 대해서는 아직 아무것도하지 않았습니다. 관련이있는 것으로 보이는 다른 질문 ( Intellij Android 프로젝트 스키마 URI가 등록되지 않았습니까? )을 발견했지만 뭔가를 무시하면 나에게 이상한 느낌이 듭니다. 나는 실제로 그것을 시도했지만 그로 인해 RelativeLayout(그리고 아마도 다른 모든 안드로이드 관련 것들) 더 이상 인식되지 않습니다 (오류 메시지 : " 'RelativeLayout'요소의 선언을 찾을 수 없습니다").

이 문제를 해결하는 방법에 대한 아이디어가 있습니까?


9
Android Studio를 닫았다가 다시 열면이 문제가 해결되었습니다. :)
Umair

1
캐시 무효화 및 재시작 후 작동
thewhitetulip

답변:


150

잘못된 목적지에 있기 때문에이 문제가 발생했습니다! Layout 자원 파일의 올바른 디렉토리는 "res-all-layout"이 아닌 "res-layout"아래에 있어야합니다.


2
아 네, 그렇습니다. 내가 만든 실수는 <프로젝트 루트> \ <프로젝트 이름> \ build \ res \ all \ debug \ layout에서 파일을 열었다는 것입니다 (기본적으로 열려 있다고 생각하며 위에서 아래로 작업하는 데 익숙합니다. 혼란을 설명합니다). 대신, <프로젝트 루트> \ <프로젝트 이름> \ src \ main \ res \ layout을 살펴 봐야합니다.
Xilconic

해야 할 일 매니페스트 파일에 대해 같은 문제가있었습니다
Prasad

감사합니다!! 그것은 나를 위해 잘 작동합니다 ..
Vinoth Vino 17

1
나는 같은 문제를 겪었지만 내 길은 정확했습니다. 마지막으로 무효화 / 재시작으로 해결되었습니다. 캐시 무효화가 작동하지 않았습니다. 8 월! :)
스티븐 스미스

1
나를 위해 무효화 / 다시 시작했습니다. 감사합니다 @stevensmith
Abdul Samad

51

나에게 이것은 디버그 및 릴리스 빌드 변형을 사용했기 때문입니다. 새 폴더 src / debug / res / layout / some_layout.xml 파일을 수동으로 추가했는데 URI를 인식하지 못했습니다. 빌드 변형을 해제 한 다음 다시 디버그로 전환했습니다. 이로 인해 Android Studio가 무언가를 다시로드하고 오류가 사라졌습니다.

편집 : 또한 올바른 파일 이름이 있는지 확인하십시오. 디버그 AndroidManifest.xml을 추가하여이 문제가 다시 발생했지만 실수로 AndroidManifest.xml.xml이라는 이름을 지정했습니다.


2
이것은 나를 위해 일했습니다. 빌드 변형을 전환하는 방법을 찾는 사람들은 AS의 가장 왼쪽 패널에 옆으로 작성되었습니다. 클릭하면 "디버그"가 실제로 드롭 다운입니다.
lemuel

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
@Michael Alan Huff, 가르쳐 주셔서 감사합니다.
VinceStyling

문제 없습니다 :) 행복한 스태킹.
Michael Alan Huff

17

이 문제는 아무 이유없이 갑자기 나타났습니다. 방금 Android Studio에서 모든 탭을 닫고 문제가있는 xml 파일을 다시 열었습니다. 문제 해결됨! :)


3
내 생명을 구했다 ... :)
bangkokguy

다음 번에 앱을 실행하려고 할 때까지만 도움이됩니다
AvielNiego

캐시 무효화 및 재시작 후 작동
thewhitetulip

8

Android Studio 3.1.2에서이 오류는 캐시 메모리의 잘못된 유효성 검증으로 인해 발생합니다.,

Project 폴더로 이동하여 .idea 폴더의 모든 내용을 삭제 하십시오.

이렇게하면 캐시 메모리가 삭제되고 프로젝트를 다시로드하면 새 캐시 메모리 폴더가 만들어지고 이동하기에 좋습니다.,


6

플러그인 문제입니다.

  1. 안드로이드 스튜디오를 다시 시작하십시오.
  2. 플러그인 활성화를위한 팝업 창이 표시됩니다
  3. 플러그인 활성화를 클릭 한 다음 확인을 클릭하십시오.

그런 다음 스튜디오가 자동으로 다시 시작되고 작동합니다.

그것이 효과가 있기를 바랍니다.


5

내 문제는 내 폴더가 다음과 같이 구성되었다는 것입니다.

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

(내 Slayout-land폴더는 내 폴더에있었습니다 layout)

나는 구조를 이것으로 바꾸었고 그것은 나를 위해 일했다 :

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

이것이 도움이되기를 바랍니다!


5

이 오류의 원인을 모르지만 어딘가에 이것을 발견하고 내 문제를 해결했습니다.

  • "파일> 프로젝트 구조> 모듈"로 이동하십시오.
  • "추가 (+) "를 클릭하십시오.
  • "android"및 "적용"을 클릭 한 다음 "확인"을 클릭하십시오

4

xml의 ​​DEBUG 버전을 편집 중이며 문제를 해결하기 위해 오류가있는 탭을 닫고 다시 엽니 다.



2

나를 위해 플러그인 Android Support은 어떻게 든 비활성화됩니다. 플러그인 활성화가 다시 효과가있었습니다.

Settings > Plugins > Android Support

2

빌드 변형에서 적절한 맛을 선택하십시오.

Flavour1에서 특정 파일을보고 있다면 BuildVariants 창에서 해당 파일을 선택하십시오.

IDE가 Android Studio (이 글을 쓰는 시점에서 3.2.1) 인 경우 왼쪽 하단에 빌드 변형 창이 세로로 정렬되어 있습니다.


1

때때로이 오류는 매니페스트의 다른 오류와 관련이 있습니다. 누락 된 종속성이 있는지와 모든 태그가 닫혀 있는지 확인하십시오. 필자의 경우 / res 폴더에서 폴더를 삭제하고 복원했으며 오류가 사라졌습니다.


1

나에게 문제의 xml 파일에 헤더 줄이 누락되었습니다 ...

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

그것을 추가하면 해결되었습니다.


1

이것을 다시 시작하기 시작했습니다. 실제로 작동하는 것은 build.gradle 내부에 쓰레기를 추가하는 것입니다. 그런 다음 동기화를 시도하십시오. 실패하면 쓰레기를 제거하고 다시 동기화하십시오. 인덱싱 후 작동합니다.


1
  • "환경 설정> 언어 및 프레임 워크> 스키마 및 DTDS"로 이동하십시오.
  • "add (+)"를 클릭하십시오
  • "적용"을 클릭 한 다음 "확인"을 클릭하십시오

그것이 효과가 있기를 바랍니다.


당신의 URL을 추가하십시오.
Scarlett

1

나를 위해 gitlab에서 프로젝트를 복제하면 목차가 있습니다.

TradeClient / TradeClient / app / ...

그런 다음이 문제가 발생하여 아래 방법으로 문제를 해결하십시오.

  • TradeClient / app / ...로 중간 경로 "TradeClient"를 제거하십시오.
  • 그런 다음 File-> Invalidate Caches / Restart ...


0

이 문제가 발생했습니다. 레이아웃 폴더 아래에 앱의 "홈"페이지와 관련된 모든 xml을 포함하는 새 폴더를 만든 다음 내 구성을 구성 할 때 "설정"페이지와 관련된 다른 폴더를 만들었습니다. xml.

그러나 android는 layout / home 또는 layout / settings 폴더가 아닌 xml의 레이아웃 폴더 만 인식하므로 오류가 발생했습니다.

Mazen Kasser의 답변 덕분에 그는 이것을 알아내는 데 도움을주었습니다.


0

최근에 기존 앱을 머티리얼 디자인으로 마이그레이션하려고 시도했습니다. 이 문제를 해결하기 위해 프로젝트의 Compile SDK 버전을 변경하기 만하면됩니다. 파일 | 프로젝트 설정. 앱을 선택하고 Lollipop 이상의 Compile SDK 버전을 선택하십시오.


0

여기에 언급 된 해결책이 도움이되었습니다. 누군가에게 도움이되는 경우를 대비하여 문제를 게시 할 것입니다. 내 경우에는 데이터 바인딩을 사용하여 오류가 발생했습니다 . 데이터 바인딩 사용 XML 중간체가 생성 된 것 같습니다. 오류를 여는 동안 오류가 발생하면 오류가 있는 올바른 XML을 여는 대신 이 " URI not registered "가 포함 중간 XML이 표시됩니다 .


0

나는이 문제를 겪었고 Android Studio 외부에서 리소스 파일을 만들고 조작했기 때문에 발생했습니다. Android Studio를 통해 새 리소스 파일 및 폴더를 만드는 지침을 따라 문제를 해결했습니다. 새 Resource File Not 디렉토리를 작성해야합니다. 필요한 경우 디렉토리를 지정하거나 작성할 수 있습니다. 다른 버전의 레이아웃에 대한 디렉토리를 작성하는 경우 새 폴더에 복사하려는 자원 파일 이름을 포함하여 맨 위에 정보를 입력하고 버전을 선택하고 Android 버전을 입력하십시오. 리소스 복사본이있는 적절한 디렉터리를 만듭니다.


0

또 다른 제안은 나를위한 해결책이었습니다. 라인에 오류가 있습니다.

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

빌드 프로세스 중에 자동으로 생성 된 values.xml 파일에서

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

지금까지 언급하지 않은 문제가 해결되었습니다. 여러 개의 'flavor'가있는 경우 현재 선택된 'build variant'가 보려는 레이아웃 파일 의향과 일치하는지 확인하십시오.


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

안드로이드 트래커 플러그인을 설치하십시오. 스튜디오에서 찾을 수 있습니다.

스튜디오를 다시 시작

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.