"에서 발견 된 예기치 않은 요소" 오류 를 수정하려면 어떻게 해야 합니까?
갑자기 Android 프로젝트에서 빌드 오류가 발생합니다.
unexpected element <queries> found in <manifest>
어떻게 고치죠?
Android Gradle Plugin은 특히 매니페스트 병합 프로세스를 위해 새로운 매니페스트 요소에 대해 알아야 합니다.플러그인은 매니페스트 병합에서 문제의 빌드 오류와 같은 빌드 오류를 버리면서 인식하지 못하는 요소를 보게 되면 혼란을 겪게 되는 경향이 있습니다.
이번 사건에서 안드로이드 11은<queries>매니페스트 요소로서 Android Gradle Plugin의 이전 버전은 해당 요소에 대해 알지 못합니다.
매니페스트 병합에서 발생한다는 사실은 단순히 종속성을 업그레이드하는 것만으로도 이러한 오류가 발생할 수 있음을 의미합니다.예를 들어 최신 버전으로 업그레이드하는 경우com.awesome:awesome-library, 그리고 그 안에는<queries>매니페스트에 있는 요소는 코드에 다른 변경이 없더라도 빌드에서 앞서 언급한 오류와 함께 충돌할 수 있습니다.
구글은 이 문제를 해결하기 위해 안드로이드 그라들 플러그인의 패치 버전을 출시했습니다.
3.3.33.4.33.5.43.6.44.0.1
의 기존 플러그인을 사용하는 경우3.3.*통해.4.0.*series, 해당 목록에서 관련 패치 버전(또는 그 이상)으로 업그레이드하면 더 이상 해당 오류가 발생하지 않아야 합니다(예:classpath 'com.android.tools.build:gradle:4.0.1').
Android Studio 4.1 이상을 사용하는 경우, 일치하는 Android Gradle 플러그인(예:4.1.*series), 변경사항 없이 괜찮으실 겁니다.그 플러그인 버전들은 이미 알고 있었습니다.<queries>.
자세한 내용은 이 Android Developers 블로그 게시물을 참조하십시오.
Fluter에서 이 문제가 발생했지만, 이 솔루션은 Fluter와 Native Fluter 개발 모두에 효과가 있을 것으로 생각합니다.
다음 단계를 따릅니다.
Android 11에서 패키지를 확인할 수 있도록 Gradle 빌드를 준비하는 방법에 대해 알아보려면 이 짧은 블로그 게시물을 읽어 보십시오.
Android 폴더 안의 .gradle 폴더를 삭제합니다. 즉, Android > .gradle
project build.gradle 파일에서 위 링크의 블로그를 기반으로 클래스 경로를 적절하게 업그레이드합니다. 예를 들어 다음으로 업그레이드했습니다.
classpath 'com.android.tools.build:gradle:4.0.1'배포 URL도 업그레이드합니다.안드로이드>gradle>gradle-wrapper.properties 파일에 적절하게 있습니다.예를 들어 다음으로 업그레이드했습니다.
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip캐시를 무효화하고 Android Studio를 다시 시작할 수 있습니다.새 Gradle 파일을 다운로드하므로 인터넷 연결 상태가 양호한지 확인합니다.
저도 이틀 전 안드로이드 스튜디오 4.1.1에서 갑자기 같은 문제가 생겼습니다.빌드 그래들 버전을 업그레이드하여 문제를 해결하였습니다.
프로젝트의 build.gradle 파일의 이전 설정은 다음과 같습니다.
classpath("com.android.tools.build:gradle:3.5.3")
현재 설정:
classpath("com.android.tools.build:gradle:3.5.4")
그 문제는 즉시 사라졌습니다.:)
Android Studio를 마지막 버전으로 업데이트하고 마지막 안정 Gradle 플러그인 버전을 사용합니다.현재 저는 Gradle Plugin 6.8.2와 함께 Android Studio 버전 4.1.3을 사용하고 있습니다.
쿼리에 사용하려면 쿼리 코드를 응용 프로그램 태그 내부가 아니라 응용 프로그램 태그 외부에 써야 합니다.
자세한 내용은 아래 사진을 참조하십시오.
가 에서 가 있었습니다.react-native-image-crop-picker는 이 했습니다 library,로 Gradle하였습니다.
그것은:
classpath("com.android.tools.build:gradle:3.5.3")
업데이트 대상:
classpath("com.android.tools.build:gradle:3.5.4")
그래서 달려왔습니다.
cd android && ./gradlew clean && cd .. && npx react-native run-android
그 다음엔 잘 됐어요.
Android 11의 패키지 가시성을 위한 새로운 기본 설정 및 기능으로 인해 추가해야 함<queries>, Android Gradle 플러그인을 업데이트해야 합니다.
Google은 Android Gradle 플러그인 릴리스 노트 4.0.0(2020년 4월)에 나열된 최신 버전에 일부 패치를 추가했습니다.
Android Gradle의 최신 버전을 사용하려면 Android Gradle 플러그인 릴리스 노트인 Update Gradle에서 호환되는 래퍼를 검색해야 합니다.
Gradle 버전을 4.0.1 이상으로 업데이트합니다.
Android/gradle/wrapper/gradle-wrapper.properties 파일: 배포 URL을 다음으로 업데이트합니다.
분배url=https://services.gradle.org/distributions/gradle-6.7-all.zip
Android/build.gradle 파일: Gradle 플러그인 업데이트:
클래스패스 'com. android.tools.build:gradle:4.1.2'
4.0.1 또는 그 이후로.여기는 Gradle 버전이 6.5 이상인 4.1.2입니다.
안드로이드 스튜디오에서 gradle 업데이트 방법에서 배포 차트를 볼 수 있습니다?
언급URL : https://stackoverflow.com/questions/62969917/how-can-i-fix-unexpected-element-queries-found-in-manifest-error
'programing' 카테고리의 다른 글
| 단일 그룹 그룹 함수가 아님 (0) | 2023.10.09 |
|---|---|
| jQuery에서 AJAX 요청이 성공했는지 확인하는 가장 좋은 방법 (0) | 2023.10.09 |
| Controller As 표기법을 사용하여 상위 속성에 액세스하는 방법 (0) | 2023.10.09 |
| ViewPager를 사용하지 않고 탭 레이아웃 (0) | 2023.10.09 |
| 장고 쿼리셋과 함께 파이썬 타입 힌트를 사용하는 방법? (0) | 2023.10.09 |
