在开始用 Jetpack Compose 来编写软件之前,我们需要

1. 一台可以联网的电脑​

2. 安装或更新到 最新版的 Android Studio​

3. 选择创建 Empty Compose Activity

4. 保持版本更新​

尝试使用最新的 Compose 稳定版和所要求的 Kotlin 版本

Gradle 版本: 7.2

可手动在 gradle-wrapper.properties 中更新

gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
  • build.gradle
  • build.gradle.kts
buildscript {ext {compose_version = '1.3.1'kotlin_version = "1.7.10"}repositories {google()mavenCentral()}dependencies {classpath "com.android.tools.build:gradle:7.1.3"classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"}
}

5. 配置 Gradle(可忽略)​

您需要将应用的最低 API 级别设置为 21 或更高级别,并在应用的 build.gradle 文件中启用 Jetpack Compose,如下所示。

build.gradle

plugins {id 'com.android.application'id 'org.jetbrains.kotlin.android'
}android {compileSdk 31defaultConfig {applicationId "yourAppId"minSdk 21targetSdk 31versionCode 1versionName "1.0"testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"vectorDrawables {useSupportLibrary true}}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}}compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}kotlinOptions {jvmTarget = '1.8'}buildFeatures {compose true}composeOptions {kotlinCompilerExtensionVersion compose_version}packagingOptions {resources {excludes += '/META-INF/{AL2.0,LGPL2.1}'}}
}dependencies {implementation 'androidx.core:core-ktx:1.6.0'implementation "androidx.compose.ui:ui:$compose_version"implementation "androidx.compose.material:material:$compose_version"implementation "androidx.compose.ui:ui-tooling-preview:$compose_version"implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1'implementation 'androidx.activity:activity-compose:1.3.1'testImplementation 'junit:junit:4.13.2'androidTestImplementation 'androidx.test.ext:junit:1.1.3'androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version"debugImplementation "androidx.compose.ui:ui-tooling:$compose_version"
}

危险

需要注意的是,如果你使用的 Jetpack Compose 版本不是稳定版而是最新版的时候,Compose Compiler 版本通常会和 uianimation 等版本不一致,你需要在应用的 gradle 文件单独设置最新的编译器版本,否则会发生编译错误.

android {buildFeatures {compose true}composeOptions {kotlinCompilerExtensionVersion = "1.3.0-rc01" // 单独设置 Compose Compiler 版本}kotlinOptions {jvmTarget = "1.8"}
}

使用 BOM​

自 Jetpack Compose 1.3.0 起,Google 提供了 Compose BOM(Bill of Materials)用于快速指定版本。

BOM 是一个 Maven 模块,它声明一组库和版本的对应关系,将能极大地简化你在 Gradle 依赖块中定义 Compose 库版本的方式。您现在只需要定义一个 BOM 版本,就可以同时指定所有的 Compose 库版本,而不是分别定义每个版本(当库版本开始不同时,这可能会变得很麻烦并且容易出错)。每当 Compose 有一个新的稳定版本时,我们都将发布一个新的 BOM 版本,因此从稳定版本迁移到新的稳定版本将会十分轻松

具体来说,当你在 build.gradle 中引入 BOM 后

// Import the Compose BOM
implementation platform('androidx.compose:compose-bom:2022.11.00')

再引入其它 Compose 相关的库就不需要手动指定版本号了,它们会由 BOM 指定

implementation "androidx.compose.ui:ui"
implementation "androidx.compose.material:material"
implementation "androidx.compose.ui:ui-tooling-preview"

BOM 指定的版本都是稳定版,你也可以选择覆写部分版本到 alpha 版本,如下:

// Override Material Design 3 library version with a pre-release version
implementation 'androidx.compose.material3:material3:1.1.0-alpha01'

需要注意的是,这样可能会使部分其它的 Compose 库也升级为对应的 alpha 版本,以确保兼容性。
BOM 和 库版本 的映射可以在 Quick start  |  Jetpack Compose  |  Android Developers 找到,

6. 编写第一个 Compose 程序​

现在,如果一切都正常,我们可以看到,MainActivity.kt 上显示以下代码

MainActivity.kt

class MainActivity : ComponentActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContent {MyApplicationTheme { // 注意:这里会根据你创建的项目名而不同// A surface container using the 'background' color from the themeSurface(color = MaterialTheme.colors.background) {Greeting("Android") // ①}}}}
}@Composable
fun Greeting(name: String) {Text(text = "Hello $name!")
}@Preview(showBackground = true)
@Composable
fun DefaultPreview() {MyApplicationTheme {Greeting("Android")}
}

您可以尝试编译运行此项目,以确保各类环境已安装成功。在此基础上,您也可以尝试修改 处字符串 "Android" 为其他值,在 debug 模式及较新的 Android Studio 版本下,您将看到修改实时显示到应用程序上——这是 Android Studio 提供的 字面量编辑 支持。您可以之后参阅 官方文档 以了解更多。

现在,我们将 MainActivity.kt 修改成以下:

MainActivity.kt

class MainActivity : ComponentActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContent {}}
}

安装或更新 Android Studio相关推荐

  1. android studio gradle 自动更新,android studio gradle 两种更新方法更新

    又快一年没有使用AS了,正好要查看一个Android项目代码,干脆升级到新版试试看新变化,旧版本为3.1.2,目前最新版本为3.4.2,AS的升级是很简单的直接update等待即可. 升级完了,打开G ...

  2. 是时候更新Android Studio 3.5了!不信,你看~

    Google I/O 2018 大会,被开发者吐槽,不要老是搞那么多新特性,而应该多关注Android Studio的质量和稳定性.所有一直都有一些梗:垃圾软件,毁我青春. 于是从Google I/O ...

  3. 安装和配置 Android Studio

    如觉内容冗长,请在页面内再次搜索关键词,定位所需内容. 一.配置好JDK,即java环境. 1.JDK下载 可以直接使用安装Android Studio后内置的jre.然而内置的jre版本较高(1.1 ...

  4. android启动windows7,WIN7 32位系统里安装和配置 Android Studio - 20130604

    用户评价:  / 30 差好 最后更新于 2013年6月04日 点击数:34627 菜鸟日记1-20130604 : 如何在没有安装过JAVA的WIN7 32位系统里安装和配置 Android Stu ...

  5. android studio升级的步骤,win7系统更新Android Studio的操作方法

    很多小伙伴都遇到过对win7系统更新Android Studio进行设置的困惑吧,一些朋友看过网上对win7系统更新Android Studio设置的零散处理方法,并没有完完全全明白win7系统更新A ...

  6. 谷歌不更新android studio,彻底迈向64位:谷歌宣布 Android Studio 将停止 32 位版本更新...

    彻底迈向64位:谷歌宣布 Android Studio 将停止 32 位版本更新 2019-06-12 14:30:27 8点赞 13收藏 11评论 自16年前第一款64位x86处理器横空出世,PC行 ...

  7. android studio 安装问题,解决Android Studio的安装问题

    今天开始了android studio的下载与安装,我再官网上下载了Android studio,下载不难,运行出来可需要一定的时间,在中途中我遇到了一些问题 一:Build错误: 在我最开始下载完A ...

  8. android studio安装教程完整,Android Studio 安装配置方法完整教程【小白秒懂】

    1.安装包下载 安装包我们可以在官网下载,但为了让大家更方便,点击链接直接保存就好啦!! 2.Android Studio 安装- 打开安装包,点next - 点next - 这步要注意了,这里填安装 ...

  9. 更新Android Studio 3.0,你遇到坑了吗?

    今天把Android Studio更新到3.0,跑了一下之前的项目,遇到了以下6个坑,在这总结一下. Android Studio 3.0,项目SDK环境必须要26以上.所以: compileSdkV ...

最新文章

  1. PTA数据结构与算法题目集(中文)7-1
  2. 在pandas数据框中选择多个列
  3. 什么时候应该在内部联接上使用交叉应用?
  4. 前端控制器html,DispatcherServlet(前端控制器)访问顺序和url匹配规则
  5. 51 Nod 1027 大数乘法【Java大数乱搞】
  6. Python中的TCP的客户端UDP学习----第一篇博客
  7. linux实用的日志分析脚本
  8. linux 添加samba账户
  9. HDU4026 Unlock the Cell Phone [状态压缩DP]
  10. scratch编程植物大战僵尸教程(一)
  11. Design A Dropbox
  12. C++ STL算法adjacent_find(09)
  13. NDO - 快速入门
  14. opencv | cv2|OpenCV3.3安装Make sure that you use the correct version of ‘pip‘ installed for your Pytho
  15. CCNP 15 交换机3
  16. JSP学生奖学金系统JSP学生评奖评优系统JSP奖学金管理系统 JSP奖学金评定系统
  17. 美团酒旅实时数据规则引擎应用实践
  18. Linux-rpm命令
  19. [转载] 常用CASE工具介绍
  20. 基于黄金正弦与自适应融合的蜉蝣优化算法

热门文章

  1. java 滚动加载数据_[Java教程]浏览器滚动条快到底部时自动加载数据
  2. 495. 提莫攻击 有一个叫 “提莫” 的英雄,他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态
  3. 为什么投资需要信仰?
  4. GreenDao:3.2.0用法
  5. python多张照片拼成一张人脸,使用OpenCV实现人脸图像卡通化的示例代码
  6. mysql 5.7.16安装配置方法
  7. Dell笔记本一关机就正在准备windows,无法正常关机
  8. css关于/deep/和>>>和::v-deep的解释和用法
  9. AppCompatActivity设置为dialog弹窗主题样式,并设置半透明背景
  10. -Djava.endorsed.dirs=D:\tomcat\apache-tomcat-9.0.8\endorsed is not supported. Endorsed standards and