Flutter 可以作为源代码 Gradle 子项目或 AAR 零碎嵌入到您现有的 Android 应用程序中。
依赖于 Android 存档 (AAR)
此选项将您的 Flutter 库打包为由 AAR 和 POM 工件组成的通用本地 Maven 存储库。此选项允许您的团队在不安装 Flutter SDK 的情况下构建主机应用程序。然后,您可以从本地或远程存储库分发工件。
假设您在some/path/my_flutter 构建了一个 Flutter 模块,然后运行:
cd some/path/my_flutter
flutter build aar
然后,按照屏幕上的说明进行集成。
更具体地说,此命令创建(默认为所有调试/配置文件/发布模式)一个本地存储库,其中包含以下文件:
build/host/outputs/repo
└── com
└── example
└── my_flutter
├── flutter_release
│ ├── 1.0
│ │ ├── flutter_release-1.0.aar
│ │ ├── flutter_release-1.0.aar.md5
│ │ ├── flutter_release-1.0.aar.sha1
│ │ ├── flutter_release-1.0.pom
│ │ ├── flutter_release-1.0.pom.md5
│ │ └── flutter_release-1.0.pom.sha1
│ ├── maven-metadata.xml
│ ├── maven-metadata.xml.md5
│ └── maven-metadata.xml.sha1
├── flutter_profile
│ ├── ...
└── flutter_debug
└── ...
要依赖 AAR,宿主应用程序必须能够找到这些文件。
为此,请在主机应用中编辑 app/build.gradle,使其包含本地存储库和依赖项:
android {
// ...
}
repositories {
maven {
url 'some/path/my_flutter/build/host/outputs/repo'
// This is relative to the location of the build.gradle file
// if using a relative path.
}
maven {
url 'https://storage.googleapis.com/download.flutter.io'
}
}
dependencies {
// ...
debugImplementation 'com.example.flutter_module:flutter_debug:1.0'
profileImplementation 'com.example.flutter_module:flutter_profile:1.0'
releaseImplementation 'com.example.flutter_module:flutter_release:1.0'
}
提示:您还可以在 Android Studio 中使用Build > Flutter > Build AAR 菜单为您的 Flutter 模块构建 AAR。
您的应用现在包含 Flutter 模块作为依赖项。您可以按照向 Android 应用添加 Flutter 屏幕中的后续步骤操作。
欲了解更多信息,请参阅Integrate a Flutter module into your Android project