오류 : com.android.tools.aapt2.Aapt2Exception : AAPT2 오류 : 자세한 내용은 로그 확인


137

이것은 Gradle 콘솔의 출력이며 프로젝트를 빌드 할 수 없습니다

D:\Android Projects\....\app\src\main\res\layout\topic_view_header.xml
Error:error: resource attr/?? (aka -packagename- :attr/??) not found.
Error:error: resource attr/?? (aka -packagename-:attr/??) not found.
Error:error: resource attr/?? (aka -packagename-:attr/??) not found.
Error:resource attr/?? (aka -packagename-:attr/??) not found.
Error:resource attr/?? (aka -packagename-:attr/??) not found.
Error:resource attr/?? (aka -packagename-:attr/??) not found.
Error:failed linking file resources.
Error:java.util.concurrent.ExecutionException: 
java.util.concurrent.ExecutionException: 
com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:java.util.concurrent.ExecutionException: 
com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for 
details
Error:Execution failed for task ':app:processDebugResources'.
> Failed to execute aapt
Information:BUILD FAILED in 27s
Information:11 errors
Information:0 warnings

안드로이드 스튜디오 3.0 RC 2



문제를 식별하기 위해 assembleDebug 태스크를 실행할 수 있습니다. 자세한 내용은 여기를 참조하시기 바랍니다 stackoverflow.com/a/47941174/1573414
AnteGemini

답변:


112

업데이트 2 (이 방법을 따르십시오)

지금 이러면 안됩니다. 대신 모든 오류를 수정하십시오. 이것은 제거 될 때까지 해결 방법 일뿐입니다. 그런 다음 어쨌든 수동으로 오류를 수정해야합니다.

gradle 플러그인을 업데이트 3.3.0-alpha06하여 문제가 해결되는지 확인하십시오.

업데이트 1 :

ASCII가 아닌 문자 문제가 AAPT2 및 안드로이드 gradle 플러그인에서 수정되었습니다 (예!). AAPT2를 비활성화하는 대신 이제 Android gradle 플러그인 버전 3.2.0-alpha11 이상을 사용할 수 있으며 더 이상이 오류가 발생하지 않아야합니다.

원래 답변

gradle 3.0에 Android 플러그인을 사용하면 Aapt2가 기본적으로 활성화됩니다.

이것은

증분 리소스 처리 향상

여기에 명시된 바와 같이 .

그러나 문제가 발생하면 이것을 추가하여 이전 버전으로 다시 전환 할 수 있습니다 gradle.properties

android.enableAapt2=false

그러나 그 후에 androidTest를 실행하는 데 문제가 있습니다. 클래스를 찾을 수 없음 : "com.app.someapp.TheTestClass"Empty 테스트 스위트 오류가 발생합니다. 여기를보십시오 stackoverflow.com/questions/47969959/…
K.Os

29
이 행동 후 나는이 메시지를 얻었다Process 'command 'D:\Android\sdk\Sdk\build-tools\27.0.3\aapt.exe'' finished with non-zero exit value 1
AN

1
ASCII가 아닌 문자 문제가 AAPT2 및 안드로이드 gradle 플러그인에서 수정되었습니다 (예!). AAPT2를 비활성화하는 대신 이제 Android gradle 플러그인 버전 3.2.0-alpha11 이상을 사용할 수 있으며 더 이상이 오류가 발생하지 않아야합니다.
Izabela Orlowska

2
작동하지만 메시지가 나타납니다.The option 'android.enableAapt2' is deprecated and should not be used anymore. Use 'android.enableAapt2=true' to remove this warning. It will be removed at the end of 2018..
Mikemike

1
이것을 사용하지 마십시오! 새로운 기능을 비활성화해도 앞으로도 프로젝트가 중단됩니다. Pranav Karnik이 말했듯이 더 이상 사용되지 않으며 제거 예정입니다. 제거 될 때까지의 해결 방법 일뿐입니다. 그런 다음 어쨌든 수동으로 오류를 수정해야합니다.
Zoe

