Navigation2.4.0-alpha03上的“java.lang.Stringkotlin.text.CharsKt.titlecase(char,java.util.Locale)”错误(包括nav_graph)
我的 Android 应用项目有问题。
我在构建项目时考虑了错误。
> Task :app:generateSafeArgsDebug FAILED
Execution failed for task ':app:generateSafeArgsDebug'.
> 'java.lang.String kotlin.text.CharsKt.titlecase(char, java.util.Locale)'
> Task :app:generateSafeArgsDebug FAILED
Execution failed for task ':app:generateSafeArgsDebug'.
> 'java.lang.String kotlin.text.CharsKt.titlecase(char, java.util.Locale)'
我的 nav_graph.xml 是跟随的。它使用包括其他 nav_graph。
导航图.xml
nav_graph2.xml
<navigation>
<fragment
android:id="@+id/test2_fragment1"
android:name="myexample.TestFragment1"
android:label="TestFragment1"
tools:layout="@layout/fragment_test1" >
<action
android:id="@+id/action_testFragment1_to_nav_graph2"
app:destination="@id/nav_graph2"
<argument
android:name="funcType"
app:argType="string"
app:nullable="false" />
</action>
</fragment>
<include app:graph="@navigation/nav_graph2" />
</navigation>
它使用导航和组件以及插件库版本 2.4.0-alpha03。使用导航和插件版本 2.3.5 和组件 1.0.0-alpha10 库,没问题。我使用 Kotlin 1.5.20 和 JVM 1.8。
回答
根据导航 2.4.0-alpha03的已知问题:
Unable to find method ‘’java.lang.String kotlin.text.CarsKt.titleCase(char, java.util.Locale)’’由于依赖于旧版本的 Kotlin,Safe Args在使用 Gradle 6.7.0 时将失败并显示错误。这可以通过更新以使用 Gradle 7.0 来解决。( b/190739257 )
因此,您应该通过更改gradle-wrapper.properties文件以使用 Gradle 7.0 来升级到Gradle 7.0:
distributionUrl=https://services.gradle.org/distributions/gradle-7.0-all.zip
THE END
二维码