flutter_web_plugins/packages/ccc_fplugin/docs/dev_flutter_plugin.rst

99 lines
2.4 KiB
ReStructuredText

=====================
Create Flutter Plugin
=====================
* https://flutter.dev/docs/development/platform-integration/platform-channels#codec
From flutter.dev:
**"some specific steps are needed to ensure a smooth experience"**
SOURCE CODE
===========
Plugin Implementation
---------------------
Init Project
------------
Generate Project:
::
# generate flutter plugin project
$ flutter create --org io.malloc.ccc --template=plugin ccipherchain
# generate with kotlin and swift support
$ flutter create --org io.malloc.ccc --template=plugin -i swift -a kotline ccipherchain
DART plugin code is in: ccc_fplugin/lib/ccc_fplugin.dart
JAVA plugin code is in: android/
iOS plugin code is in: ios/
EXAMPLE code is in: ccc_fplugin/example/lib/main.dart
$ cd ccc_fplugin/example
$ flutter run
Open Android Java Project to edit:
* **OPEN: ./example/android/build.gradle file in Android Studio**
* to edit platform code in an IDE see https://flutter.io/developing-packages/#edit-plugin-package.
Notes
=====
WEB Info
--------
* FLUTTER
- https://flutter.dev/docs/development/packages-and-plugins/developing-packages
* Good Example
- https://medium.com/flutter-io/writing-a-good-flutter-plugin-1a561b986c9c
* How to Open Android Source Code Plugin Lib Inside Flutter Project
- https://github.com/flutter/flutter/issues/19830
ISSUES
======
edit ./android && ./example/android
-----------------------------------
**OPEN: ./example/android/build.gradle file in Android Studio**
the gradle file there also includes the flutter plugin project, which
will also cascade to include the android project, etc...VERY convoluted!!
BASTARDS!!
* Flutter Trouble Tickets
- https://github.com/flutter/flutter/issues/19830
- https://github.com/flutter/flutter/issues/11632
- https://github.com/flutter/flutter/issues/9698
* --or-- add flutter.jar to the project
- j3g/apps/flutter/bin/cache/artifacts/engine/android-x64/flutter.jar
MISC
====
::
Host platform code is in the "android" and "ios" directories under ccc_fplugin.
To edit platform code in an IDE see https://flutter.io/developing-packages/#edit-plugin-package.
ISSUE -->
android: https://flutter.dev/docs/development/packages-and-plugins/developing-packages#step-2b-add-android-platform-code-javakt
ios: https://flutter.dev/docs/development/packages-and-plugins/developing-packages#step-2c-add-ios-platform-code-hmswift