Android 已多次定义拆分库_main

Android 已多次定义拆分库_main,android,android-studio,android-studio-2.0,Android,Android Studio,Android Studio 2.0,已多次定义拆分库主库 在“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”已解决更改。对于那些想知道InstantRun是什么的人(图片中

已多次定义拆分库主库

在“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”已解决更改。

对于那些想知道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
关闭instant run可消除该错误。 让我们等待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相同的异常,只需删除
应用程序
模块的
文件夹重建项目


这将解决问题

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

构建
->
清理项目

构建
->
重建项目

解决了这个问题

Android studio 2.3.3 在禁用即时运行设置后,它对我有效

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

这可能是因为您的包名是大写的,所以您必须将其改回小写。

恢复:

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

我想知道构建>清洁项目是否也会奏效;从Android Studio GUI菜单

避免:

在我的例子中,问题似乎发生了,因为我复制粘贴了一个项目,所以两个项目具有相同的名称。

与其他原因一样,了解这些原因可以帮助用户避免这种担忧。

有完全相同的问题。您是否偶然使用了产品风格和applicationIdSuffix?不幸的是,不要使用“产品风格”和“applicationIdSuffix”。但使用“MultiDex”时会出现同样的错误,禁用instant run会有所帮助。仅适用于运行Android 6的设备。Android Studio 2.0 5使用applicationIdSuffix、MultiDex,不使用产品flavour@Happydev通过禁用instantrun解决了此问题@bkurzius对我来说,它不像一个解决方案,整个更新点都是即时运行的。我希望有人会找到像删除一些库或插件。。。因为instant run在另一个项目的Marshmallow上运行得非常好。我想这一点挫败了我今天早上更新的全部要点:-/我似乎花了越来越多的时间与构建系统进行斗争。这就好像Android开发越来越以构建/部署为导向,而编码却越来越少。。。真的很遗憾,因为我喜欢Gradle build系统的灵活性。如果他们能够立即运行,这是值得的,但到目前为止,我的经验并不好:-(即使在其他使用instant run运行的应用程序中,我也必须关闭它。有太多的情况下,instant run无法运行。我猜仍然是alpha…谢谢..我是在稳定版本2.3.1上获得此功能的。禁用instant run in设置也对我有效。太好了!这应该标记为正确的解决方案。谢谢!重建并重新启动AVD没有帮助!不应该“使缓存无效并重新启动”是否也使生成无效?因为很明显,它在此情况下不起作用禁用不是首选方法。无需删除“build”文件夹。只需重新生成项目。我遇到了相同的错误,在清理项目后,应用程序再次工作。完全清理/重新生成也对我起作用。在两者之间重新启动连接的设备以获得良好的效果。