Kotlin问题汇总

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 false
    id 'com.android.library' version '8.0.2' apply false
    id 'org.jetbrains.kotlin.android' version '1.7.20' apply false
}
// 将原本的1.9.10改为1.7.20即可

或者更改build.gradle(app)中的以下版本

Android 复制代码
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了。

未完待续

相关推荐
夜幽青玄几秒前
mybatis-plus调用报 org.springframework.dao.DataIntegrityViolationException 错误处理
开发语言·python·mybatis
洲覆1 分钟前
Redis 内存淘汰策略
开发语言·数据库·redis·缓存
SRC_BLUE_1720 分钟前
NSSCTF - Web | 【第五空间 2021】pklovecloud
android·前端
偶尔贪玩的骑士20 分钟前
Kioptrix Level 1渗透测试
linux·开发语言·网络安全·php
それども31 分钟前
忽略Lombok构建警告
java·开发语言·jvm
奥陌陌1 小时前
kotlin className.() 类名点花括号 T.() 这种是什么意思?
kotlin
qiuiuiu4131 小时前
正点原子RK3568学习日志12-注册字符设备
linux·开发语言·单片机·学习·ubuntu
liu****1 小时前
20.哈希
开发语言·数据结构·c++·算法·哈希算法
MetaverseMan1 小时前
Java Spring 框架的`@Autowired` 注解 以及依赖注入分析
java·开发语言·spring
迎風吹頭髮1 小时前
Linux服务器编程实践58-getnameinfo函数:通过socket地址获取主机名与服务名
开发语言·数据库·php