いろいろやる課、書く係

いろいろなことを、たんたんと記録するブログ

KotlinのNavigtion Drawer Activityを使おうとしたらエラーが出たけど解決した

プロジェクトの新規作成から、Navigtion Drawer Activityのテンプレートを選択(なお、API30でやりましたけど、最低まで下げても同じでした)

こんなアラート出る

This operation requires the libraries androidx.navigation:navigation-fragment-ktx:+, androidx.navigation:navigation-ui-ktx:+.

Would you like to add these now?

OK押すと…

Failed to add navigation dependency

えー

まっか……

f:id:sakimika:20220324171232p:plain

上部にこんなメッセージ

Some kotlin libraries attached to this project were compiled with a newer Kotlin compiler and can't read. Please update Kotlin plugin.

というてる割には、右側に

No updates found

って出てるし…

Detailsのリンクを押してみると

gradleのキャシュフォルダのうんちゃらかんちゃら/classes.jar (1.6.0) - expected: 1.4.2

というのが複数。

キャッシュフォルダ削除してみたけど変わらず。

Kotlin Pluginを新しくすればいいのかしら…

Tools > Kotlin > Configure Kotlin Plugin Updates

で確認するも

Current Kotlin plugin version: 1.4.32-release-Studio4.1-1

You have the latest version of the plugin installed.

ですって

でも1.6まで最新出てるっぽいが……それがZipでダウンロードできたので

File > Settings > Plugins

の歯車マークから「Install Plugin from Disk」を選んで突っ込んでみたけど入らず。ふむー。

gradle見る。

ext.kotlin_version = "1.4.32"

ここをごにょごにょしてみたけど、関係なかった模様。

で、これのバージョンを下げた。

implementation 'androidx.navigation:navigation-fragment-ktx:2.4.1'
implementation 'androidx.navigation:navigation-ui-ktx:2.4.1'

とりあえず2.3.5にしてSync Now。

おっ、赤減ったぞ……

f:id:sakimika:20220324173014p:plain

波線のところ見たら

Cannot access class: 'androidx.navigation.NavController'. Check your module classpath for missing or conflicting dependencies.

とあるので、これを削除

implementation 'androidx.navigation:navigation-fragment:2.4.1'
implementation 'androidx.navigation:navigation-ui:2.4.1'

したら赤消えましたーーー

 

まとめ

Moduleのgradleで

//implementation 'androidx.navigation:navigation-fragment:2.4.1'
//implementation 'androidx.navigation:navigation-ui:2.4.1'
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5'
implementation 'androidx.navigation:navigation-ui-ktx:2.3.5'

でした。

はー。

Kotlinのバージョンのあれこれよ……