macOS上好用的安卓模拟器不多,用过网易mumu模拟器还不错,就一直在用。
不知道Windows或者macOS其他安卓模拟器的情况是怎么样的,但是在网易mumu模拟器上调试Flutter应用直接执行flutter run后app会闪退,报错内容为Failed to setup Skia Gr content.。
经过一番搜索后,获悉需要增加一个--enable-software-rendering参数,的确解决了这个问题。
那问题就来了,这个参数只能作为执行命令flutter run时搭配使用
使用flutter build apk编译为apk给安卓模拟器安装并启动之后一样会直接闪退,但这时可没有办法使用--enable-software-rendering参数了。
再一番搜索后在stackoverflow发现有答案,愣着啊,抄干嘛(开玩笑,抄还是要抄的)?
经过一番与时俱进的操作后,最后要在android/app/src/main/java/appid/MainActivity.java文件添加的代码如下:
import android.os.Bundle;
// 其它import语句
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);
super.onCreate(savedInstanceState);
}
}
kotlin的对应代码请参照并自行摸索。
打完收工。
编译后的apk实测可以在网易mumu模拟器上运行。