Roborazzi 开源项目教程
1. 项目的目录结构及介绍
Roborazzi 项目的目录结构如下:
roborazzi/
├── app/
│ ├── build/
│ ├── libs/
│ ├── src/
│ │ ├── androidTest/
│ │ ├── main/
│ │ └── test/
├── gradle/
├── roborazzi-core/
├── roborazzi-junit/
├── roborazzi-screenshot-testing/
├── settings.gradle
├── build.gradle
└── README.md
目录结构介绍
app/
: 包含应用程序的主要代码和资源。build/
: 编译生成的文件。libs/
: 第三方库文件。src/
: 源代码文件。androidTest/
: Android 测试代码。main/
: 主应用程序代码。test/
: 单元测试代码。
gradle/
: Gradle 配置文件。roborazzi-core/
: Roborazzi 核心库。roborazzi-junit/
: JUnit 集成库。roborazzi-screenshot-testing/
: 截图测试库。settings.gradle
: Gradle 项目设置文件。build.gradle
: 项目构建配置文件。README.md
: 项目说明文档。
2. 项目的启动文件介绍
Roborazzi 项目的启动文件主要位于 app/src/main/
目录下,包括 MainActivity.kt
和 AndroidManifest.xml
。
MainActivity.kt
MainActivity.kt
是应用程序的主活动,负责启动应用程序的主界面。
package com.github.takahirom.roborazzi
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.tooling.preview.Preview
import com.github.takahirom.roborazzi.ui.theme.RoborazziTheme
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
RoborazziTheme {
Surface(color = MaterialTheme.colorScheme.background) {
Greeting("Android")
}
}
}
}
}
@Composable
fun Greeting(name: String) {
Text(text = "Hello $name!")
}
@Preview(showBackground = true)
@Composable
fun DefaultPreview() {
RoborazziTheme {
Greeting("Android")
}
}
AndroidManifest.xml
AndroidManifest.xml
是 Android 应用程序的清单文件,定义了应用程序的基本信息和组件。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.github.takahirom.roborazzi">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Roborazzi">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
3. 项目的配置文件介绍
Roborazzi 项目的配置文件主要包括 settings.gradle
和 build.gradle
。
settings.gradle
settings.gradle
文件定义了项目的模块和依赖关系。
rootProject.name = 'roborazzi'
include ':app'
include ':roborazzi-core'
include ':roborazzi-junit'
include ':roborazzi-screenshot-testing'