99 lines
2.4 KiB
ReStructuredText
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
|
|
|