AAPT2error:checklogsfordetailsソリューション
他の方と一緒に仕事をしていて、いつもxmlファイルのエラーに遭遇しています。AAPT2error:checklogsfordetailsと、プロジェクトのビルドがエラーを報告し、コードが追跡できないので、エラーがどこから来るのか追跡するのは困難です。私は偶然にも私の長年の問題を解決するために、このブログを見つけ、今、自分の学習として、それを共有するだけでなく、助けを必要とする人々を助けるために願って、以下は、元のリンクを添付しました。
http://blog.sina.com.cn/s/blog_5de73d0b0102yffd.html
AAPTはAndroid Asset Packaging Toolのフルネームで、アプリの構築、さらにはAndroidシステムの構築に欠かせないツールです。その目的は、すべてのリソースファイルを圧縮してAndroid APKにパッケージすることです。Android SDKディレクトリで見つけることができます。
AAPT2は、Android Studio 3.0からデフォルトのリソースパッケージングツールとして使用されているAAPTの全く新しいバージョンです。
<スパン アプリを開発していると、以下のようなAAPT2エラーに遭遇することがあります。
原因:com.android.builder.internal.aapt.v2.Aapt2Exception.Aapt2Exceptionが発生しました。AAPT2 エラー: 詳細はログを確認してください。
at com.android.builder.png.AaptProcess$NotifierProcessOutput.handleOutput(AaptProcess.
at com.android.builder.png.AaptProcess$NotifierProcessOutput.err(AaptProcess.
at com.android.builder.png.AaptProcess$ProcessOutputFacade.err(AaptProcess.
at com.android.utils.GrabProcessOutput$1.run(GrabProcessOutput.
ウェブ上では、AAPT2を無効化することでエラーが解消されるという意見が多く、その場合は gradle.properties ファイルに、"という行を追加してください。 android.enableAapt2=false "です。
しかし、Android Studio は、AAPT2 を無効にするのではなく、とにかく使用するよう促してきます:。
オプション 'android.enableAapt2' は非推奨であり、今後使用するべきではありません。
この警告を消すには 'android.enableAapt2=true' を使ってください。
<スパン 2018年末に撤去予定です。
AAPT2を無効にすることなく、これらのエラーを解決する方法を見てみましょう。
まず、AAPT2はリソースファイルをパッケージングするためのツールであり、AAPT2がエラーを報告した場合、(AAPT2の内部エラーとは関係なく)リソースファイルに何か問題があると考えて間違いないでしょう。
アプリをビルドする際、ビルドウィンドウを開き、"Toggle View"をクリックして、テキスト出力に切り換えます。
トグルは以下のようになります。
このビューでは、gradleの実行出力をはっきりと見ることができます。
この出力を見ていくことで、エラーの原因を分析することができます。
上記の出力には、次のように書かれています。
1) エラーが発生したファイルは、bedit_activity.xml です。
2) エラーの原因は、android:backgroundプロパティの値に互換性がないためです。
ファイルを開いて見てみましょう。
問題はここで明らかです。色の値が間違っていて、余分な "#" 記号があります。これを修正し、再構築すれば問題は解決します。
OK、お役に立ちましたか?
関連
-
undefinedErrorお使いのCPUは、このTensorFlowバイナリが使用するためにコンパイルされていない命令をサポートしています。AVX2 FMA
-
バンドルコマンドが見つかりません
-
Pythonではbreak文とcontinue文はifとしか使えないのでしょうか?
-
[例外処理1】ブートレイヤーの初期化でエラーが発生した
-
ruby がエラー Failed to build gem native extension を報告しました。
-
ModuleNotFoundError: tensorflow.contrib'という名前のモジュールがない ソリューション
-
AVD システムパスが見つかりません。Please define ANDROID_SDK_ROOT この問題は、必ずしもパス設定にあるわけではありません。
-
Angular.js Unknownプロバイダエラー
-
Eclipseのエラーです。未処理のイベントループ例外 Java ヒープスペース
-
mscorlib.dll で "TargetInvocationException" 型の例外が発生するが、ユーザーコードで処理されない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
android refactoring exceptionAndroid リソースリンクの失敗
-
undefinedエラーが発生しました:getaddrinfo ENOTFOUND; GETできません。
-
二重解放または破損(!prev)エラーについて
-
python reports an error: 'list' object has no attribute 'shape'
-
java lang ClassCastException java util ArrayList cannot be able to be.
-
listen tcp :8080: bind: 各ソケットアドレス(プロトコル/ネットワークアドレス/ポート)を1つだけ使用することはできません。
-
解決方法:コマンドが見つかりません。
-
アセンブリノート No.2 - jnz (または jz ) を実行するためにテストを使用する方法
-
java エラー ------ public 型は、それ自身のファイルで定義する必要があります。
-
未定義参照発生時のcmakeの扱いについて