构建失败 Google io 2018 (iosched)

build failed Google io 2018 (iosched)

下载GoogleIO 2018(iosched)的工程,在AndroidStudio 3.3 Canary 7中尝试编译,3.2 RC1中的probe也是如此。但是我收到以下错误:

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 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 中,或者干脆不更新那些过时的库版本,直到所有这些候选发布版本都发布了最终版本,这尚未被视为 "stable".

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

也许可以考虑使用 稳定 版本的 Android Studio,类似 3.1.4 - 而不是使用 canary 通道然后抱怨它不起作用;也许你甚至在不知不觉中针对 rc01 版本进行了构建,因为这 正是 我在将该库更新为 rc01 时遇到的问题 - 以及这个问题的标题还大胆声明RC01

我已经通过安装 android studio 3.2.0 beta 4 成功编译了它。

如下图所示

你可以在这里看到 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