尽管API级别出现错误,Android Studio Gradle仍可以成功构建

4

我正在开发一个Android项目,其API级别为10,它在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 是什么? - Varun
这是关于编程的内容,需要将其从英语翻译成中文。请仅返回翻译后的文本:当时版本号是18,我将其设置为10,尽管我没有选择Holo主题,但我收到了很多有关Holo的错误信息。((AndroidStudioProjects\TeAppProject\TeApp\build\exploded-bundles\ComAndroidSupportAppcompatV71800.aar\res\values-v14\values.xml,Gradle: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Holo.ActionButton'等等) 但是我认为这与compileSdkVersion有关。如果我跳过所有这些错误,我就会得到我在帖子中提到的错误。谢谢@Varun。 - alper
2个回答

1
您所看到的是Android lint工具显示的错误,但Android Studio仍能够编译。
这是因为您看到的lint错误不会阻止编译。似乎在Android Studio(至少在v1.3.2中),默认情况下构建过程会忽略编译期间的lint错误,而在使用ADT插件的Eclipse中则无法编译。
查看通过Lint进行改进, 您可以在build.gradle文件中修改lint选项以使构建失败:
android {
    lintOptions {
        // if true, stop the gradle build if errors are found
        abortOnError false
    }
}

0

请修改以下内容...

defaultConfig {
    minSdkVersion 11
    targetSdkVersion 15
}

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

在设置gradle或menifest后,请清理并重新构建您的项目。希望它能够正常工作...如果仍然无法正常工作,请重启工具并尝试再次编译项目...


这不是OP想要的解决方案。OP仍然希望显示错误。OP还希望应用程序编译失败,但Android Studio仍在编译应用程序(带有ADT的Eclipse没有这种行为)。 - vman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接