这样就可以从 AGP 里面剥离出来,通过 classpath 直接引入来减少版本困扰,现在改个 Compose 版本需要涉及 KGP 和 AGP KGP 主要是 KCP 编译相关的东西,为啥又要将 android...composeIOptions 来配置,如果没配置,则使用 AGP 内置写死的版本(很多人就是因为这个写死的版本导致 compose 配置不起来) 需要注意的是,KCP 的版本最好设置一下,不然,会强制...: 指定 Compose Compiler 版本,与 Compose 版本保持一致 kotlinCompilerExtensionVersion :指定 kotlin 的编译版本(KCP),与...kotlin-gradle-plugin 版本保持一致 其实,AGP 对 Compose 的影响仅仅只作用于 TaskManager 中是否有无添加 compose-compiler 依赖,如果 AGP...代码块中,就是配置的这两个版本,这两个版本的关系官方文档也给出了,我列出几个主要版本的关系,具体的可以看官方文档《Compose 与 Kotlin 的兼容性对应关系 [4]》: Compose Compiler
Compiler Plugins All-open compiler plugin Kotlin has classes and their members final by default, which...The all-open compiler plugin adapts Kotlin to the requirements of those frameworks and makes classes...For Spring you can use the kotlin-spring compiler plugin (see below)....} Kotlin-spring compiler plugin You don't...} Kotlin-jpa compiler plugin The plugin
也有的开发者以为需要 AGP 7.0 以上才能使用 Compose,对于目前现存的老工程无法接入。但到底是哪个版本才开始支持,还是有很多人不清楚。...) 的关系 Compose 与 AGP、KGP 的关系 AGP 支持正式版 Compose 的最低版本 Compose、AGP、KGP 依赖关系图 基于 KCP(kotlin compiler plugin...) 的插件有: Compose Compiler kotlin-android-extension kapt Kotlin 插件的工作过程(图来自朱涛老师文章) 5.1 Compose 版本最佳配置...在查看 AGP 4.1.0 时,该版本内置的 compose-compiler 依赖是 androidx.compose:compiler,而正式版本的依赖是 androidx.compose.compiler...:compiler AGP 4.2.0 开始支持正式版本的 Compose。
之前文章也介绍过compose的一部分实现原理是基于kcp的,那么也就导致了compose compiler和kotlin版本强绑定在一起。所以就必然要让这两个的版本升级放在一起才行。...而在compose的升级过程中,因为kotlin最新版本刚刚完成发布,所以compose compiler还没有完成1.7.10的适配,只能被迫使用1.7.0的kotlin版本进行升级了。...另外因为改动点太多了,涉及所有业务回归等等,所以compose compiler硬生生等出了一个新的版本。...compose 拆开成两部分的,一部分是基础依赖库ui组件,另外一部分是compiler库。后续在最新版本中compiler库的版本号已经不和基础库一起升级了。...所以工程内所有在build.gradle内声明了useIR的都需要进行移除。
0} was compiled with a newer kotlin compiler and not be read....:kotlin-stdlib:1.7.10 | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10 | \--- org.jetbrains...:kotlin-stdlib:1.6.20 -> 1.7.10 (*) | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 ->...= "1.7.10" } 这是由于 Android Studio 中的 Kotlin 插件版本太低 , 当前的 Kotlin 版本 1.7.10 太高导致的 ; 在根目录的 build.gradle...顶层构建脚本中 , 降低 Kotlin 的版本 , 即可解决上述问题 ; 这里降低到 1.5.1 即可 ; // Top-level build file where you can add configuration
『这真的是 Kotlin 吗?』你有点儿不敢相信自己的眼睛。是的,有了扩展方法,你再也不需要什么 XXXUtils 了。 七、晚安,ButterKnife 『晚安。』...你知道这也许是最后一次这样说了,毕竟在 Kotlin 的世界里,ButterKnife 开始变得有些不知所措。 『你不需要我了。』ButterKnife 有些疲惫。 『不,你是最棒的。』...『再也不需要注入 View 了是么?』...『从今天起,大家如果有需要 SP 先生持久化数据的需求,只需要在我这里登记一次,剩下的,大家只需要像读写变量一样操作即可生效。』...『那么以后,如果有位绅士需要我们,比如他需要持久化的数据名叫 “name”,值叫 “橘右京”,当然这个值也是可以修改的,那么他只需要这样操作: var name by Preference(context
本次活动围绕这一主旨做了 30 多场技术分享(视频),涉及多个方向: Android 12 12L Building across screens Kotlin Jetpack Jetpack Compose...Building across screens ---- Android Ware Compose 技术栈采用了分层设计的思想,只要替换局部组件就可以迁移到不同平台中使用,例如 WareOs 中只需要替换...相比较于 KAPT 需要生成 Java Stub 后再基于 APT 处理注解的流程,KSP 底层基于基于 Kotlin Compiler Plugin ,省去了 Java Stub 的生成,编译速度可以提高...Compose @review 最近的 Andorid Studio 版本中对 Compose 的预览功能进行了多项强化:像原生视图那样,支持对 Compose UI 进行 3D 布局预览;对于一些字面值变量的修改无需重新编译即可实现预览的实时更新...、Jetpack Compose 在 UI 开发上的先进性正逐渐凸显;Kotlin Flow 对 LiveData 以及 WorkManager 对 Service 的替代趋势也逐渐清晰。。
docker-compose up -d这步报错如下 ERROR: Version in "./docker-compose.yaml" is unsupported....file format versions, see https://docs.docker.com/compose/compose-file/ docker-compose --version #查看当前...docker-compose版本 yum update # 升级所有包(改变软件设置和系统设置,系统版本内核都升级 ,不小心输入的,运行完后发现内存多了8G,清理垃圾神器 whereis docker-compose...#查看docker-compose的安装路径 yum remove docker-compose #卸载docker-compose 发现一个很棒的网站DaoCloud | Docker 极速下载提供下列方法...-m > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose 你可以通过修改URL中的版本,可以自定义您的需要的版本
发布了Beta版本,抽时间了解了一下Compose带来的改变和其中的一些原理。...同时,Compose通过引入声明式编程,依赖Kotlin特性,可以让代码编写更快更简单。 想象写一个搜索通讯录的界面,传统的Android开发写这个界面需要多少代码?...而在compose中,可能只需要下面这段简短的代码,并且没有xml的性能问题。...一番搜索,发现Compose应用了Kotlin compiler的新特性,通过IR extension,可以在中间代码生成期间修改逻辑。IR又是什么?...Compiler的源码。
于是把Settings中的Java Compiler和Project Settings中的Language level都改为自己使用的版本,比如jdk1.7,问题暂时得到解决。...当未配置jdk版本时,一旦pom文件发生变化,Java Compiler和Language level会自动变回到原来的默认1.5版本。...解决方案 在pom文件中添加maven-compiler-plugin插件,并指定jdk使用的jdk版本即可解决上面问题。...maven-compiler-plugin的配置同时对Java compiler和Language level同时生效。...遇到类似问题,可根据具体使用的jdk版本配置相应的版本号。
首先compose目前只支持kotlin,基于google对移动端的鸿图,未来应该也不会支持其他语言,和传统安卓的xml布局不同,compose是通过kotlin定义一个一个组件,由于是通过代码定义的组件...,后续更新,我们只需要更新BOM的版本即可。..."androidx.compose.ui:ui-test-manifest" } 3.kotlin-compose compiler版本对应 BOM中不包含Compose编译器库,所以我们需要手动对应下...kotlin版本与compose compiler版本,下面是两者的兼容关系,官网也可以查询到最新的对应关系: https://developer.android.google.cn/jetpack/...androidx/releases/compose-kotlin Compose Compiler 版本 兼容的 Kotlin 版本 1.4.0-alpha01 1.7.20 1.3.2 1.7.20
Maven中指定java编译版本(source、target) 在pom.xml中可以通过maven标准编译插件(maven-compiler-plugin)指定项目源代码、字节码的jdk版本 org.apache.maven.plugins maven-compiler-plugin
而如果先前,已经在本地搭建过对应的环境,那么只需要: docker-compose pull && docker-compose up 即可。 原型参考与设计:可交互环境与文档体验 什么是文档?...架构 REPL:Kotlin Scripting vs Kotlin Jupyter 而对于构建一个交互式架构 REPL 来说,我们需要需要考虑的一个核心点是:构建执行上下文(EvalContext)..." freeCompilerArgs = listOf("-Xjsr305=strict") }} tasks.withType { requiresUnpack("**/kotlin-compiler...-89-1.jar, /tmp/app.jar-spring-boot-libs-5edaa25c-496e-4eb0-b7d6-1118a8cc280f/kotlin-jupyter-shared-compiler...总结 虽然,我们发布了这个测试版本,但是它依旧有一系列需要改善的地方,诸如于: DSL 体系架构设计。与 Ktor 的 DSL 设计与实现相比,ArchGuard DSL 显得没有任何设计。
这一改变可以为未来与 Kotlin 相关的改进打下基础,同时又与之前使用 Java 编程语言编写的版本二进制兼容。...其中,@Database 注解新加入了一个属性,可以用于定义需要在哪两个版本间进行自动迁移。...如果想要创建您自己的基线配置文件,您需要使用 Macrobenchmark 库。...新版本添加了一些用于支持先进用例的功能,包括支持可下载字体、惰性布局及嵌套滚动互操作性。更多信息请参阅文章: 一起看 I/O | Jetpack Compose 中的新特性。...开发者可以向下列项目贡献代码,它们均基于 Github 的标准流程: Activity AppCompat Biometric Collection Compose Compiler Compose Runtime
_ 其实这个库更加轻量级只做了几个最常用的注解,并且它是完全基于Kotlin进行开发的。...injectview-compiler:java library,使用apt来生成代码 ? 项目结构图.png ?...open,Kotlin 要求使用open显式标注成员可被覆写。...injectview-annotations module ---- Kotlin 可以简化annotation类,例如@InjectView 在Java版本是这样的 import java.lang.annotation.ElementType...有一点遗憾是,目前在 ListView 和 RecyclerView 上还有一些问题需要解决。这个库在未来还有很多可以优化的地方。
pexels-zarina-khalilova-12467948.jpg 一. adbd-connector adbd-connector 是一个实现 adb server 和 adb daemon 之间的通信协议的库,使用 Kotlin...另外,我还使用 Kotlin Compose Desktop 在这个协议上做了一层 UI,实现了一个可以在 PC 上使用的简易"手机助手",且支持 Mac、Linux、Windows 等系统。...需要点击信任,才能完成后续的连接。 还要打开手机的 5555 端口(使用 adb 命令:adb tcpip 5555),以及获取手机连接当前 wifi 的局域网 ip 地址。...而且,这款工具使用起来也很繁琐,需要打开手机的 5555 端口以及输入手机局域网 ip 的地址。因此在实际业务中,还有很多东西需要改造以适合自身的业务。
可以直接从maven中央仓库下载,如下是1.0.0版本的thrifty-compiler.jar地址。...编译thrifty thrifty是用kotlin语言写的,项目构建工具是用gradle,所以要编译thrifty,需要安装kotlin compiler和gradle....安装kotlin kotlin编译器可以去kotlin的官网(http://kotlinlang.org/)下载,当前最新版本为1.3.11下载地址: https://github.com/JetBrains...执行kotlin -version能正常显示版本信息即安装成功 >kotlin -version Kotlin version 1.3.11-release-272 (JRE 1.8.0_111-b14...Java 8 required 如果在执行项目编译时报错,说明你的环境变量中设置的JAVA_HOME指向的Java 7,而kotlin编译器要求Java 8,所以你需要修改JAVA_HOME环境变量,将
2.* 版本开始的docker-compose下载链接比之前1.* 版本的链接地址中,版本号前面多了一个字母v。...新版本安装命令如下: curl -L "https://github.com/docker/compose/releases/download/v2.12.1/docker-compose-$(uname...-s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose 对比一下旧版本命令...: curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname...-m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
清理旧数据(如果需要) 执行 clean-deploy.sh 删除之前的容器 删除数据目录 DIR=/data/fates DATA_PATH="${DIR}/mongo" PWD='kinnylee'...# 第一次执行没有旧数据,不需要执行这步 docker-compose -f fates-mongo-compose.yaml down if [ -d "${DATA_PATH}" ]; then...: shard1: image: mongo:4.0.5 # --shardsvr: 这个参数仅仅只是将默认的27017端口改为27018,如果指定--port参数,可用不需要这个参数...配置分片信息 容器启动需要一定时间,执行这一步时要等上一步把容器都启动起来,才能执行,执行不成功就多运行几遍 执行shard-config.sh docker-compose -f fates-mongo-compose.yaml...创建用户(授权模式) 执行add-user.sh 需要添加用户登录权限执行这一步,不需要登录的不用执行这一步 脚本中管理员用户名和密码都是root,可自行修改 docker-compose -f fates-mongo-compose.yaml
Jetpack Compose 使用更少的代码、强大的工具和直观的 Kotlin API 简化并加快了 Android 上的界面开发。...在 kotlin 选项中找到 JetBrains Compose ,选择 Desktop uses Kotlin。 创建完成后等待 gradle 依赖下载。 但是在这里会出现问题,运行时报下面的错。...我这里修改到 6.5.1 目前 compose 的版本为 113 , 而通过 idea 创建的 版本为 63,所以更新版本。...在 Gradle 中添加版本号。...例如打包这一块,很多问题需要自己摸索。 例如中文输入法的输入的情况下报错。
领取专属 10元无门槛券
手把手带您无忧上云