102

최신 정보

이러한 문제를 해결하는 새로운 버전의 Gradle 및 Android-gradle-plugin을 사용할 수 있습니다.

build.gradle (최상위)

buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
    }
}

gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-all.zip

이전 답변

AAPT2를 비활성화하면 실제 문제가 숨겨져있는 것입니다.

양해하여 주시기 바랍니다 AAPT1그러므로 당신이 사용 강제 미래에서 제거 될 수 있습니다 AAPT2. 실제로 마이그레이션 가이드 는 따르기 어렵지 않습니다. 이러한 방식으로 많은 변경이 동시에 이루어질 것임을 알 수 없기 때문입니다.

Android 매니페스트의 요소 계층

이전 버전의 AAPT에서 Android 매니페스트의 잘못된 노드에 중첩 된 요소는 무시되거나 경고가 발생합니다. 예를 들어 다음 샘플을 고려하십시오.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.myname.myapplication">
   <application
       ...
       <activity android:name=".MainActivity">
           <intent-filter>
               <action android:name="android.intent.action.MAIN" />
               <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
           <action android:name="android.intent.action.CUSTOM" />
       </activity>
   </application>
</manifest>

따라서 아래에 표시된대로 올바른 매니페스트 구조를 실제로 따르는 지 먼저 확인해야합니다.

매니페스트 파일 구조

아래의 코드 스 니펫은 매니페스트 파일의 일반적인 구조와 포함 할 수있는 모든 요소를 ​​보여줍니다. 모든 속성과 함께 각 요소는 별도의 파일로 완전히 문서화됩니다.

<manifest>

    <uses-permission />
    <permission />
    <permission-tree />
    <permission-group />
    <instrumentation />
    <uses-sdk />
    <uses-configuration />  
    <uses-feature />  
    <supports-screens />  
    <compatible-screens />  
    <supports-gl-texture />  

    <application>

        <activity>
            <intent-filter>
                <action />
                <category />
                <data />
            </intent-filter>
            <meta-data />
        </activity>

        <activity-alias>
            <intent-filter> . . . </intent-filter>
            <meta-data />
        </activity-alias>

        <service>
            <intent-filter> . . . </intent-filter>
            <meta-data/>
        </service>

        <receiver>
            <intent-filter> . . . </intent-filter>
            <meta-data />
        </receiver>

        <provider>
            <grant-uri-permission />
            <meta-data />
            <path-permission />
        </provider>

        <uses-library />

    </application>

</manifest>

7
@Downvoters pls. 내가 대답 할 수 있도록이 답변의 문제점을 정확하게 설명 하시겠습니까?
Enzokie

안녕하세요 Enzokie, 같은 aapt2 예외가 있습니다. 내가하는 일은 compileSdkVersion을 21에서 26으로 업데이트 한 다음 aapt2 충돌입니다. 내가 어디에서 오류 로그를 찾았는지 알고 있습니까?
닌자

@ Ninja는 Gradle 콘솔에서 로그를 확인할 수 있습니다 .Logcat과 같습니다.
Enzokie

3
해결책을 제공하지 않았으며 관련이 있거나 관련이없는 원인에 대한 이론을 제시했습니다.
Chris-Jr

1
@AhamadullahSaikat OP와 유사한 스택 추적이 있습니까?
Enzokie

20

XML 레이아웃에 오류가있었습니다. 따라서 XML 레이아웃에서 오류를 확인하십시오.


1
이 경우 오류가 좀 더 구체적이지 않아야합니까?
Ewoks

1
불행히도 @Ewoks는 없습니다. XML 레이아웃 문자열에 특수 문자가 있으면이 정확한 오류가 발생합니다.
SH7890

13

안드로이드 스튜디오에서 gradle 콘솔 탭을 확인하십시오 (기본적으로 오른쪽 하단에 있음). 내 경우에는 다음과 같은 오류가있었습니다.

