美文网首页
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