美文网首页
Flutter 插件开发总结

Flutter 插件开发总结

作者: 渚清与沙白 | 来源:发表于2024-07-31 20:21 被阅读0次

一、Service的声明
在插件中,有使用到Service时,插件项目中需要在AndroidManifest.xml中声明,同时依赖插件的宿主项目也需要在AndroidManifest.xml中声明。这是因为 Android 系统要求在应用的清单文件中明确声明所有服务。

二、原生调用Flutter的函数

// Android中调用
methodChannel?.invokeMethod(Constant.STEP_SLEEP_HISTORY,data)

// flutter中调用 setMethodCallHandler
FlutterWearPlatform.instance
        .getMethodChannel()
        .setMethodCallHandler((MethodCall call) async {
}

三、jar、aar、so文件的配置

  • 在android目录下面创建libs文件夹,存放jar和aar文件
  • 在android/src/main目录下创建jniLibs 文件夹,存放so文件
  • 在android/build.gradle文件中配置 flatDir
rootProject.allprojects {
    repositories {
        google()
        mavenCentral()
        maven { url 'https://www.jitpack.io' }
        flatDir {
            dirs project(':flutter_test').file('libs')
        }
    }
}
image.png

四、插件中使用gson进行序列化时,启用混淆会导致属性字段被修改,flutter层收到的数据无法解析
需要在宿主项目中添加gson相关类和对象类避免被混淆

# 保留 Gson 使用的类和字段名称
-keepattributes Signature
-keepattributes *Annotation*

# 保留 Gson 的所有模型类
-keep class com.smartgoyucheng.flutter_wear.** { *; }

# 保留所有在 Gson 中使用的类
-keep class com.google.gson.** { *; }

相关文章

网友评论

      本文标题:Flutter 插件开发总结

      本文链接:https://www.haomeiwen.com/subject/hpwnhjtx.html