mirror of
https://github.com/flutter/samples.git
synced 2025-11-08 13:58:47 +00:00
restructured the add to app samples (#698)
This commit is contained in:
88
add_to_app/prebuilt_module/README.md
Normal file
88
add_to_app/prebuilt_module/README.md
Normal file
@@ -0,0 +1,88 @@
|
||||
# prebuild_module
|
||||
|
||||
Embeds a full screen instance of Flutter as a prebuilt library that can be
|
||||
loaded into an existing iOS or Android app.
|
||||
|
||||
## Description
|
||||
|
||||
These apps are essentially identical to `android_fullscreen` and
|
||||
`ios_fullscreen`, respectively, with one key difference. Rather than being set
|
||||
up to compile the `flutter_module` from source each time the app is built, they
|
||||
import a the module as a prebuilt `aar` (Android) or framework (iOS). This can
|
||||
be useful for teams that don't want to require every developer working on the
|
||||
app to have the Flutter toolchain installed on their local machines.
|
||||
|
||||
Prior to building either project for the first time, the `flutter_module` needs
|
||||
to be built.
|
||||
|
||||
**Building for `android_using_prebuilt_module`**
|
||||
|
||||
To build `flutter_module` as an aar, run this command from the `flutter_module`
|
||||
directory:
|
||||
|
||||
```bash
|
||||
flutter build aar
|
||||
```
|
||||
|
||||
It will produce `aar` files for debug, profile, and release mode. The Android
|
||||
app is configured to import the appropriate `aar` based on its own build
|
||||
configuration, so if you build a debug version of the app, it will look
|
||||
for the debug `aar`, and so on.
|
||||
|
||||
If the `flutter_module` project is updated, the `aar` files must be rebuilt via
|
||||
one of the commands above in order for those changes to appear in the app.
|
||||
|
||||
**Building for `ios_using_prebuilt_module`**
|
||||
|
||||
To build `flutter_module` as a set of frameworks, run this command from the
|
||||
`flutter_module` directory:
|
||||
|
||||
```bash
|
||||
flutter build ios-framework --xcframework --output=../ios_using_prebuilt_module/Flutter
|
||||
```
|
||||
|
||||
This will output frameworks for debug, profile, and release modes into
|
||||
`ios_using_prebuilt_module/Flutter`. The project file for
|
||||
`ios_using_prebuilt_module` has been configured to find the frameworks there.
|
||||
|
||||
For more information on how to modify an existing iOS app to reference prebuilt
|
||||
Flutter frameworks, see this article in the Flutter GitHub wiki:
|
||||
|
||||
https://flutter.dev/docs/development/add-to-app/ios/project-setup
|
||||
|
||||
## tl;dr
|
||||
|
||||
If you're just looking to get up and running quickly, these bash commands will
|
||||
fetch packages and set up dependencies (note that the above commands assume
|
||||
you're building for both iOS and Android, with both toolchains installed):
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
cd flutter_module/
|
||||
flutter pub get
|
||||
|
||||
# For Android builds:
|
||||
flutter build aar
|
||||
open -a "Android Studio" ../android_using_prebuilt_module/ # macOS only
|
||||
# Or open the ../android_using_prebuilt_module folder in Android Studio for
|
||||
# other platforms.
|
||||
|
||||
# For iOS builds:
|
||||
flutter build ios-framework --xcframework --output=../ios_using_prebuilt_module/Flutter
|
||||
open ../ios_using_prebuilt_module/IOSUsingPrebuiltModule.xcodeproj
|
||||
```
|
||||
|
||||
## Requirements
|
||||
|
||||
* Flutter
|
||||
* Android
|
||||
* Android Studio
|
||||
* iOS
|
||||
* Xcode
|
||||
* Cocoapods
|
||||
|
||||
## Questions/issues
|
||||
|
||||
See [add_to_app/README.md](../README.md) for further help.
|
||||
Reference in New Issue
Block a user