【问题标题】:Adding external JAR to Android project in ECLIPSE causing "Conversion to Dalvik format failed"在 ECLIPSE 中将外部 JAR 添加到 Android 项目导致“转换为 Dalvik 格式失败”
【发布时间】:2016-04-26 00:49:19
【问题描述】:

我在将 mail.jar 和 activation.jar 添加到我的 Android 项目时遇到问题。 当我尝试在模拟器中启动时,我总是收到此消息:

Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536

没有这两个罐子,一切都会正常启动:

[2016-01-20 09:49:57 - FT2500-Mobile] Android Launch!
[2016-01-20 09:49:57 - FT2500-Mobile] adb is running normally.
[2016-01-20 09:49:57 - FT2500-Mobile] Performing com.econorma.activities.MainActivity activity launch
[2016-01-20 09:49:58 - FT2500-Mobile] Uploading FT2500-Mobile.apk onto device 'emulator-5554'
[2016-01-20 09:50:01 - FT2500-Mobile] Installing FT2500-Mobile.apk...
[2016-01-20 09:50:27 - FT2500-Mobile] Success!
[2016-01-20 09:50:27 - FT2500-Mobile] Starting activity com.econorma.activities.MainActivity on device emulator-5554
[2016-01-20 09:50:27 - FT2500-Mobile] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.econorma.ft2500/com.econorma.activities.MainActivity }

我还尝试删除 Google_play_service.lib 并替换为旧版本(版本 21),但我在 javax.activation 邮件中有 NoClassDefFoundError。

【问题讨论】:

    标签: android eclipse email dalvik


    【解决方案1】:

    恭喜!您已超出方法 ID 数量。 More info about this.

    要使用这个库,你需要使用multidex。 将此行添加到 build.gradle 内的 dependencies 部分:

    dependencies {
        // Other dependencies
        compile 'com.android.support:multidex:1.0.1'
        // Other dependencies
    }
    

    此外,您需要从 MultiDexApplication 扩展您的 Application

    【讨论】:

    • @AlessandroMattiuzzi 哎呀。而你没有使用 gradle?
    • 解决了安装旧版本的 Google Play 服务
    • @AlessandroMattiuzzi 很好。但我会考虑将您的构建环境切换到 Gradle。对于当今的 android 开发来说,它更加灵活和标准。更多社区 -> 更少问题 :)
    猜你喜欢
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多