如何在Flutter中将第三方Android库导入Java文件

8

我想将一个Java库导入到Flutter应用程序中。我知道我需要通过Dart桥或平台通道调用这个Java文件的方法,详情请参考https://flutter.io/platform-channels/。然而,我还没有能够使我尝试导入的库的方法可调用或可导入。当在Android Studio中单独查看Java文件时,这些方法是可用的,但在Flutter中查看时不可用。


请将您已经完成的导入库的代码添加到其中。另外,您所说的“使用Flutter查看”是什么意思? - boformer
到目前为止,我已经在Android Gradle中添加了“compile 'io.particle:cloudsdk:0.5.0'”,然后通过控制台使Gradle检索依赖项。就像将库导入常规Android应用程序一样。“使用Flutter查看”是指查看整个项目,包括Android、iOS和Dart代码。当您右键单击Android文件时,可以像在Android中正常打开它们一样将其作为单独的项目打开。当仅查看Android文件时,我可以使用库中的方法和类。但是,在查看整个项目时,它不知道这些方法和类。 - Tkgn15
1个回答

9

有了额外的信息,我能够重现这个问题。

要编辑原生Android应用程序,您必须在Android Studio的新实例中打开它:

enter image description here

要添加库 io.particle:cloudsdk:0.5.0,您需要将其添加到 app 子文件夹中的 build.gradle 中。您还需要启用 Java 1.8 支持:
android {
    ...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

...

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'

    implementation 'io.particle:cloudsdk:0.5.0'
}
当您在单独的窗口中打开Android项目时,IDE才能识别库。Flutter应用程序仍将编译而不会出现问题。 为了消除Flutter项目中的红色错误下划线,您可以卸载,然后重新加载Android模块(右键单击android文件夹>装载/卸载模块...)。

enter image description here


实际上,当我右键单击Android文件夹时,我没有看到加载/卸载模块。但是,我相信通过点击“同步Android”按钮,我能够获得相同的期望结果。无论如何,它已经编译成功了,谢谢! - Tkgn15
我添加了另一张截图,显示选项的位置。 - boformer
是的,我看到了如何在打开模块设置和创建Gist按钮之间加载/卸载模块,但出于某种原因,我的菜单中没有这个选项。 - Tkgn15
@boformer现在导出iOS应用程序没有问题吗?还是这个解决方案只适用于Android? - DolDurma
3
这个问题/答案仅与Android相关,不影响iOS的导出。请记住,在iOS上无法使用Java库。 - boformer
我按照你提到的所有点都做了,但是我的Flutter项目仍然有红色错误下划线。 - Mo Meshkani

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,