Jetpack Compose 采坑过程

〇、前言

Google 官方针对 Jetpack Compose 的 Android 开发者挑战赛今天已经公布了第四周也就是最后一周的题目,面对这一新的技术趋势大佬们个个摩拳擦掌,看的我也蠢蠢欲动,学习的过程中发现坑还是不少的,特此记录下。

一、使用Android Studio 预览版本

目前(2021-03-18)Android Studio 最新的稳定版是4.1.2,还不支持 Jetpack Compose 开发,进行 Jetpack Compose 开发需要Android studio 4.2 最新预览版本,官网下载预览版本是免安装版本,直接打开 \bin\studio64.exe 即可。

二、项目配置

新建项目同步时直接报错:

Build file 'D:\AndroidCode\AndroidStudioProjects\Demo031803\app\build.gradle' line: 2


> Failed to apply plugin 'com.android.internal.application'.
> java.util.concurrent.ExecutionException: java.lang.NoSuchMethodException: java.lang.invoke.MethodHandles.privateLookupIn(java.lang.Class, java.lang.invoke.MethodHandles$Lookup)

* Try:
Run with --scan to get full insights.

这是由于gradle版本和Java版本不对应导致的,新项目默认 Gradle 版本是 6.8.2,Gradle Plugin 版本是 7.0.0-alpha10:

与此对应,Java版本需要Java 11,修改JDK为Embedded JDK即可:

或者修改适合的Gradle及Gradle Plugin版本也可以。

三、 Jetpack Compose 预览

既然 Jetpack Compose 是声明式UI,那必须得能预览啊,不过可能会遇到这种情况:A successful build is needed before the preview can be displayed.

此时需要 重新将项目Rebuild一下(Build -> Rebuild Project),成功后就可以看到预览视图。如果仍然没有显示预览视图,则需要将AS关闭重新打开项目

 

四、API被废弃

目前 Jetpack Compose Beta 版刚刚发布,Beta 版也意味着其 API 相对稳定,在此之前的预览版的 API 都不稳定,API被废弃也是正常,所以之前的写法直接用过来报红的话也不一定是环境问题,看看API有没有被废弃。
比如:ScrollableRow、ScrollableColumn函数已在alpha11版本已被标记废弃,建议使用LazyRow、LazyColumn代替。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值