1.原生的android代码跳转Flutter页面有黑屏的情况,
跳转方式如下:
// 实例化FlutterEngine对象
FlutterEngine flutterEngine = new FlutterEngine(this);
// 设置初始路由
flutterEngine.getNavigationChannel().setInitialRoute("route1");
// 开始执行dart代码来pre-warm FlutterEngine
flutterEngine.getDartExecutor().executeDartEntrypoint(
DartExecutor.DartEntrypoint.createDefault()
);
// 缓存FlutterEngine
FlutterEngineCache.getInstance().put("my_engine_id", flutterEngine);
//跳转到Flutter页面有黑屏现象
Intent intent = FlutterActivity.withCachedEngine("my_engine_id").build(MainActivity.this);
startActivity(intent);
在Android响应Activity对应的theme中添加如下
<item name="android:background">@android:color/transparent</item>
2.原生android接入flutter遇到的一个编译问题,
在android原生项目中创建Flutter的module,在编译时遇到
FAILURE: Build failed with an exception.
* Where:
Script 'D:\fluttersdk\packages\flutter_tools\gradle\flutter.gradle' line: 752
* What went wrong:
A problem occurred configuring project ':app'.
> Failed to notify project evaluation listener.
> Could not get unknown property 'android' for project ':app' of type org.gradle.api.Project.
> Could not get unknown property 'android' for project ':app' of type org.gradle.api.Project.
> Could not get unknown property 'android' for project ':app' of type org.gradle.api.Project.
.............
* Get more help at https://help.gradle.org
CONFIGURE FAILED in 0s
解决编译问题:
android原生项目中的app目录被我改成了app-platform,在x:\fluttersdk\packages\flutter_tools\gradle\flutter.gradle' line: 752处附近,找到
// Flutter module included as a subproject in add to app.
String hostAppProjectName = project.rootProject.hasProperty('flutter.hostAppProjectName') ? project.rootProject.property('flutter.hostAppProjectName') : "app"
Project appProject = project.rootProject.findProject(":${hostAppProjectName}")
assert appProject != null : "Project :${hostAppProjectName} doesn't exist. To custom the host app project name, set `org.gradle.project.flutter.hostAppProjectName=<project-name>` in gradle.properties."
将"app"改成"app-platform",重新编译,只能解决编译问题哦。