Flutter 跳兩個版

最近在升級專案使用的 flutter 到 3.27,也升級了AGP,遇到各種問題。

先是有套件是沒有在 gradle 放 namespace,丟了 PR 也不理,只好自己 fork。

然後不知道為什麼,沒放 jvmTarget 的套件也會有相容性問題,就隨便給他指定一個低的。

allprojects {
    tasks.withType(KotlinCompile).configureEach {
        kotlinOptions {
            if (jvmTarget == null) {
                jvmTarget = JavaVersion.VERSION_1_8.toString()
            }
        }
    }
}

然後其他的事讓 toolchain 處理。

java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(21)
    }
}

然後怪事就來了,flutter_statusbarcolor_ns 這個套件不知道為什麼,toolchain 指定 21 的時候會跟你說沒辦法跟 17 相容,指定 17 的時候又會跳 class file has wrong version 65.0, should be 61.0,後來實在搞不定,最後只好在 gradle.properties 加個設定忽略這個檢查。

kotlin.jvm.target.validation.mode = IGNORE

有空再研究為什麼。

留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *