Android Studio 3.0.1を使用して実行している「hello world」アプリケーションを取得し、次のAAPT2エラー出力を取得しようとしています。
Error:(16) error: not well-formed (invalid token).
Error:(16) not well-formed (invalid token).
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...
私は解決策を見つけることができませんでした、誰かが私を助けてくれますか?
Android.enableAapt2 = false問題を一時的に隠すためにこの手順を実行しないでください。 Aapt1は間もなく廃止され、2018年末までにAapt2を使用する必要があります。
これは、gradleビルドツールの問題です。 gradleとgradleツールを更新するだけです。
classpath 'com.Android.tools.build:gradle:3.3.0-alpha02'' Projectレベルgradleの依存タグ内で使用し、gradleバージョン4.8を使用しています。これで問題が解決しました。
追加無効インスタントラン、これが修正されなかった場合
AAPT2の「整形式でない」エラーは、XMLファイルの1つが整形式ではないことを意味し、おそらく閉じ括弧などが欠落しています。エラーの上に、どのファイルから来たのかを示す必要があります。 res /ディレクトリとその中のファイルを見てください。
これは古い質問であり、AAPT2エラーを見つける正しい方法を提供するボディはないようです
AAPT2エラー:詳細についてはログを確認してください
ケースごとに異なります。
したがって、正しいエラーを見つけるには、 here の提案に従ってassembelDebugを実行する必要があります。
AssembleDebugを実行するための次の画像を参照してください。
私の場合、実際にはPNGファイルが破損しており、リリースビルドでのみ失敗しました。だから私はその問題を見つけるためにassembleReleseを実行する必要があります。
インスタントランを無効にすると、動作する場合があります。私にとってはうまくいった
あなたのgradle.properties
この行を追加Android.enableAapt2=false
私は同じ問題を抱えていた、私は変更しました
compileSdkVersion 22からcompileSdkVersion 25
targetSdkVersion 22からtargetSdkVersion 25
実装「com.Android.support:appcompat-v7:22」から実装「com.Android.support:appcompat-v7:25」
これで問題は解決しました。
これは私を助けました。 build.gradle(Module:app)でこれらを追加する
defaultConfig {
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
}
私の場合、解決策は少しトリッキーで面白いものでした。 RelativeLayout
とTextView
を持つProgressBar
がありました。 Progressbar
は、次のようにTextView
の上にあります。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="vertical"
Android:weightSum="1"
tools:context="com.caoa.yakokoe.yakokoe.ui.splash.SplashActivity">
<RelativeLayout
Android:layout_width="match_parent"
Android:layout_height="0dp"
Android:layout_weight="0.5">
<ImageView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_centerInParent="true"
Android:contentDescription="@string/content_desc_logo_green"
Android:src="@drawable/logo_green" />
</RelativeLayout>
<RelativeLayout
Android:layout_width="match_parent"
Android:layout_height="0dp"
Android:layout_weight="0.5">
<ProgressBar
Android:id="@+id/splash_progress_bar"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_above="@id/splash_text"
Android:layout_centerHorizontal="true"
Android:indeterminate="true"
Android:visibility="gone" />
<TextView
Android:id="@+id/splash_text"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_alignParentBottom="true"
Android:layout_marginBottom="24dp"
Android:layout_marginTop="16dp"
Android:text="@string/splash_text_default"
Android:textAlignment="center"
Android:visibility="gone" />
</RelativeLayout>
</LinearLayout>
これはある種のエラーを投げました(それは何であるか忘れていましたが、「layout_aboveのidが見つかりません」という行にありました)。
解決策は、次のようにProgressBar
とTextView
の場所を単純に反転させることでした。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="vertical"
Android:weightSum="1"
tools:context="com.caoa.yakokoe.yakokoe.ui.splash.SplashActivity">
<!-- Content here -->
<RelativeLayout
Android:layout_width="match_parent"
Android:layout_height="0dp"
Android:layout_weight="0.5">
<TextView
Android:id="@+id/splash_text"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_alignParentBottom="true"
Android:layout_marginBottom="24dp"
Android:layout_marginTop="16dp"
Android:text="@string/splash_text_default"
Android:textAlignment="center"
Android:visibility="gone" />
<ProgressBar
Android:id="@+id/splash_progress_bar"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_above="@id/splash_text"
Android:layout_centerHorizontal="true"
Android:indeterminate="true"
Android:visibility="gone" />
</RelativeLayout>
</LinearLayout>