【问题标题】:Android Studio / project appears brokenAndroid Studio / 项目出现损坏
【发布时间】:2015-12-26 03:15:33
【问题描述】:

我的项目在 Android Studio 中运行良好,但随后:

  • 我升级到了 Windows 10
  • 这破坏了我的 java 安装,但我有 现在也可以正常工作(删除所有内容然后重新安装)
  • 我现在也更新到了最新的稳定版 Android Studio

但是当我现在尝试构建我的项目时,我得到了 100 多个错误:

W:\android-studio-projects\mycustomer\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\22.2.0\res\values-v21\values-v21.xml

每个错误/行是这样的:

错误:(2) 检索项目的父项时出错:找不到资源 匹配给定名称“android:TextAppearance.Material.Inverse”。

...

有人问我的 app/build.gradle 长什么样子:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 'Google Inc.:Google APIs:17'
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "dk.company.app"
        minSdkVersion 9
        targetSdkVersion 17
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
        }
    }

  repositories {
    maven { url "https://jitpack.io" }
  } 
}

dependencies {
    compile 'com.android.support:support-v4:18.0.0'
    compile 'com.google.android.gms:play-services:+'
    compile 'com.github.PhilJay:MPAndroidChart:v2.0.8'  
    compile 'com.android.support:appcompat-v7:22.2.1'
}

我刚刚在依赖项中插入了第 4 行

compile 'com.android.support:appcompat-v7:22.2.1'

但是,过去从来没有必要,插入它并没有解决我的问题。 (为什么突然需要它。我可以删除依赖项 - 这也可以解决问题吗?

...

我觉得很奇怪但可能是因为该项目从未正确编译而发生的其他事情是这段代码:

import dk.company.app.R;

始终以红色突出显示“R” - 即无法解析符号“R”

但是,我的猜测是它从来没有生成文件,而是在遇到其他 appcompat 编译错误时停止

...

我可以看到有一些已知的类似问题:

但是,提出的解决方案。我已经删除了 Sdk 管理器和文件系统中的所有地方的 API 22 和 API 23,我可以。我已将构建工具和 appcompa 版本更改为 21.1.2

目前没有任何效果

【问题讨论】:

  • 检查您的构建 gradle 文件中是否有 (compile 'com.android.support:appcompat-v7:22.2.1')​​。如果不这样做,则需要将其添加并同步 gradle
  • 试过了,但没有运气。但是,我现在用更多信息扩展了我的问题,这些信息可能会提供有用的信息。
  • @EJK 类似,但我已经尝试过那里的答案。也许我的问题是它的变体。我用我尝试过的东西进一步扩展了我的问题

标签: android


【解决方案1】:

我已经多次收到此错误。我在this answer 中编制了一份清单,列出了我让它再次工作的所有方法。

编辑:刚刚想到另一个更可能与您所描述的内容相关的问题。如果您一直在针对 SDK 17 进行编译,并且在重新安装 Java 时升级到 Java 8,这可能会导致不兼容。我相信只有大于 20 的 SDK 才能针对 Java 8 进行编译。此外,从 SDK 17 移动到 20+ 可能会破坏您的样式,这将导致您的 xml 文件无效,从而阻止 R 构建。查看 res/values/styles 并查看它是否无法找到您的风格。如果是这样,请将其更改为新 SDK 的有效样式,清理并构建。

【讨论】:

    【解决方案2】:

    com.android.support:appcompat-v7:22.2.1 依赖项要求您至少使用 API 版本 22 (5.1 Lolipop) 编译您的项目。

    您目前正在使用 API 版本 17 (4.2 Jelly Bean) 进行定位和编译。您仍然可以将 targetSdkVersion 保留为 17(如果需要),但您必须使用 API 版本 22+ 进行编译。

    尝试改变:

    compileSdkVersion 'Google Inc.:Google APIs:17'
    

    到:

    compileSdkVersion 22
    

    注意:您可能还需要下载 API 版本 22 平台。

    编辑:我看到您已经更新了您尝试改用 v7:21.x.x appcompat 库的问题。这将要求您至少使用 API 级别 21 compileSdkVersion 21 进行编译。

    【讨论】:

    • 修复compiledSdkVersion 连同删除neverw API (23) 和在Sdk 管理器和文件资源管理器中构建工具似乎已经成功了。我现在将对其进行全面测试,以确保一切正常 100%
    【解决方案3】:

    你可以做几件事来尝试解决这个问题:

    1. Build 中的清理项目选项
    2. 重建(不是构建)Build 中的项目选项
    3. 文件中的缓存无效/重新启动选项

    试试这些,这是 Android Studio 的一个小故障,它有时无法编译所有内容。

    【讨论】:

    • 现在尝试了所有 3 件事 :( - 也在尝试 @Tasos 建议之后,但没有运气(虽然赞成)
    猜你喜欢
    • 2019-04-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-27
    • 1970-01-01
    • 2020-05-18
    • 2020-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多