Open1

Android StudioでopenCV使おうとしたらModule was compiled with an incompatible version of Kotlin. と言われた

log_suzakilog_suzaki

やりたかったこと

Android StudioにopenCVを入れたかった.
参考↓
Android StudioでOpenCVを使う

エラー内容↓

Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.7.1, expected version is 1.5.1.

原因

plugins {
    id 'com.android.application' version '7.1.2' apply false
    id 'com.android.library' version '7.1.2' apply false
    id 'org.jetbrains.kotlin.android' version '1.5.30' apply false
}
  • Kotlinのバージョンが低い.(一番下のやつ)

しかしエラー内容が

そのメタデータのバイナリバージョンは1.7.1、期待されるバージョンは1.5.1です。

僕のKotlinバージョンは1.5.30だし
2023/01/16の時点でKotlin最新バージョンは1.7.0

解決

  • Kotlinのバージョンを上げた.
  • しかしAndroid Studioの上や左下に出てくるポップアップを押してもエラーが出てアップデートできない.

  • Android Studioを起動した時に出るWelcom to Android Studioからアップデートします
  • Kotlinを探して,緑色の派手なボタンがあるので押します(再起動します)
id 'org.jetbrains.kotlin.android' version '1.7.0' apply false
  • で,最新バージョンに上げる.

確認

  • Logcatで確認します.
  • 下のコードを一行入れます.
Log.d("openCV", OpenCVLoader.OPENCV_VERSION)
  • MainActivity全体
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import org.opencv.android.OpenCVLoader

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        Log.d("openCV", OpenCVLoader.OPENCV_VERSION)
    }
}
  • 出力結果
2023-01-16 17:15:30.633 20985-20985/? D/openCV: 4.7.0
  • openCVのバージョンが確認できました.
  • これでopenCVのライブラリや型が使えます.