我有工作项目。
我有我的gradle文件:
defaultConfig {
vectorDrawables.useSupportLibrary = true
vectorDrawables.generatedDensities = []
}
我也打电话给活动:
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true)
应用程序运行良好。现在改为:
google()
行执行gradle clean assembleDebug
。
App继续适用于具有API>的设备20.但是对于API< 21(谷歌Android模拟器)在启动应用程序时崩溃。
我在logcat错误中看到:Resources$NotFoundException: Resource ID #0x7f080058
(0x7f080058是可绘制的abc_vector_test)。
为什么?
UPD 2017-07-19 :它已修复并发布于com.android.tools.build:gradle:3.0.0-alpha7
答案 0 :(得分:8)
我添加到gradle.properties
行
android.enableAapt2=false
它解决了我的错误。
UPD 2017-07-19 :它已修复并发布于com.android.tools.build:gradle:3.0.0-alpha7
答案 1 :(得分:1)
版本3的Gradle插件使用新的AAPT,它有一些错误
在阅读了有关错误跟踪器的一些问题之后,我发现Gradle有完全禁用AAPT2的选项:android.enableAapt2=false
同样从发行说明到alpha5:
AAPT2。我们将继续稳定AAPT2,从而实现增量资源处理。如果您的构建因资源而失败 处理问题,请给我们发错误报告。暂时禁用 AAPT,在gradle.properties文件中设置android.enableAapt2 = false Roboelectric目前与AAPT2不兼容
答案 2 :(得分:0)
我遇到同样的问题,将Android Studio降级到之前版本的canary5,并在build.gradle中编写以下内容
buildscript {
...
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0-alpha5'
...