C:\Users\Jozef Bar??k\.gradle\caches\transforms-1\files-1.1\appcompat-v7-25.4.0.aar\d68bb9d2059935a7891196f4dfb81686\res\drawable-hdpi-v4\abc_ic_menu_share_mtrl_alpha.png: error: file not found.

Error: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
:app:mergeDebugResources FAILED

흰색 또는 특수 문자가없는 다른 위치로 사용자 집을 gradle 설정하는 문제를 해결했습니다.

C:\Android\.gradle

Gradle 설정 대화 상자에서 " 서비스 디렉토리 경로 " 설정을 구성 할 수 있습니다 . 필자의 경우 이전 위치에서 이전 .gradle 디렉토리를 삭제하고 android studio를 다시 시작해야했습니다.


나를 위해 문제는 빌드를 서비스 C : \ Windows \ System32 \ config \ systemprofile \ .gradle \ .......로 실행할 때 파일 이름이 너무 길어 GRADLE_USER_HOME = d : \ .gradle fixed 문제 (제 경우에는 시스템 환경 변수)
Marc

서비스 디렉토리 경로에 라틴어 "é"가있어 문제를 해결하는 데 도움을 주셔서 감사합니다.
Jean-Sébastien Gervais

1
Android Studio 3.1 이후 Gradle 콘솔 탭이 제거되었습니다. 이제 빌드 탭에 있습니다. AAPT2 오류를 일으키는 실제 오류를 볼 원시 Gradle을 출력으로 변경보기 (망치 버튼 아래, 왼쪽에있는 빌드 탭)가 '토글보기'버튼을 클릭
georgiecasey

8

내 문제는 이미지 파일 이름이 .9.png끝나기 때문 입니다. 결말을 .png로 변경 했는데 문제가 사라졌습니다. Gradle 콘솔의 스택 추적에서 힌트를 얻었습니다. 최상위 메시지는 "태스크 실행 실패 : app : mergeDebugResources "이고 맨 아래 메시지는 "com.android.builder. png .AaptProcess $ NotifierProcessOutput.out"입니다.

Gradle이 더 유용한 오류 메시지를 출력하는 날을 기대합니다 ...


8

데이터 바인딩을 사용하고 레이아웃 태그를 선언 할 때이 문제가 발생했습니다. 나는 그것이 조금 늦었다는 것을 알고 있지만,이 문제가 발생하는 모든 사람들 을 위해, 많은 시도 후에 문제를 해결하기 위해 내가 한 일은 루트 바인드에서 데이터 바인딩을 사용하지 않을 때의 예입니다.

  <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">     </android.support.constraint.ConstraintLayout>

제거

xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"

레이아웃 태그에 넣으십시오 ( 즉, 데이터 바인딩을 사용하는 경우 )

<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">

</layout>

희망적으로 작동합니다. 는 android.enableAapt2=false나를 위해 작동하지 않았으므로 모든 것을 제거하고 레이아웃 태그를 넣고 데이터 바인딩을 사용할 때 오류가 발생하는 이유를 알아 내려고 솔루션을 찾았습니다. 그것이 도움이되기를 바랍니다.


1
고마워 친구! 당신은 나를 위해 한 시간을 절약했습니다.
Siamak SiaSoft

1
고마워 친구! 당신은 나를 위해 두 시간을 절약했습니다!
l33t

7

여기에 같은 문제가 있습니다. @Izabela Orlowska가 지적한 것처럼이 문제는 경로의 특수 문자 (android grandle 파일, 리소스 등)에 의해 발생합니다.

나에게 : ří폴더 이름을 사용하면 모든 문제가 발생했습니다. 경로에 특수 문자가 없는지 확인하십시오. AAPT2 비활성화는 일시적인 "솔루션"입니다. 프로젝트 경로에 ASCII가 아닌 문자가 포함되어 있습니다 .Android 스튜디오


5

오류를 3 단계로 수정했습니다
. 1 문제를 확인했습니다.
2. 올바른 문자열 / 텍스트를 제공했습니다. 원인입니다.
3. 프로젝트를 정리했습니다. BUILD에서 찾을 수 있습니다.
내 프로젝트


1
문제를 식별하는 데 도움이되었습니다.
Apple Appala

5

나중에 어느 시점에서 AAPT (1)에 대한 지원이 더 이상 사용되지 않으므로보고 한 오류의 원인을 식별하는 것이 좋습니다.
\ app \ src \ main \ res \ layout \ topic_view_header.xml 파일의 내용을 제공 할 수 있습니까? 물음표에서 AAPT2에 여전히 문제가있는 비 ASCII 문자를 사용하고있을 수 있습니다. ASCII가 아닌 문자 인 경우 https://issuetracker.google.com/68262818 의 버그를 따르십시오 .

업데이트 : Android gradle 플러그인 버전 3.2.0-alpha11 이상에서 문제가 해결되었습니다.


여기를 참조하십시오 stackoverflow.com/questions/47971366/…
K.Os

@Konrad 404, @ izabela 여전히 gradle 4.1에서 동일한 문제
Ajay Pandya

gradle 버전 인 @AjayPandya, Android gradle 플러그인 버전을 업데이트해야합니다. 프로젝트의 build.gradle 파일에서를 업데이트해야합니다 classpath 'com.android.tools.build:gradle:3.2.0-alpha11'.
Izabela Orlowska

4

중요 업데이트

이 줄을 프로젝트에 다른 답변으로 추가하지 마십시오. 최신 Gradle 버전 에서 이미 해결 되었기 때문입니다 .

프로젝트 레벨build.gradle 에서 빌드 gradle 버전 을 최신으로 업데이트 할 수 있습니다 .

buildscript {
    dependencies {
        // choose latest if available
        classpath 'com.android.tools.build:gradle:3.3.0-alpha06'
    }
}

gradle-wrapper.properties

// choose latest if available
distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-all.zip

그게 다야! 동기화 및 실행, 빙고!

추가 정보 Android 설명서

추가하면 경고가 표시됩니다 android.enableAapt2=false

경고 : 'android.enableAapt2'옵션은 더 이상 사용되지 않으며 더 이상 사용해서는 안됩니다. 이 경고를 제거하려면 'android.enableAapt2 = true'를 사용하십시오. 2018 년 말에 제거 될 예정입니다.


aapt2를 비활성화하려고하면이 글을 쓸 때 오류가 발생하기 때문에 gradle을 업데이트하기 만하면됩니다. 업데이트 후 gradle은 실제 오류가 무엇인지 말해주었습니다. 사실 gradle-wrapper.properties 파일에서 gradle-4.8을 사용할 수 없었습니다. 4.9를 최신 버전으로 사용해야했고 종속성 경로에서도 gradle을 사용해야했습니다 .3.3.0-alpha06
Kingston Fortune

원본 게시물을 업데이트하여 쉽게 찾을 수 있습니다.
킹스턴 포춘

어떤 gradle 파일에서 android.enableAapt2 = false 를 작성해야 합니까?
Niki

@nTri 답변의 솔루션 부분 만 찾으십시오 android.enableAapt2=false. 추가 할 필요는 없습니다 .
Khemraj

당신을 도울 다행 @nTri :
Khemraj

2

또한이 오류가 발생했습니다. 나를 위해 대상 SDK를 26에서 25로 변경할 때였습니다. appcompat 종속성 버전을에서 변경하여 문제를 해결할 수있었습니다.

implementation 'com.android.support:appcompat-v7:26.1.0'

implementation 'com.android.support:appcompat-v7:25.4.0'

