Flutter问题集锦

2020-12-10  本文已影响0人  钉某人
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",重新编译,只能解决编译问题哦。

上一篇 下一篇

猜你喜欢

热点阅读