【问题标题】:Android Studio gradle build successfully despite api level error尽管 api 级别错误,Android Studio gradle 构建成功
【发布时间】:2013-10-11 01:37:10
【问题描述】:

我正在开发一个 Api 级别为 10 的 android 项目,它在 build.gradle 和 AndroidManifest.xml 文件中声明

defaultConfig {
    minSdkVersion 10
    targetSdkVersion 15
}

<uses-sdk
    android:minSdkVersion="10"
    android:targetSdkVersion="15" />

当我使用 ActionBar 类时,Android Studio 编辑器在此行下划线并按预期发出警告“调用需要 API 级别 11(当前最小值为 10):android.app.ActionBar...”

但是当我编译项目时,它编译成功。这可能会导致错误,它如何在 API lvl 10 设备上工作。我想要一个关于这个的错误,但它已编译。我怎样才能得到一个关于这个的构建错误。太棒了。

【问题讨论】:

  • 你的build.gradle 中的compileSdkVersion 是什么?
  • 当时是 18,我设置为 10,虽然我没有选择这个主题,但我对 Holo 有很多错误。 (AndroidStudioProjects\TeAppProject\TeApp\build\exploded-bundles\ComAndroidSupportAppcompatV71800.aar\res\values-v14\values.xml,Gradle:检索项目的父项时出错:找不到与给定名称匹配的资源 'android:Widget .Holo.ActionButton'etc..) 但是是的,我认为它与 compileSdkVersion 有关。如果我跳过所有这些错误,我会收到我提到的关于帖子的错误。 ty @Varun

标签: android gradle android-studio build.gradle


【解决方案1】:

您看到的是 Android lint 工具显示错误,但 Android Studio 仍然允许编译。

这是因为您看到的 lint 错误不会阻止编译。似乎 Android Studio(至少在 v1.3.2 中)默认情况下,构建过程会在编译期间忽略 lint 错误,而在带有 ADT 插件的 Eclipse 中,您将无法编译。

查看Improving with Lint,您可以使用 lint 选项修改 build.gradle 文件以使构建失败:

android {
    lintOptions {
        // if true, stop the gradle build if errors are found
        abortOnError false
    }
}

【讨论】:

    【解决方案2】:

    下面更改...

    defaultConfig {
        minSdkVersion 11
        targetSdkVersion 15
    }
    
    <uses-sdk
        android:minSdkVersion="11"
        android:targetSdkVersion="15" />
    

    在设置 gradle 或 menifest 之后。清理并重建您的项目。希望它会工作....如果仍然无法使用重新启动工具并尝试再次编译项目....

    【讨论】:

    • 这不是 OP 想要的解决方案。 OP 仍然希望显示错误。 OP 还希望应用程序编译失败,但 Android Studio 仍在编译应用程序(带有 ADT 的 Eclipse 没有此行为)。
    猜你喜欢
    • 2017-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-13
    • 2015-02-06
    • 2016-08-05
    • 2017-03-25
    • 2016-01-19
    相关资源
    最近更新 更多