我使用默认值创建了一个Flatter项目,默认值是Android的Kotlin和iOS的Swift.在项目进行到一半时,我需要集成一个需要Java的第三方Android SDK.在创建之后,我可以将Flutter项目转换为Android的Java吗?

我知道我需要你使用平台渠道将本地代码集成到我的Ffltter应用程序中,这不是我关心的.

推荐答案

我也有同样的问题,对我来说,这个解决方案是有效的.

  1. Move folder com.example.test_app (any name you have) from android/app/src/main/kotlin -> android/app/src/main/java
  2. 替换主活动.kt的Java版本,或者复制到这里

    package com.example.test_app;
    
    import androidx.annotation.NonNull;
    import io.flutter.embedding.android.FlutterActivity;
    import io.flutter.embedding.engine.FlutterEngine;
    import io.flutter.plugins.GeneratedPluginRegistrant;
    
    public class MainActivity extends FlutterActivity {
     @Override
     public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
     GeneratedPluginRegistrant.registerWith(flutterEngine);
     }
    }
    
  3. 删除以下代码android/app/build.grale

    ...
    apply plugin: 'kotlin-android'
    ...
    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }
    
  4. 在相同位置替换以下内容:

    dependencies {
        implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'androidx.test:runner:1.1.0'
        androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
    }
    

    dependencies {
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.2'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    }
    

Flutter相关问答推荐

Flutter -修改子小部件中的AppBar

如何更改ElevatedButton的 colored颜色 以按下它?

下拉图标未居中

我怎样才能判断一个字符串值是否为空(&Q;&Q;)?

允许冻结在初始化时使用工厂

如何在用Ffltter成功登录后重定向下一页?

找不到任何与 com.google.firebase:firebase-sessions:[15.0.0, 16.0.0) 匹配的版本

没有为类型 'Widget' 定义运算符 '[]' .try 定义运算符[]

如何使Flutter 屏幕无法关闭?

如何从 Flutter 中的 App2 远程点击 App1 中的按钮

升级到 Flutter 3.10 后,Flutter 键盘填充不起作用. Flutter 3.10 如何防止 BottomSheet 被键盘覆盖?

更改 flutter listview 中的布局

Flutter Flame OS 错误:使用音频文件 .wav 时出现该进程无法访问该文件,因为它正被另一个进程使用

有没有办法在没有收缩包装的情况下在列中使用 ListView.Builder?

flutter 中 // 和 /// 有什么区别

如何在 flutter 中同时使用 ButtonStyle() 和 ElevatedButton.styleFrom() ?

如何使用 Rrect 或类似工具在 flutter 中绘制梯形线?

TextSpan 避免符号字符串组上的换行符

在 Flutter 中单击时切换按钮 colored颜色 没有改变

在另一个页面编辑数据后更新 Flutter 页面的惯用方法?