创建 flutter_moudle 在Android 跟目录同级目录下 flutter create -t moduel flutter_module 创建 flutter_moudle
在 Android 项目下setting.gradle 文件下输入
setBinding(new Binding([gradle:this]))
evaluate(new File(
settingsDir.parentFile,
'/flutter_module/.android/include_flutter.groovy'
))
在 app 的 build.gradle 下 引入 flutter 模块
implementation project(':flutter')
同时指定jdk1.8
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
同步项目
同步项目成功之后 通过两种方式调用dart
1
FlutterFragment flutterFragment = Flutter.createFragment("FLUTTER与AndroidNative通信");
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.add(R.id.flutter_frame, flutterFragment);
transaction.commit();
2 val mFlutterView: View = Flutter.createView(this, getLifecycle(), "fragment_flutter")
val mParams = FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT,FrameLayout.LayoutParams.MATCH_PARENT)
addContentView(mFlutterView, mParams)
在flutter_moudle 模块下 输入命令 flutter attach 进入热重载
To hot reload changes while running, press "r". To hot restart (and rebuild state), press "R".
An Observatory debugger and profiler on oppo r7 is available at: http://127.0.0.1:51361/dDZ3VLvRHjU=/
For a more detailed help message, press "h". To detach, press "d"; to quit, press "q".
小r 热重载 R 热重启
flutter attach -d 设备ID
调试 先点击 flutter Attach 在运行项目
fluttrer 创建包和插件 两种方式 一种通过AndroidStudio创建,
一种使用命令行创建,命令如下,
flutter create --org com.example--template=plugin -a java --description "A Flutter plugin for using devices informations in Android" flutter_device_information
常用的命令参数如下:
–org:定义项目的组织结构
-a:用什么语言编写Android代码
–description:插件的描述
-i:用什么语言编写iOS代码
上面那个命令的意思是:创建一个插件,包名为“com.awei”,指定Android代码使用Java语言编写,插件项目名称为“flutter_device_information”,项目描述为:“A Flutter plugin for using devices informations in Android”。
flutter create --template=package “you package name”;
flutter 检查 创建的插件
flutter packages pub publish --dry–run
flutter 发布
flutter packages pub publish