Android Studio 3.0でAAPT2のエラーになった時の対応策例



どうもヨンです。

連日の投稿は無理と思いつつ目標は変えません!。

先日(2017年11月23日)Android Studioも3.0.1にバージョンアップして、

Errorがあるため実行できなかったので備忘録としての書いてます。

エラーの原因が初心者過ぎますが参考までにどうぞ、

内容は以下の4点です。

  1. 事象(design editor is unavailable until asuccessful build)
  2. とりあえずの対応策(AAPT2を無効にする)
  3. 原因(.gradleの場所が悪い)
  4. 最終対策(.gradleの場所を変える)



1. 事象(design editor is unavailable until asuccessful build)

まず事象として、レイアウトのdesigng画面に以下メッセージが出て作ってた画面が表示されない。

design editor is unavailable until asuccessful build

Google先生に翻訳してもらうと

ビルドが成功するまでデザインエディタは使用できません

はい、以下画像の通り見れば使えないのは分かりますよ!

design editor is unavailable until asuccessful build

なんでデザインエディタが使えないんだ、と下を見ると

Messagesに2つErrorが出てました。

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

またまた、Google先生に翻訳してもらうと

エラー:java.util.concurrent.ExecutionException:com.android.tools.aapt2.Aapt2Exception:AAPT2エラー:詳細を確認するログ

もう一つが

Error:Execution failed for task ‘:app:mergeDebugResources’.
> Error: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details

またまた、Google先生に翻訳してもらうと

エラー: ‘:app:mergeDebugResources’タスクの実行に失敗しました。
>エラー:java.util.concurrent.ExecutionException:com.android.tools.aapt2.Aapt2Exception:AAPT2エラー:詳細を確認するログ

つまりAAPT2でエラーが出てると…

2. とりあえずの対応策(AAPT2を無効にする)

ならばとりあえずAAPT2無効にすれば、ええんじゃないとおもいつつ…

念のため、Android Studioの公式ページでAAPT2について検索すると

Android Studio 3.0の更新内容のページで

•Improved incremental resource processing using AAPT2, which is enabled by default. If you are experiencing issues while using AAPT2, you can disable it by setting android.enableAapt2=false in your gradle.properties file and restarting the Gradle daemon by running ./gradlew –stop from the command line.

Google先生に翻訳してもらうと

•デフォルトで有効になっているAAPT2を使用した増分リソース処理の改善。 AAPT2の使用中に問題が発生している場合は、gradle.propertiesファイルでandroid.enableAapt2 = falseを設定し、コマンドラインから./gradlew –stopを実行してGradleデーモンを再起動して無効にすることができます

つまり、Android Studio 3.0でAAP2がデフォルトで有効になりました。

そして問題があれば、”android.enableAapt2=false“を設定して

AAPT2を無効にして再起動しろと。

予想通りと言えばいいのか、安直な解決策は書いてありました。

ということで、gradle.propertiesを開いてに

下の画像の通り適当な場所に以下を書いてSync Nowを実行と…

android.enableAapt2=false

Android Studio gradle.properties
最後にSync Nowをする。

無効にした結果、無事ビルドが成功してデザインエディタは使用出来るようになりました。

3.原因(.gradleの場所が悪い)

ただし、せっかくのAAP2です(機能はだよく分かりませんが(-_-;))。

公式での説明の通りにせっかくリソース処理の改善がされているなら使うべきでしょう。

ということで、せっかくなので原因を探りました。

Android Studio の画面下にある Grandle Consoleで詳細を見ると

Error:14:05:47.129 [ERROR] [org.gradle.api.Project] C:\Users\?M?G\.gradle\caches\transforms-1\files-1.1\appcompat-v7-26.1.0.aar\bf373068b3bbae77a9589323e87637db\res\drawable-hdpi-v4\abc_textfield_search_default_mtrl_alpha.9.png: error: file not found.

とか

14:05:47.129 [ERROR] [org.gradle.api.Project] C:\Users\?M?G\.gradle\caches\transforms-1\files-1.1\appcompat-v7-26.1.0.aar\bf373068b3bbae77a9589323e87637db\res\drawable\abc_btn_colored_material.xml: error: file not found.

とか、みたいなエラーが大量に出てました。

はいっ!原因は明らかですね。

C:\Users\?M?G\.gradle\…

も も 文字化けしとる…とそしてファイルが見つからない(file not found.)と…。

文字化けしてるのはWindwsのアカウント名のとこですね。

.gradleフォルダがデスクトップとかマイドキュメントとかのフォルダがあるとこが

デフォルトになってるみたいです。

今まではフォルダの場所に日本語が入っていても大丈夫だったけど

AAP2はダメです。ということでしょう。

PC設定の時マイクロソフトのアカウント作成で本名を漢字で入れっちゃったせいですね。

4. 最終対策(.gradleの場所を変える)

今回の原因は.gradleが置かれるデフォルトが以下の場所でユーザー名が日本語だとダメと。

C:\Users\[ユーザー名]

なので、そのまま新しく英字のアカウント作ってやるか…

いや…さすがにめんどくさ過ぎる。

なので、.gradleフォルダを日本語のを使ってない場所に設定するほかありません。

今回は適当に以下のフォルダを作成して設定しました。

C:\project\

恐らく元の.gradleフォルダは名前が長すぎるとかの理由で移動ができないので削除!

(1ギガくらいはあるので(-_-;))

設定すると勝手にフォルダ作られて、各種ファイルも勝手に置かれて、

エラーなくビルドできます。

ただ現状、起動するとたまに時間がかかりすぎと出てエラーになるので、
とりあえず今は、
「Tools」「-Android」-「Sync Project with Gradle Files 」を実行してます。

3回目 1日目 お わ り