升级到android-P后无法构建项目

时间:2018-03-13 06:35:25

标签: android gradle build android-9.0-pie

以下是我得到的错误

C:\Users\Dell\.gradle\caches\transforms-1\files-1.1\appcompat-v7-28.0.0-alpha1.aar\51cd62c84e9404bd66ab4daf252c48a1\res\values-v28\values-v28.xml
Error:(9, 5) error: resource android:attr/dialogCornerRadius not found.
C:\Users\Dell\.gradle\caches\transforms-1\files-1.1\appcompat-v7-28.0.0-alpha1.aar\51cd62c84e9404bd66ab4daf252c48a1\res\values\values.xml
Error:(252, 5) error: resource android:attr/fontVariationSettings not found.
Error:(252, 5) error: resource android:attr/ttcIndex not found.
E:\20thJune2017_7PM\trunk\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values-v28\values-v28.xml
Error:(11) error: resource android:attr/dialogCornerRadius not found.
Error:(7) resource android:attr/dialogCornerRadius not found.
Error:(11) resource android:attr/dialogCornerRadius not found.
E:\20thJune2017_7PM\trunk\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml
Error:(486) resource android:attr/fontVariationSettings not found.
Error:(486) resource android:attr/ttcIndex not found.
Error:failed linking references.
Error:java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:Execution failed for task ':app:processDebugResources'.
> Failed to execute aapt

以下是我的build.gradle(应用级别)

   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:+'
    compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha3'
    compile 'com.android.support:design:+'
    compile 'com.android.support:support-v4:+'
    testCompile 'junit:junit:4.12'
    compile 'com.squareup.retrofit2:retrofit:2.1.0'
    compile 'com.squareup.retrofit2:converter-gson:2.1.0'
    compile 'com.google.code.gson:gson:2.7'
    compile 'de.hdodenhof:circleimageview:2.1.0'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.github.fiskurgit:ChipCloud:2.1.1'
    compile 'com.google.android.gms:play-services-maps:11.4.0'
    compile 'com.squareup.okhttp3:logging-interceptor:3.3.0'
    compile 'commons-codec:commons-codec:1.10'
    compile 'com.crittercism:crittercism-android-agent:+'
    compile 'ch.hsr:geohash:1.3.0'
    compile 'com.google.firebase:firebase-messaging:11.4.0'
    compile 'com.google.firebase:firebase-core:11.4.0'
    compile 'com.google.android.gms:play-services-analytics:11.4.0'
    compile 'com.ahmedjazzar.rosetta:rosetta:1.0.1'
}

我尝试过stackoverflow的不同解决方案但没有工作。可以请你帮我。谢谢。

7 个答案:

答案 0 :(得分:10)

  

我已经回答了类似的问题here

尝试将compileSdkVersion更改为:

compileSdkVersion 28

这些属性已在此版本中添加。选中hereherehere

答案 1 :(得分:3)

删除这些行并同步:

compile 'com.android.support:appcompat-v7:+'
compile 'com.android.support:design:+'
compile 'com.android.support:support-v4:+'

然后转到文件 - >项目结构 然后转到依赖关系并单击右上角的+按钮

选择库依赖项 从列表中。  选择以上3个依赖项,然后单击“确定”

确保compileSdkVerison和targetSdkVersion与这些依赖项中的相同。

答案 2 :(得分:2)

您需要使用更具体的依赖项版本

compile 'com.android.support:design:+'

选择与您的编译SDK< 28不兼容的最新设计支持库(28.0.0-alpha)。改为

compile 'com.android.support:design:27.+'

或最好是特定版本,例如

compile 'com.android.support:design:27.1.0'

同样适用于其版本中+的其他动态依赖项。

答案 3 :(得分:1)

如果仍然遇到此问题,请尝试在终端中进行调试。发生此错误的原因很多,但是除非详细调试,否则无法指出确切原因。 在终端中运行以下命令,您可能会确切地知道在哪里得到此错误:

  

./ gradlew installDebug

答案 4 :(得分:1)

我遇到了类似的问题,解决方案是迁移到AndroidX。

  

使用Android Studio 3.2及更高版本,您可以快速迁移   通过选择 Refactor>迁移到现有项目以使用AndroidX   菜单栏中的AndroidX

     

如果您有任何尚未迁移到Maven的Maven依赖项   AndroidX命名空间,Android Studio构建系统也会迁移   当您将以下两个标志设置为   在gradle.properties文件中为true:

android.useAndroidX=true
android.enableJetifier=true
     

要迁移不使用任何第三方的现有项目   具有需要转换的依赖项的库,您可以设置   android.useAndroidX标志为true和android.enableJetifier标志   为假。

Source

答案 5 :(得分:0)

看看你的Compile SDK版本和(我的whas API:26:Android 8.0)

然后在Build.gradle模块:app中进行更改:

- >>>形式:     实现'com.android.support:design:28.0.0-beta1'

implementation 'com.android.support:cardview-v7:28.0.0-beta1'
implementation 'com.android.support:recyclerview-v7:28.0.0-beta1'
implementation 'com.android.support:appcompat-v7:28.0.0-beta1'

- >>>到:     实现'com.android.support:design:26.0.0-beta1'

implementation 'com.android.support:cardview-v7:26.0.0-beta1'
implementation 'com.android.support:recyclerview-v7:26.0.0-beta1'
implementation 'com.android.support:appcompat-v7:26.0.0-beta1'

度过愉快的一天......

答案 6 :(得分:0)

尝试一下:

转到importantProp(模块)的依赖项,并将所有依赖项替换为以下内容:

gradle

将所有dependencies { debugImplementation 'com.android.support.constraint:constraint-layout:1.1.2' implementation fileTree(include: ['*.jar'], dir: 'libs') androidTestImplementation 'junit:junit:4.12' implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.android.support:support-v4:26.1.0' implementation 'com.android.support:design:26.1.0' } 更改为26

然后在SdkVersion下添加以下内容:

compileSdkVersion