Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 编译应用程序时,R8程序类型中已存在错误_Android_Flutter_Webview_Android R8 - Fatal编程技术网

Android 编译应用程序时,R8程序类型中已存在错误

Android 编译应用程序时,R8程序类型中已存在错误,android,flutter,webview,android-r8,Android,Flutter,Webview,Android R8,我正试图编译颤振的APK,但我在r8中遇到了一个错误。我已经在Flutter中使用了其他应用程序,但是我从来没有遇到过编译和测试的问题。我意识到问题在于WebView库,因为当我从pubspec中删除它时,应用程序会编译。但我现在不能放弃使用WebView,它对应用程序很重要。奇怪的是,我可以在设备上调试应用程序 我尝试了以下几种解决方案: gradlew clean in project-flutter / android flutter clean 以及以下步骤: 更新至发布规范中web

我正试图编译颤振的APK,但我在r8中遇到了一个错误。我已经在Flutter中使用了其他应用程序,但是我从来没有遇到过编译和测试的问题。我意识到问题在于WebView库,因为当我从pubspec中删除它时,应用程序会编译。但我现在不能放弃使用WebView,它对应用程序很重要。奇怪的是,我可以在设备上调试应用程序

我尝试了以下几种解决方案:

gradlew clean in project-flutter / android
flutter clean
以及以下步骤:

  • 更新至发布规范中webview依赖项的最新版本
  • 我已经切换到颤振主频道
  • 还执行了颤振升级,但没有解决问题
我得到以下错误:

R8:程序类型已存在: io.flatter.plugins.webviewflatter.BuildConfig

失败:生成失败,出现异常

出了什么问题:

任务的执行失败 “:app:transformClassesAndResourcesWithR8ForRelease”。 com.android.tools.r8.CompilationFailedException:编译失败 完整的


参考r8:

因为消息表明类
io.flatter.plugins.webviewflatter.BuildConfig
在输入中出现两次。您将需要跟踪具有该类的两个依赖项

你可以用

./gradlew app:dependencies

获取有关所有依赖项的信息。然后,您需要找出如何避免这些依赖项之一。

为我工作

我用webview\u media 0.1.1+3替换了pubspec.yaml中的webview\u flatter 0.3.19+9


这对我真的很有帮助[

找到答案后,您可以从pubspec.yaml中删除
webview\u flatter
,因此您只需在pubspec.yaml上使用
youtube\u player\u flatter
。您仍然可以在dart上使用带有
webview\u flatter
的所有功能的webview使用webview创建的文件。

我遇到这个问题是因为youtube\u player\u flatter和flatter\u html使用相同的依赖项flatter\u webview

我用这个,工作得很有魅力

  • 颤振html:^1.0.0
  • webview_颤振:^0.3.19+5
  • youtube_player_flatter:6.0.3+2
    • 为我工作。
      只需更新youtube\u player\u flatterwebview\u flatter的软件包。之后,使用flatter cleanflatter packages get命令解决此问题。

      我使用webview\u flatter和youtube\u player\u flatter时遇到了相同的问题。我使用了@srinivasanrsp的解决方案在Github上,它很有效

      问题是: youtube\u player\u Flatter使用webview播放来自youtube的视频。因此,您(不知不觉地)尝试导入并使用相同的软件包

      解决方案:

      • 从pubspec.yaml文件中删除webview_颤振包
      • 使用import“package:webview\u media/webview\u flatter.dart”作为您的网络视图。; 这个很好用

      我的webview插件也面临着类似的问题,错误为D8:程序类型已经存在:io.flatter.plugins.webviewflatter.BuildConfig。事实上,我在为我的项目构建APK时遇到了完全相同的问题,但在我的测试设备上运行时,它可以正常工作。我发现我使用的是youtube\u player\u flatter插件,如果我删除了它,我就可以使用它t、 构建过程会很好地工作,但仍然不知道为什么最新版本的flifter有如此多的依赖项不能一起工作(这不是我第一个不能一起使用某些依赖项的问题)是否有其他方法可以继续使用插件/依赖项?只包含链接的答案将在将来被删除,因此请将您的答案与代码及其解释一起发布。
      ./gradlew app:androidDependencies