【问题标题】:Android Studio Gradle javax.mail activation.jar dependency issueAndroid Studio Gradle javax.mail activation.jar 依赖问题
【发布时间】:2015-03-11 20:48:03
【问题描述】:

我正在将我的 Swing 应用程序移植到 Android。我在我的 Swing 应用程序中使用 mail.jar 和 jscape 的安全 iNet 工厂 (sinetfactory.jar) 来支持 FTP/SFTP/SSH。

mail.jar 和 sinetfactory.jar 都使用具有 java.awt 依赖项的 java 激活框架 (activation.jar)。 android版mail.jar和activation.jar被修改,去掉了对java.awt的依赖。

当我将 android mail.jar、activation.jar 和 sinetfactory.jar 添加到我的 Android Studio 项目时,我收到以下错误:
意外的顶级异常:
com.android.dex.DexException:多个dex文件定义了Lcom/sun/activation/registries/LineTokenizer;

这个完全相同的错误有一个topic on StackOverflow,但不适用于我的情况。该主题似乎是 Gradle 问题。我的问题是我有 2 个具有相同依赖项(激活框架)的库。我需要使用两个版本的activation.jar。即mail.jar需要android修改版本的activation.jar,而sinetfactory.jar需要原始java版本的activation.jar。

我有哪些选择来解决这个问题?这可以通过一些 gradle 设置来完成吗?

【问题讨论】:

    标签: email gradle frameworks activation


    【解决方案1】:

    尝试使用它

    android {
    
        packagingOptions {
           exclude 'META-INF/DEPENDENCIES.txt'
           exclude 'META-INF/LICENSE.txt'
           exclude 'META-INF/NOTICE.txt'
           exclude 'META-INF/NOTICE'
           exclude 'META-INF/LICENSE'
           exclude 'META-INF/DEPENDENCIES'
           exclude 'META-INF/notice.txt'
           exclude 'META-INF/license.txt'
           exclude 'META-INF/dependencies.txt'
           exclude 'META-INF/LGPL2.1'
       }
    
       defaultConfig {
    
           // Enabling multidex support.
           multiDexEnabled true
       }
    }
    
    compile 'javax.mail:javax.mail-api:1.5.3'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-01
      • 2021-02-10
      • 2018-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-13
      • 2015-01-25
      相关资源
      最近更新 更多