Kotlin問題匯總
真機安裝調試
查看真機的Android版本,將build.gradle文件中的minSdk改為手機的Android版本,點Sync Now更新設置
apk安裝失敗
在gradle.properties全局配置中設置android.injected.testOnly=false
Unresolved reference:
在activity_main.xml中出現已注冊id,但是mainActivity無法找到button的情況,要在build.gradle文件中導入kotin-android-extensions的包
在MainActivity加入包,import kotlinx.android.synthetic.main.activity_main.*
如果kotlinx 報紅了,要在app的build.gradle文件中添加:kotlin-android-extensions
包
繼承Fragment失敗
有兩個不同的Fragment可以選擇,一個是系統內置的android.app.Fragment,一個是AndroidX庫中的android.fragment.app.Fragment,這里要用AndroidX庫中的Fragment。但是我在繼承Fragment時失敗了,解決辦法是:在build.gradle文件中添加依賴implementation 'androidx.fragment:fragment-ktx:1.6.1'
,然后再繼承Fragment就出現了AndroidX庫的選項,自動導包成功。
報錯解決辦法
e: This version (1.3.2) of the Compose Compiler requires Kotlin version 1.7.20 but you appear to be using Kotlin version 1.9.10 which is not known to be compatible. Please fix your configuration (or `suppressKotlinVersionCompatibilityCheck` but don't say I didn't warn you!).
e: 此版本(1.3.2)的Compose編譯器需要Kotlin 1.7.20版本,但您使用的Kotlin 1.9.10版本并不兼容。請修復您的配置(或“suppressKotlinVersionCompatibilityCheck”,但不要說我沒有警告您!)。
工程下的build.gradle
plugins {id 'com.android.application' version '8.0.2' apply falseid 'com.android.library' version '8.0.2' apply falseid 'org.jetbrains.kotlin.android' version '1.7.20' apply false
}
// 將原本的1.9.10改為1.7.20即可
或者更改build.gradle(app)中的以下版本
composeOptions {kotlinCompilerExtensionVersion '1.3.2'}
版本兼容關系參考鏈接:https://developer.android.com/jetpack/androidx/releases/compose-kotlin?hl=zh-cn
新建activity_main.xml文件失敗
按照New->XML->Layout xml File新建activity_main.xml無法建立,會顯示layout name must be unique,直接New->File然后將文件命名為activity_main.xml即可,報紅是因為文件還是空的,寫入內容就OK了。
未完待續