이를 통해 컴파일러는 현재 찾을 수없는 스타일 속성에 액세스 할 수 있습니다. 이것은 Enzokie가 제안한 실제 문제를 숨기는 대신 실제로 문제를 해결합니다.


2

내 경우 #CC00000에는 7 자리가 있지만 유효하지 않은 잘못된 색상 코드 를 사용 했지만 색상 코드에 3 또는 6 또는 8 자리에 # 접두사가 있어야합니다


2

AAPT2 mght를 비활성화하면 추가 개발에서 문제가 발생합니다. 제 경우에는 앱 아이콘을 만들 때 오류가 발생했습니다.

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="108dp"
    android:height="108dp"
    android:viewportWidth="Infinity"
    android:viewportHeight="Infinity">
<path android:fillColor="#26A69A"
      android:pathData="M0,0h108v108h-108z"/>
<path android:fillColor="#00000000" android:pathData="M79,19L79,89"
      android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>

이 줄을 제거하여 해결

    android:viewportWidth="Infinity"
    android:viewportHeight="Infinity"

2

@Izabela Orlowska가 지적한 것처럼 : 내 경우에는 gradle 캐시 폴더에서 찾을 수없는 일부 파일로 인해 문제가 발생했습니다. (Windows OS)

기본 gradle 경로는 내 사용자 폴더 안에있었습니다. 경로는 움라우트와 공백을 포함했습니다. 움라우트 또는 경로에 공백이없는 새로 만든 폴더로 설정 GRADLE_HOMEGRADLE_USER_HOME환경 변수를 사용 하여 gradle 폴더를 옮겼 습니다. 이것은 나를 위해 문제를 해결했습니다.


2

나는 여기와 다른 많은 사이트에서 제안 된 모든 것을 시도했지만 결국 문제는 Bitdefender 차단 적응에 문제가 있음을 알았습니다 ....

Bitdefender를 설치 한 경우 aapt & aapt2 " Application Access "를 개별적 으로 켜야 합니다.

이것이 사용되기를 바랍니다.


2

Android Studio 3.0.1의 Kotlin 프로젝트에서 개별 Android 구현 테스트 또는 테스트 클래스를 실행하려고 시도한 후 (홈통에서 실행 아이콘을 클릭하여)이 오류가 발생하면 대신 오류를 해결할 수 있습니다. 전체 테스트 패키지 (테스트 패키지를 마우스 오른쪽 단추로 클릭하고 "다음에서 테스트 실행 ..."을 선택)

Android Studio 3.0.1의 알려진 버그로 인해 IDE에서 Kotlin 구현 테스트를 일반 JUnit 테스트로 실행하여 OP 오류 메시지가 내 컴퓨터에 표시됩니다. 버그는 https://issuetracker.google.com/issues/71056937 에서 추적됩니다 . Android Studio 3.1 Canary 7에서 수정 된 것으로 보입니다.


2

다른 사람들이 제안한 것처럼

android.enableAapt2=false

가장 일반적인 솔루션입니다.

하지만 제 경우에는 compileSdkVersionbuildToolsVersion의 버전이 다르기 때문에 오류가 발생 했습니다. .

메이저 버전이 동일하게 유지되도록하십시오.


"compileSdkVersion and buildToolsVersion"첫 번째 점검 사항
vgulkevic

