오류 : com.android.tools.aapt2.Aapt2Exception : AAPT2 오류 : 자세한 내용은 로그 확인
이것은 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
업데이트 2 (이 방법을 따르십시오)
지금 이러면 안됩니다. 대신 모든 오류를 수정하십시오. 이것은 제거 될 때까지 해결 방법 일뿐입니다. 그런 다음 어쨌든 수동으로 오류를 수정해야합니다.
gradle 플러그인을 업데이트 3.3.0-alpha06
하여 문제가 해결되는지 확인하십시오.
업데이트 1 :
ASCII가 아닌 문자 문제가 AAPT2 및 Android gradle 플러그인에서 수정되었습니다 (예!). AAPT2를 비활성화하는 대신 이제 Android gradle 플러그인 버전 3.2.0-alpha11 이상을 사용할 수 있으며 더 이상이 오류가 발생하지 않아야합니다.
원래 답변
gradle 3.0에 Android 플러그인을 사용하면 Aapt2가 기본적으로 활성화됩니다.
이것은
증분 리소스 처리 향상
여기에 명시된대로 .
그러나 문제가 발생하면 이것을 추가하여 이전 버전으로 다시 전환 할 수 있습니다 gradle.properties
android.enableAapt2=false
최신 정보
이러한 문제를 해결하는 새로운 버전의 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>
XML 레이아웃에 오류가있었습니다. 따라서 XML 레이아웃에서 오류를 확인하십시오.
안드로이드 스튜디오에서 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를 다시 시작해야했습니다.
내 문제는 이미지 파일 이름이 .9.png 로 끝나기 때문 입니다. 결말을 .png로 변경 했는데 문제가 사라졌습니다. Gradle 콘솔의 스택 추적에서 힌트를 얻었습니다. 최상위 메시지는 "태스크 실행 실패 : app : mergeDebugResources "이고 맨 아래 메시지는 "com.android.builder. png .AaptProcess $ NotifierProcessOutput.out"입니다.
Gradle이 더 유용한 오류 메시지를 출력하는 날을 기대합니다 ...
데이터 바인딩을 사용하고 레이아웃 태그를 선언 할 때이 문제가 발생했습니다. 나는 그것이 조금 늦었다는 것을 알고 있지만,이 문제가 발생하는 누군가 를 위해, 많은 시도 후에 문제를 해결하기 위해 내가 한 일은 루트 바인드에서 데이터 바인딩을 사용하지 않을 때의 예입니다.
<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
나를 위해 작동하지 않았으므로 모든 것을 제거하고 레이아웃 태그를 넣고 데이터 바인딩을 사용할 때 오류가 발생하는 이유를 알아 내려고 해결책을 찾았습니다. 그것이 도움이되기를 바랍니다.
여기에 같은 문제가 있습니다. @Izabela Orlowska가 지적한 것처럼이 문제는 경로의 특수 문자 (android grandle 파일, 리소스 등)에 의해 발생합니다.
나에게 : ří
폴더 이름을 사용하면 모든 문제가 발생했습니다. 경로에 특수 문자가 없는지 확인하십시오. AAPT2 비활성화는 일시적인 "솔루션"입니다. 프로젝트 경로에 ASCII가 아닌 문자가 포함되어 있습니다 .Android 스튜디오
오류를 3 단계로 수정했습니다
. 1 문제를 확인했습니다.
2. 올바른 문자열 / 텍스트를 제공했습니다. 원인입니다.
3. 프로젝트를 정리했습니다. BUILD에서 찾을 수 있습니다.
나중에 어느 시점에서 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 이상에서 문제가 해결되었습니다.
중요 업데이트
이 줄을 프로젝트에 다른 답변으로 추가하지 마십시오. 최신 Gradle 버전 에서 이미 해결 되었기 때문입니다 .
You can update your build gradle version in Project level build.gradle
to latest.
buildscript {
dependencies {
// choose latest if available
classpath 'com.android.tools.build:gradle:3.3.0-alpha06'
}
}
and gradle-wrapper.properties
// choose latest if available
distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-all.zip
That's All! Sync and Run, Bingo!
More info Android Documentation
If you add, you will get an warning android.enableAapt2=false
WARNING: 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.
I also encountered this error. For me, it was when changing the target SDK from 26 down to 25. I was able to fix the problem by changing the appcompat dependency version from
implementation 'com.android.support:appcompat-v7:26.1.0'
to
implementation 'com.android.support:appcompat-v7:25.4.0'
This will allow the compiler to access the styling attributes that it is currently unable to find. This will actually fix the problem instead of masking the real issue as Enzokie suggested.
In my case i was using wrong color code #CC00000
which is invalid because it has 7 digit but color code should have 3 or 6 or 8 digit plus # prefix
Disabling the AAPT2 mght cause issue in further development, In my case the error was generated when I created the app icon.
<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"/>
I solve it by removing this line
android:viewportWidth="Infinity"
android:viewportHeight="Infinity"
As @Izabela Orlowska pointed out: In my case the problem occurred due to some files that could not be found inside the gradle cache folder. (Windows OS)
The default gradle path was inside my user folder. the path contained umlauts and a space. I moved the gradle folder by setting GRADLE_HOME
and GRADLE_USER_HOME
environment variable to some newly created folder without umlauts or spaces in path. This fixed the problem for me.
I tried everything suggested on here and many other sites, I eventually figured out that the problem was with Bitdefender blocking aapt....
If you have Bitdefender installed then you need to turn aapt & aapt2 "Application Access" on individually.
Hope this is of use.
If you've seen this error after trying to run individual Android implementation tests or test classes (by clicking on the run icon in the gutter) in a Kotlin project in Android Studio 3.0.1, you can get around the error by instead running the full test package (by right-clicking on the test package and choosing "Run tests in...").
There is a known bug in Android Studio 3.0.1 that causes the IDE to run Kotlin implementation tests as regular JUnit tests, which caused the OP's error message to get shown on my machine. The bug is tracked at https://issuetracker.google.com/issues/71056937. It appears to have been fixed in Android Studio 3.1 Canary 7.
As suggested by others,
android.enableAapt2=false
is the most common solution.
But in my case, the error was due different versions in compileSdkVersion and buildToolsVersion.
Make sure that the major version is maintained the same.
I was getting this error when the project name was very long, and the location I was saving the project in, added to it. Moving the project to another location so that the file names are not crossing the system limit resolved the error for me.
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
I have also had such a problem, the original is my computer's system tray this path :
C: \ Users \ 'appear special characters' \ .android appeared in Chinese,
and now I changed the path to :
C: \ Users \ hjc \ .android.
The reason is the problem of special characters.It is for this reason that leads to gravel appt2Exception problems
I had a very similar problem. It was solved by deleting gradle's cache (~/.gradle/caches on linux), which forced android studio to re download and re generate everything.
Closing the project and restarting android studio fixed this issue for me.
While restarting, android studio notified that it needed to download missing SDKs, so once that was taken care of ,the issue was fixed.
I am not sure if this has been answered yet for you but allow me to weigh in. I confronted a similar problem recently and I was able to pinpoint the exact problem from the build tab next to the logcat. My problem was caused by a fontfamily error in the XML. I am using the latest version of Android Studio with the March 2018 update.
Ensure that you use valid file types in your src/main/res/raw
directory. In my case I had copied a .mov file along with a bunch of other files into my res/raw directory. I suspect the issue was that aapt was trying to process the .mov file and did not know what to do with it.
I had exactly the same issue: After updating to Android Studio 3.1.2 my project wouldn't compile with an AAPT2 error telling me some of my drawables which are referenced by styles.xml
could not be found. Disabling AAPT2 isn't a solution anymore, since the setting is deprecated and will be removed at the end of 2018.
Culprit was an empty line just before the xml decleration in a totally unrelated layout.xml
file... So the layout.xml
file started like this:
//empty line//
<?xml version="1.0" encoding="utf-8"?>
Removed the empty line and everything worked like a charm again. Unbelievable and unlikely, but true.
Android Studio actually gave a warning because the file didn't start with the xml decleration (because of the empty line). But the warning is only visible when the file is opened in the editor.
This error message (AAPT2 error: check logs for details ) is not helpful because it doesn't tell you what the real problem is.
In my case, it was due to a missing resource XML drawable file.
error: failed linking file resources.
org.gradle.tooling.BuildException: Failed to process resources, see aapt output above for details.
I only figured out because I undid the changes in the XML file, and this time I got a more helpful message:
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)}
In my case the real problem was that after generating Image Asset to generate launcher mipmap icon for my project, the generated file ic_launcher_foreground.xml had error inside (was wrongly generated). There was missing closing xml tag in the end of file, < / vector> was missing.
Check and try below things. Issue should be resolved.
First of all check your log from bottom of the build window whether any error related to project showing or not. If error showing then fix all of those. Now build and run again fix all of the error comes up. It will eliminate aapt2 issue without changing android gradle plugin to 3.2.0.
Secondly if there is not any project related error showing in the build log but still showing aapt2 error then you can fix it by following below steps.
Update your android gradle plugin in your project level build.gradle
file like below:
classpath 'com.android.tools.build:gradle:3.2.0-alpha13'
Now update android.enableAapt2=true
. Then check and build your project.
Any of these steps should work to fix aapt related issues.
If you are using Kotlin getting error because of some mistakes in xml files. In kotlin its very hard to find xml errors, build getting fail simply . To know the exact error log run below command in Android Studio Terminal and it is easy to fix the errors.
./gradlew clean
./gradlew assemble
I got same error AAPT2 error: check logs for details, and i applied above solutions, as per most common solution, i was opened gradle.properties and add line
android.enableAapt2=false
for solution, but i got an error Process 'command 'D:\Android\sdk\Sdk\build-tools\27.0.3\aapt.exe'' finished with non-zero exit value 1
But after many searches i found that there is problem in layout's xml file that i was repeat lines in layout's xml file which is as below:
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
Remove Repeat lines from xml file and rebuild project and Done.
Check following things in your project:
파일을 시작할 때 XML 파일에 공백이 없는지 확인하십시오.
드로어 블 파일에 대문자 나 특수 기호와 같은 문제가 없는지 확인하십시오.
aapt2.exe가 지속적으로 누락되면, 전체 PC를 스캔하십시오. adb.exp 또는 aapt2.exe를 제거하는 바이러스가있을 수 있습니다.
솔루션을 얻을 수 있기를 바랍니다.
'IT story' 카테고리의 다른 글
두 개의 뷰 컨트롤러 사이에서 통신하기 위해 간단한 델리게이트를 어떻게 설정합니까? (0) | 2020.06.25 |
---|---|
UILabel 주위에 테두리를 그리는 방법은 무엇입니까? (0) | 2020.06.25 |
먼저 자녀의 부모에서 removeView ()를 호출하십시오. (0) | 2020.06.25 |
Perl 프로그램에 명령 행 인수를 전달하려면 어떻게해야합니까? (0) | 2020.06.25 |
GitHub 프로젝트에서 특정 커밋을 얻는 방법 (0) | 2020.06.25 |