【问题标题】:build failed Google io 2018 (iosched)构建失败的 Google io 2018 (iosched)
【发布时间】:2019-01-31 06:46:18
【问题描述】:

下载Google IO 2018(iosched)的项目,尝试在Android Studio 3.3 Canary 7中编译,也是3.2 RC1中的探针。但我收到以下错误:

error: resource style/TextAppearance.MaterialComponents.BottomNavigationView.Colored (aka com.google.samples.apps.iosched:style/TextAppearance.MaterialComponents.BottomNavigationView.Colored) not found.

检查文件样式。 xml,观察到找不到样式TextAppearance.MaterialComponents.BottomNavigationView.Colored。

<style name="TextAppearance.IOSched.BottomNavigationView" parent="@style/TextAppearance.MaterialComponents.BottomNavigationView.Colored">
        <item name="android:fontFamily">@font/google_sans</item>
        <item name="android:textColor">@color/bottom_nav_item</item>
</style>

如果实现,还要检查 Google Material 组件依赖项。

implementation "com.google.android.material:material:$rootProject.materialVersion"

我不明白为什么它会犯这个错误。

【问题讨论】:

    标签: android gradle googleio iosched


    【解决方案1】:

    你可以在这里看到 https://github.com/google/iosched/issues/285#issuecomment-416114763

    您可以使用Android Studio Stable 3.2

    使用最后的依赖项。

    在文件 iosched/gradle.properties,mofiy 中

    androidGradlePluginVersion = '3.2.0'
    materialVersion = '1.0.0'
    kotlinVersion = '1.2.51'
    

    在文件 iosched/mobile/src/main/res/values/styles.xml 中

    改变

    @style/TextAppearance.MaterialComponents.BottomNavigationView.Colored
    

    @style/Widget.MaterialComponents.BottomNavigationView.Colored
    

    【讨论】:

    • 我想知道为什么他们在 gradle 插件发展时不更新这种引用......
    【解决方案2】:

    我已经设法通过安装 android studio 3.2.0 beta 4 来编译它。

    如下图所示

    【讨论】:

      【解决方案3】:

      使用 Android Studio 3.1.4 进行构建,除非更新过时的依赖项。还有一个未解决的问题:https://github.com/google/iosched/issues/285 使用./gradlew build 构建时确实抱怨很多

      一旦我手动将那些 beta01 版本更新为 rc01,我也明白了:

      error: resource style/TextAppearance.MaterialComponents.BottomNavigationView.Colored (aka com.google.samples.apps.iosched:style/TextAppearance.MaterialComponents.BottomNavigationView.Colored) not found.
      

      这基本上意味着material-components-android 丢失或过时。要解决这个问题,您可以简单地从 GitHub 复制缺失的样式并将其手动添加到 styles.xml 中,或者干脆不更新那些过时的库版本,直到所有这些候选版本的最终版本,尚未被视为“稳定”。

      底线可能是,它是针对materialVersion = '1.0.0-beta01'(可能包含该样式)构建的,但不是针对materialVersion = '1.0.0-rc01'(可能缺少该样式)。

      也许可以考虑使用稳定版本的Android Studio,比如3.1.4——而不是使用金丝雀频道然后抱怨它不起作用;也许您甚至在不知不觉中针对rc01 版本进行构建,因为这正是我在将该库更新为rc01 时遇到的问题——而且这个问题的标题也大胆地指出RC01

      【讨论】:

      • 我不确定这是问题所在,因为我正在尝试在不修改任何依赖项的情况下编译项目。
      • 只能说我可以用 Android Studio 3.1.4 和 Gradle 4.4 构建项目...
      猜你喜欢
      • 2019-05-08
      • 2018-12-07
      • 1970-01-01
      • 2021-06-13
      • 2013-08-16
      • 2020-04-09
      • 1970-01-01
      • 2018-02-07
      • 2016-03-24
      相关资源
      最近更新 更多