分割lib_main已定义多次


102

分割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?
Michael De Soto

不幸的是,不要使用“产品口味”和“ applicationIdSuffix”。但使用“ MultiDex”。
shinhyo

6
同样的错误,禁用即时运行会有所帮助。仅在运行Android 6的设备上发生。Android Studio 2.0 5使用applicationIdSuffix,MultiDex,不使用产品风格
Happy Dev

1
@Happydev通过禁用InstantRun解决了!
shinhyo

1
@bkurzius它对我来说不是一个解决方案,整个更新点都是即时运行的。我希望有人能找到诸如删除某些库或插件之类的东西……因为即时运行在另一个项目的棉花糖上效果非常好。
快乐的开发者

Answers:


103

对于那些想知道InstantRun是什么的人(图片中的第一个设置): 在此处输入图片说明

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

编辑01/19/16

三天前发布了“ com.android.tools.build:gradle:2.0.0-alpha6”。使用该新版本,“ Split lib_main被多次定义”错误消失了,应用程序安装成功,但是现在我遇到了运行时错误:

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 ...

编辑16年1月25日

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

获得与2.0.0-alpha6相同的异常


2
好吧,我猜想这种方式
破坏

2
我似乎花费越来越多的时间在构建系统上。好像Android开发变得越来越面向构建/部署,而减少了编码……真可惜,因为我喜欢Gradle构建系统的灵活性。
伊曼纽尔·莫克林

1
好吧,如果他们可以立即运行,那将是值得的痛苦,但是到目前为止,我的经验还不是很好:-(
bkurzius

即使在即时运行的其他应用程序中,我也必须将其关闭。在太多情况下,即时运行不起作用。我猜还是阿尔法
伊曼纽尔·莫克林

谢谢..我正在稳定版本2.3.1上获得此
shadygoneinsane

161

删除 build 的文件夹app模块和重建项目!

这将解决问题!


2
大!这应该标记为正确的解决方案。谢谢
Hernan Arber '18

1
工作了!只是重建并重新启动AVD并没有帮助!
MatejC

1
不应“使缓存无效并重新启动”也使构建无效吗?因为显然在这种情况下它不起作用
GabrielOshiro

禁用不是首选方法。无需删除“ build”文件夹。只是重建项目。
Vaibhav

48

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

Build-> Clean Project

其次是

Build-> Rebuild Project

解决了这个问题


11

复苏:

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

我想知道“ 构建”>“清理项目”是否也可以工作?从Android Studio GUI菜单中。

避免:

就我而言,问题似乎是由于我复制粘贴了一个项目而发生的,所以2个项目具有相同的名称。
就像其他原因一样,了解它们是什么可以帮助用户避免这种担忧。


我遇到了同样的错误,并且在Clean Projekt之后,该应用程序再次运行
Franzi

完整的清理/重建对我也很有效。重新启动介于两者之间的已连接设备,以保持良好状态。
Majestic12年


2

Android studio 2.3.3在禁用设置中的即时运行后对我有用...

转到设置 -> 生成,执行和开发 -> 即时运行->取消选中 启用即时运行以热交换,然后清理项目并再次重建项目!


在设置中禁用即时运行对我也有用。
Michael Nwanna
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.