【问题标题】:Split lib_main was defined multiple times拆分 lib_main 已多次定义
【发布时间】:2016-04-20 14:25:50
【问题描述】:

多次定义拆分 lib_main

在“com.android.tools.build:gradle:2.0.0-alpha3”构建成功, 但是“com.android.tools.build:gradle:2.0.0-alpha5”中出现的错误。


终于即时运行工作! com.android.tools.build:gradle:2.0.0-alpha8 和 gradle.properties "org.gradle.jvmargs = -Xmx8g" 已解决。

【问题讨论】:

  • 遇到完全相同的问题。您是否偶然使用了产品风味和 applicationIdSuffix?
  • 很遗憾,不要使用“product flavor”和“applicationIdSuffix”。但使用“MultiDex”。
  • 这里有同样的错误,禁用即时运行会有所帮助。仅适用于运行 Android 6 的设备。Android Studio 2.0 5 使用 applicationIdSuffix、MultiDex、不使用产品风味
  • @Happydev 通过禁用 Instantrun 解决!
  • @bkurzius 它不像我的解决方案,整个更新点是即时运行。我希望有人能找到像删除一些库或插件这样的东西......因为即时运行在另一个项目的 Marshmallow 上效果很好。

标签: android android-studio android-studio-2.0


【解决方案1】:

恢复:

删除 (projectFolder)/app/build 文件夹并重新构建对我有用。 (由@AskQ 回答)

我想知道 Build > Clean Project 是否也能正常工作;来自 Android Studio GUI 菜单。

回避:

在我的情况下,问题似乎已经发生,因为我复制粘贴了一个项目,所以 2 个项目具有相同的名称。
与其他原因一样,了解它们是什么可以帮助用户避免这种担忧。

【讨论】:

  • 我遇到了同样的错误,在 Clean Projekt 之后应用再次运行
  • 完全清理/重建对我也有用。重新启动之间连接的设备以​​取得良好的效果。
【解决方案2】:

这可能是因为你的包名是大写的,所以你必须把它改回小写。

【讨论】:

    【解决方案3】:

    只需删除 build 文件夹appmodule 并重建项目!

    这将解决问题!。

    【讨论】:

    • 太棒了!这应该被标记为正确的解决方案。谢谢
    • 成功了!只是重建并重新启动 AVD 并没有帮助!
    • 不应该“使缓存无效并重新启动”也使构建无效吗?因为显然它不适用于这种情况
    • 禁用不是首选方式。无需删除“构建”文件夹。只需重建项目。
    【解决方案4】:

    Android 工作室 2.3.3 在设置中禁用即时运行后,它对我有用...

    转到设置-> 构建、执行和开发-> 即时运行->取消选中 启用 Instant Run 以进行热插拔 然后清理项目并重新构建您的项目!

    【讨论】:

    • 在设置中禁用即时运行也对我有用。
    【解决方案5】:

    我在 gradle 中重构和更改应用名称后遇到了这个问题。在 AskQ 的带领下,我重建了项目(遵循稍微不同的路径):

    Build-> Clean Project

    紧随其后

    Build-> Rebuild Project

    解决了问题

    【讨论】:

      【解决方案6】:

      对于那些想知道 InstantRun 是什么的人(图片中的第一个设置):

      是的,禁用该设置可以解决问题。

      编辑 01/19/16

      'com.android.tools.build:gradle:2.0.0-alpha6' 是三天前发布的。使用该新版本,“Split lib_main was defined multiple times”错误消失了,应用程序安装成功,但现在出现运行时错误:

      java.lang.RuntimeException: Unable to instantiate application
      com.android.tools.fd.runtime.BootstrapApplication:
      java.lang.ClassNotFoundException: Didn't find class
      "com.android.tools.fd.runtime.BootstrapApplication" on path:
      DexPathList[[zip file "/data/app/com.onegravity.k10.pro2-2/base.apk",
      zip file "/data/app/com.onegravity.k10.pro2-/split_lib_main.apk"]
      
      Caused by: java.lang.ClassNotFoundException: Didn't find class
      "com.android.tools.fd.runtime.BootstrapApplication" on path:
      DexPathList[[zip file "/data/app/com.onegravity.k10.pro2-2/base.apk",
      zip file "/data/app/com.onegravity.k10.pro2-2/split_lib_main.apk"]
      
      Suppressed: java.io.IOException: No original dex files found for dex location
      /data/app/com.onegravity.k10.pro2-2/base.apk
      
      Suppressed: java.lang.ClassNotFoundException:
      com.android.tools.fd.runtime.BootstrapApplication
      

      关闭即时运行可消除该错误。 让我们等待 com.android.tools.build:gradle:2.0.0-alpha7...

      编辑 01/25/16

      'com.android.tools.build:gradle:2.0.0-alpha7' 两天前发布。

      获得与 2.0.0-alpha6 相同的异常

      【讨论】:

      • 好吧,我想这会破坏我今天早上更新的全部要点:-/
      • 我似乎花费越来越多的时间来对抗构建系统。就好像 Android 开发变得越来越面向构建/部署和更少的编码......真的很遗憾,因为我喜欢 Gradle 构建系统的灵活性。
      • 好吧,如果他们可以立即运行,那将是值得的痛苦,但到目前为止我的经验并不好:-(
      • 即使在其他即时运行的应用程序中,我也不得不将其关闭。即时运行不起作用的情况太多了。我猜还是 alpha...
      • 谢谢 .. 我在稳定版 2.3.1 上得到这个
      猜你喜欢
      • 2018-11-14
      • 2019-01-31
      • 2019-04-15
      • 1970-01-01
      • 1970-01-01
      • 2016-06-03
      • 1970-01-01
      • 2022-10-15
      • 1970-01-01
      相关资源
      最近更新 更多