升级到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的主要内容,如果未能解决你的问题,请参考以下文章
在 IONIC 项目中升级到电容器 3 后,Android Studio 构建失败