돈`t이 android.enableAapt2 = false를 사용
Saurabh Gaddelpalliwar

이 android.enableAapt2 = false를 사용하지 마십시오. 이것은 해결책이 아닙니다. Build Output 상자에 정확하게 표시되는 오류를 찾고 Toggle view를 클릭하여 정확한 오류 또는 예외 사용을 찾으십시오. compileSdkVersion 28 buildToolsVersion "28.0.3"
Saurabh Gaddelpalliwar

2

프로젝트 이름이 매우 길고 프로젝트를 저장 한 위치가 추가되면이 오류가 발생했습니다. 파일 이름이 시스템 한계를 넘지 않도록 프로젝트를 다른 위치로 옮기면 오류가 해결되었습니다.

C:\Users\<UserName>\AndroidStudioProjects\From Github\AdvancedAndroid_Emojify-TLIB.02-Exercise-DetectFaces\AdvancedAndroid_Emojify-TLIB.02-Exercise-DetectFaces\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml
Error:error: file not found.
Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:Execution failed for task ':app:mergeDebugResources'.
Error: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details

2

나는 또한 그런 문제가 있었다. 원본은 내 컴퓨터의 시스템 트레이이 경로입니다.

C : \ Users \ '특수 문자 표시'\ .android가 중국어로 표시되었습니다.

이제 경로를 다음과 같이 변경했습니다.

C : \ Users \ hjc \ .android.

그 이유는 특수 문자의 문제이기 때문에 자갈 appt2Exception 문제가 발생합니다.


이것은 지금 수정되었습니다. android gradle plugin 3.2.0-alpha11 이상으로 업데이트하면 파일 경로에서 ASCII가 아닌 문자로 작동합니다.
Izabela Orlowska

2

나는 비슷한 문제가 있었다. 그것은 gradle의 캐시 (Linux의 ~ / .gradle / caches)를 삭제하여 해결되었습니다. 이로 인해 안드로이드 스튜디오는 모든 것을 다시 다운로드하고 다시 생성해야했습니다.


2

프로젝트를 닫고 android studio를 다시 시작하면이 문제가 해결되었습니다.

다시 시작하는 동안 android studio는 누락 된 SDK를 다운로드해야한다고 알렸으므로 일단 해결되면 문제가 해결되었습니다.


2

이것이 아직 당신에게 대답했는지 확실하지 않지만 무게를 allow 수 있습니다. 최근에 비슷한 문제에 직면했으며 logcat 옆의 빌드 탭에서 정확한 문제를 지적 할 수있었습니다. 내 문제는 XML의 fontfamily 오류로 인해 발생했습니다. 2018 년 3 월 업데이트와 함께 최신 버전의 Android Studio를 사용하고 있습니다.


2

src/main/res/raw디렉토리 에서 유효한 파일 유형을 사용해야합니다 . 필자의 경우 .mov 파일을 다른 파일과 함께 res / raw 디렉토리에 복사했습니다. 문제는 aapt가 .mov 파일을 처리하려고 시도했지만 파일로 무엇을 해야할지 몰랐다는 것입니다.


2

정확히 같은 문제가 발생했습니다 : Android Studio 3.1.2로 업데이트 한 후 프로젝트가 AAPT2 오류로 컴파일되지 않아 참조 가능한 드로어 블 중 일부를 알려줍니다. styles.xml 찾을 수 없다는 메시지가 표시됩니다. AAPT2 비활성화는 더 이상 해결책이 아닙니다. 설정이 더 이상 사용되지 않으며 2018 년 말에 제거 될 것입니다.

Culprit은 완전히 관련이없는 layout.xml파일 에서 xml 선언 직전에 빈 줄이었습니다 ... 그래서 layout.xml파일은 다음과 같이 시작되었습니다.

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

빈 줄을 제거하고 모든 것이 다시 매력처럼 작동했습니다. 믿을 수 없을 것 같지만 사실입니다.

파일이 XML 줄로 시작되지 않았기 때문에 Android Studio에서 실제로 경고를 표시했습니다 (빈 줄 때문에). 그러나 편집기에서 파일을 열 때만 경고가 표시됩니다.


2

이 오류 메시지 (AAPT2 오류 : 자세한 내용은 로그 확인)는 실제 문제가 무엇인지 알려주지 않기 때문에 도움이되지 않습니다.

필자의 경우 리소스 XML 드로어 블 파일이 누락 되었기 때문입니다.

error: failed linking file resources.

org.gradle.tooling.BuildException: Failed to process resources, see aapt output above for details.

XML 파일의 변경 사항을 원치 않았기 때문에 알았습니다. 이번에는 더 유용한 메시지가 나타납니다.

error: resource drawable/ic_filter_off (aka com.xxx:drawable/ic_filter_off) not found.

Message{kind=ERROR, text=error: resource drawable/ic_filter_off (aka com.xxx:drawable/ic_filter_off) not found., sources=[C:\code\xxx\app\src\main\res\layout\app_bar_main.xml:69], original message=, tool name=Optional.of(AAPT)}

2

필자의 경우 실제 문제는 이미지 자산을 생성하여 프로젝트의 런처 밉맵 아이콘을 생성 한 후 생성 된 파일 ic_launcher_foreground.xml 에 오류가있는 것입니다 (잘못 생성됨). 파일 끝에서 닫는 xml 태그가 누락되었으며 </ vector> 가 누락되었습니다.


2

아래 사항을 확인하고 시도하십시오. 문제가 해결되어야합니다.

  1. 먼저 프로젝트 표시와 관련된 오류가 있는지 여부를 빌드 창의 맨 아래에서 로그를 확인하십시오. 오류가 표시되면 모든 문제를 해결하십시오. 이제 빌드하고 다시 실행하여 모든 오류가 수정됩니다. 안드로이드 gradle 플러그인을 3.2.0으로 변경하지 않고 aapt2 문제를 제거합니다.

  2. 둘째, 빌드 로그에 프로젝트 관련 오류가 표시되지 않지만 여전히 aapt2 오류가 표시되면 아래 단계에 따라 수정할 수 있습니다.

build.gradle아래와 같이 프로젝트 레벨 파일 에서 안드로이드 gradle 플러그인을 업데이트하십시오 .

classpath 'com.android.tools.build:gradle:3.2.0-alpha13'

이제 업데이트하십시오 android.enableAapt2=true. 그런 다음 프로젝트를 확인하고 빌드하십시오.

이러한 단계 중 하나는 적응 관련 문제를 해결하는 데 효과적입니다.


2

Kotlin을 사용하는 경우 xml 파일의 일부 실수로 인해 오류가 발생합니다. kotlin에서 XML 오류를 찾기가 매우 어려우면 빌드가 실패합니다. 정확한 오류 로그를 알고 싶다면 Android Studio Terminal에서 아래 명령을 실행하면 오류를 쉽게 수정할 수 있습니다.

./gradlew clean
./gradlew assemble

실제로 터미널에서 이것을 사용하면 정확한 오류가 표시됩니다. 제 경우에는 빈 가시성 속성이었습니다. 감사합니다!
Rami Jemli

2

동일한 오류 AAPT2 오류가 발생했습니다. 자세한 내용은 로그를 확인하고 가장 일반적인 솔루션에 따라 위의 솔루션을 적용했으며 gradle.properties를 열고 행을 추가했습니다.

android.enableAapt2 = 거짓

해결 방법이 있지만 오류 '프로세스'명령 'D : \ Android \ SDK \ 빌드 \ 도구-\ 27.0.3 \ aapt.exe'가 0이 아닌 종료 값 1로 완료되었습니다.

그러나 많은 검색 후 레이아웃의 xml 파일에 다음과 같이 레이아웃의 xml 파일에서 반복되는 줄에 문제가 있음을 발견했습니다.

xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"

xml 파일에서 반복 행을 제거하고 프로젝트를 다시 빌드하고 완료하십시오.


2

프로젝트에서 다음 사항을 확인하십시오.

  • 파일을 시작할 때 XML 파일에 공백이 없는지 확인하십시오.

  • 드로어 블 파일에 대문자 나 특수 기호와 같은 문제가 없는지 확인하십시오.

  • aapt2.exe가 지속적으로 누락되면, 전체 PC를 스캔하십시오. adb.exp 또는 aapt2.exe를 제거하는 바이러스가있을 수 있습니다.

솔루션을 얻을 수 있기를 바랍니다.

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