web-dev-qa-db-ja.com

Android Studio 3.0.1のAAPT2エラー

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...

私は解決策を見つけることができませんでした、誰かが私を助けてくれますか?

6
Akshat Chawla

Android.enableAapt2 = false問題を一時的に隠すためにこの手順を実行しないでください。 Aapt1は間もなく廃止され、2018年末までにAapt2を使用する必要があります。

これは、gradleビルドツールの問題です。 gradleとgradleツールを更新するだけです。

classpath 'com.Android.tools.build:gradle:3.3.0-alpha02'' Projectレベルgradleの依存タグ内で使用し、gradleバージョン4.8を使用しています。これで問題が解決しました。

追加無効インスタントラン、これが修正されなかった場合

5
emilpmp

AAPT2の「整形式でない」エラーは、XMLファイルの1つが整形式ではないことを意味し、おそらく閉じ括弧などが欠落しています。エラーの上に、どのファイルから来たのかを示す必要があります。 res /ディレクトリとその中のファイルを見てください。

2

これは古い質問であり、AAPT2エラーを見つける正しい方法を提供するボディはないようです

AAPT2エラー:詳細についてはログを確認してください

ケースごとに異なります。

したがって、正しいエラーを見つけるには、 here の提案に従ってassembelDebugを実行する必要があります。

AssembleDebugを実行するための次の画像を参照してください。

enter image description here

私の場合、実際にはPNGファイルが破損しており、リリースビルドでのみ失敗しました。だから私はその問題を見つけるためにassembleReleseを実行する必要があります。

1
UdayaLakmal

インスタントランを無効にすると、動作する場合があります。私にとってはうまくいった

0
Manish Patiyal

あなたの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」

これで問題は解決しました。

0
Hidayat Ullah

これは私を助けました。 build.gradle(Module:app)でこれらを追加する

defaultConfig {
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
}
0
Nbn

私の場合、解決策は少しトリッキーで面白いものでした。 RelativeLayoutTextViewを持つ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が見つかりません」という行にありました)。

解決策は、次のようにProgressBarTextViewの場所を単純に反転させることでした。

<?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>
0
cr05s19xx