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

그래서 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’요소의 선언을 찾을 수 없습니다”).

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



답변

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


답변

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

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


답변

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>

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


답변

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


답변

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

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

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


답변

플러그인 문제입니다.

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

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

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


답변

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

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

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

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

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

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