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

Posted

技术标签:

【中文标题】升级到android后无法构建项目-P【英文标题】:Can not build the project after upgrading to android - P 【发布时间】:2018-08-21 07:52:24 【问题描述】:

以下是我遇到的错误

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(app level)

   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'

我尝试了 *** 的不同解决方案,但都没有奏效。您能帮我解决这个问题吗?提前致谢。

【问题讨论】:

你试过here给出的解决方案吗 不确定 Android P 是否已经有预发布版?但我看到您正在编译和定位两个 SDK 26。如果您真的想在 Android P 上构建,您应该使用 28 作为这两个值。 developer.android.com/preview/setup-sdk.html 嗨 Jirdan,是的,通过提到的解决方案 apk 正在构建,但它同时显示“应用程序未安装”(调试和发布)。使用您指定的给定链接构建 apk 后,***.com/questions/49233866/… 你好,Sira Lam,你能看看这个吗,***.com/questions/49233866/…。我已经尝试了链接中的解决方案,但没有一个对我有用。请帮我解决这个问题 【参考方案1】:

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

尝试将 compileSdkVersion 更改为:

compileSdkVersion 28

这些属性是在这个版本中添加的。检查here、here和here

【讨论】:

我对 28 进行了更改,但仍然无法正常工作 错误:1. 错误:找不到资源 android:attr/dialogCornerRadius。 2.错误:找不到资源android:attr/dialogCornerRadius。 3. AAPT:错误:找不到资源 android:attr/fontVariationSettings。 4. AAPT: error: resource android:attr/ttcIndex not found. 您找到解决方案了吗? 我的 complieSdkVersion 已经是 28,但我仍然面临这个问题。我所做的是迁移 AndroidX(Recator -> Migrate to AndroidX)。您能否建议问题是什么以及如何解决。链接错误:\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values-v28\values-v28.xml【参考方案2】:

删除这些行并同步:

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

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

选择库依赖项 从列表中。 选择上面3个依赖,点击确定

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

【讨论】:

嗨 Nitesh,我已经尝试了上述指定的解决方案,但没有成功。“未安装应用程序”错误。请您帮我解决这个问题。 是的,我无法得到这个问题。我从 2 天开始尝试。 在这些依赖项之前添加这一行并尝试://noinspection GradleCompatible @NiteshLekhi 从不使用“+”添加依赖项,而是使用特定/确切的依赖项版本。这样,您的构建将是可重现的,并且当您的代码无论出于何种原因不适用于最新版本时,您仍然可以构建和使用最新版本。它将帮助您避免令人讨厌的问题并浪费大量时间。你以后会感谢我的;)【参考方案3】:

您需要使用更多特定版本的依赖项

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

选择与您的编译 SDK

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

或者最好是特定版本,例如

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

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

【讨论】:

嗨 laalto,不能使用上面指定的代码。你能帮我解决这个问题吗? 如果您想使用最新的支持库,也可以将 compileSdkVersion 更新为 28。【参考方案4】:

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

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

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

android.useAndroidX=true
android.enableJetifier=true

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

Source.

【讨论】:

我的 complieSdkVersion 已经是 28,但我仍然面临这个问题。我所做的是迁移 AndroidX(Recator -> Migrate to AndroidX)。您能否建议问题是什么以及如何解决。链接错误:\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values-v28\values-v28.xml【参考方案5】:

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

./gradlew installDebug

【讨论】:

【参考方案6】:

查看您的编译 SDK 版本和(我的 whas API:26:Android 8.0)

然后在你的 Build.gradle Module: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'

祝你有美好的一天......

【讨论】:

【参考方案7】:

试试这个:

转到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'

将所有 SdkVersion 更改为 26

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

buildToolsVersion '27.0.3'

【讨论】:

【参考方案8】:

对我来说,只需转到应用级别 build.gradle 并将 targetsdk 级别更改为推荐级别即可解决问题

【讨论】:

以上是关于升级到android后无法构建项目-P的主要内容,如果未能解决你的问题,请参考以下文章

从 8 升级到 9 后无法构建 Angular 项目

在 IONIC 项目中升级到电容器 3 后,Android Studio 构建失败

升级后或新项目无法构建 Angular 12 和 Webpack 5

Android Studio 3.2.1 升级后的构建错误

Android SDK 包无法构建新项目

升级到 Xcode 10.0 后无法构建模块“UIKit”