web-dev-qa-db-ja.com

android studio 3.0エラー:スタイル属性 '@Android:attr / windowEnterAnimation'が見つかりません

Android studio 3.0のアップグレードに移行する手順に従いました。

build.gradle

    flavorDimensions 'dimensionless'

D:\ R\merchant\projapp\popuplibrary\build\intermediates\bundles\debug\res\values\values.xmlエラー:(28、5)エラー:スタイル属性 '@Android:attr/windowEnterAnimation'が見つかりません。
C:\ Users\user.gradle\caches\transforms-1\files-1.1\appcompat-v7-25.3.1.aar\f7bb6db2aa55d14683d1c9ddd8d49e03\res\values\values.xmlエラー:Java.util.concurrent .ExecutionException:com.Android.tools.aapt2.Aapt2Exception:AAPT2エラー:詳細についてはログを確認してください
エラー:タスク ':popuplibrary:processDebugAndroidTestResources'の実行に失敗しました。 aaptの実行に失敗しました

同じ問題に直面しているが、それはapccompatライブラリでもあり、私の場合は問題を引き起こしています。

スタイル属性 '@Android:attr/windowEnterAnimation'が見つかりません


gradlewrapper:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.Zip

build.gradleアプリ:

   productFlavors {
                dev {
                    applicationIdSuffix '.dev'
                    versionName "1.0"
                    versionNameSuffix '-dev'
                    }
qa {
                    applicationIdSuffix '.qa'
                    versionName "1.0"
                    versionNameSuffix '-qa'
                    }
}


dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.Android.support', module: 'support-annotations'
    })


    compile 'com.Android.support:appcompat-v7:25.3.1'
    compile 'com.Android.support:design:25.3.1'
    compile 'com.Android.support:cardview-v7:25.3.1'
    compile 'com.Android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'
    //Butter Knife
    compile 'com.jakewharton:butterknife:8.7.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.7.0'

    compile project(':popuplibrary')
}
13
AskQ

この問題は Android Gradle Plugin 3.0. の移行ガイドに記載されています。

@リソース参照シンボルの誤った使用

リソース参照シンボル(@)を省略するか、誤って配置すると、AAPT2はビルドエラーをスローするようになりました。たとえば、以下に示すように、スタイル属性を指定するときにシンボルを省略した場合を検討してください。

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
  ...
  <!-- Note the missing '@' symbol when specifying the resource type. -->
  <item name="colorPrimary">color/colorPrimary</item>
</style>

モジュールをビルドすると、AAPT2は次のビルドエラーをスローします。

ERROR: expected color but got (raw string) color/colorPrimary

さらに、以下に示すように、Android名前空間からリソースにアクセスするときに、シンボルを誤って含めるかどうかを検討してください。

...
<!-- When referencing resources from the 'Android' namespace, omit the '@' symbol. -->
<item name="@Android:windowEnterAnimation"/>

モジュールをビルドすると、AAPT2は次のビルドエラーをスローします。

Error: style attribute '@Android:attr/windowEnterAnimation' not found

後半で説明した間違いを犯さなかった場合、おそらく古いバージョンのappcompat-v7が原因です。

いいもの

新しいサポートライブラリに更新し、25.4.0または26.1.0または27.0.0を選択します。 compileSdkVersionと一致することを確認してください。

注:27.0.0より古いものに更新することを選択した場合、 この問題 に遭遇する可能性があります。

悪い人

何らかの理由で25.3.1またはそれ以上で動けない場合は、 disable AAPT2 を使用できます。

AAPT2の使用中に問題が発生した場合は、Android.enableAapt2=falseファイルにgradle.propertiesを設定し、コマンドラインから./gradlew --stopを実行してGradleデーモンを再起動することで無効にできます。

28
Eugen Pechanec

Android/build.gradleでsubprojects {}ブロックを使用し、メインプロジェクトで使用される最近のAndroid compileSdkVersionおよびbuildToolsVersionを設定して、サブプロジェクトがこれらのバージョンを使用するようにしますも。

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("Android")) {
            Android {
                compileSdkVersion 27
                buildToolsVersion "27.0.3"
            }
        }
    } }
0
Olivier

追加 Android.enableAapt2=false の中に gradle.propertiesファイルはこの問題を修正します。

0
Makvin