java - 有没有办法让 Android 中的 Dex Loader 允许多个类?

标签 java android

当我有一个使用库项目的 android 项目并且它们都在 apt_ generated 文件夹中生成具有相同名称的类时,我收到“Dex Loader]无法执行 dex:多个 dex 文件定义 xxx”错误。该类在两个项目中的名称和内容完全相同,但由于有多个类,因此在尝试部署时出现错误。是否有一个标志或任何可以设置的东西总是使用第一个类并忽略任何其他具有相同名称的类?

最佳答案

一种选择是从项目之一的构建中排除库项目。

库项目依赖项存储在 Eclipse/ADT 中的 Android Private Libraries 类路径容器中。

在最新的 ADT(可能还有旧版本)中,您可以选择不导出此类路径容器。

想象一下如果您有一个项目取决于

  • Google Play 服务库。
  • android-maps-utils(Google map 扩展库项目,也依赖于 Google Play 服务)

在这种情况下,您将在打包/部署时遇到以下错误:

Unable to execute dex: Multiple dex files define Lcom/google/android/gms/R$attr;
Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/google/android/gms/R$attr;

如果您通过取消选中 Java 构建路径的“Order and Export1” View 中突出显示的容器来将 android-maps-utils 项目配置为不导出 Android Private Libraries,则会出现 Dex 错误离开。

enter image description here

关于java - 有没有办法让 Android 中的 Dex Loader 允许多个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17032157/

相关文章:

java - 使用 Cloudant Client Search API 不会返回所有预期结果

java - 将android 8888位图设置为全零

Android listfragment onItemClick 不工作?

android - Flutter:将图标放置在居中的 CircleAvatar 旁边

java - Selenium 中的用户登录身份验证?

java - 没有任何实现和变量的抽象类是有效的接口(interface)吗?

Java数组问题

java - 找不到符号方法 onActivityResult(int,int,Intent)

java - 无法解析符号 CoordinatorLayout

java - 遍历 JTabbedPane 中的选项卡组件