有没有可能这样做:
flutter build apk --enable-software-rendering我需要一个发布版本,执行说的方式如下:
flutter run --enable-software-rendering --profile谢谢。
发布于 2019-01-07 02:36:34
TL;DR将getIntent().putExtra("enable-software-rendering", true);置于您的onCreate()之上
备注-我假设安卓是从"apk“的标题和软件渲染的需要。
查看源代码,flutter run的--enable-software-rendering标志导致使用am start和--ez enable-software-rendering true启动活动,这会将其作为布尔值附加到意图中。
如果您希望控制何时从代码使用软件渲染(例如,取决于应用程序接口级别或设备型号),请在onCreate()中额外设置所提到的意图。
完整示例:
import android.os.Bundle;
import io.flutter.embedding.android.FlutterActivity;
public class MyActivity extends FlutterActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
// use software rendering (ideally only when you need to)
getIntent().putExtra("enable-software-rendering", true);
// start Flutter
super.onCreate(savedInstanceState);
}
}发布于 2020-09-16 23:44:53
对于那些因为正在为你的Flutter Android应用程序崩溃而苦苦挣扎的人来说,他们会遇到以下错误
ERROR:flutter/shell/gpu/gpu_surface_gl Failed to setup Skia Gr context当被放到后台返回前台时,只需像我们的朋友Matej Snoha上面所说的那样,将enable-software-rendering添加到"onCreate“方法中。
换句话说,将android/app/src/main/kotlin/[project]/MainActivity文件更改为以下Kotlin代码:
class MainActivity : FlutterActivity() {
// add onCreate method (if not exists)
override fun onCreate(savedInstanceState: Bundle?) {
// add this line to "onCreate" method
this.getIntent().putExtra("enable-software-rendering", true)
// don't forget to call "super"
super.onCreate(savedInstanceState)
}
}它对我来说就像是一种魔力(不需要给Flutter.startInitialization(this);打电话)。
发布于 2020-11-10 19:34:55
Matej的回答为基于Java的颤动应用程序提供了解决方案。对于使用Kotlin启动的新创建的应用程序,代码如下:
import android.os.Bundle;
import io.flutter.embedding.android.FlutterActivity
class MainActivity: FlutterActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
// use software rendering (ideally only when you need to)
getIntent().putExtra("enable-software-rendering", true)
// start Flutter
super.onCreate(savedInstanceState)
}
}MainActivity类位于以下路径中:
android/app/src/main/kotlin/com/.../.../MainActivity.kthttps://stackoverflow.com/questions/50127070
复制相似问题