因为flutter项目的安卓端默认用的是kt , 我比较熟悉java , 所以先删除项目下的android 文件夹, 重新生成java 的安卓代码
flutter create -a java .
准备工作做完了!
-
在android -> app -> src -> main-> java-> com.example.HotFlutter 下新建类MyFlutterActivity,如图:
-
MyFlutterActivity 类继承 FlutterActivity ,重写getFlutterShellArgs() 方法,将我们需要热更新的文件配置进去,有注释 , 直接贴代码:
package com.example.HotFlutter;
import android.Manifest;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import io.flutter.embedding.android.FlutterActivity;
import io.flutter.embedding.engine.FlutterShellArgs;
public class MyFlutterActivity extends FlutterActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//申请权限
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M