0

目标:集成微博sdk https://github.com/sinaweibosdk/weibo_android_sdk

工作流程:我创建了新项目并添加了weibo sdk。之后运行项目并得到编译错误。

微博毕业:

apply plugin: 'com.android.library'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 8
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile files('libs/weibosdkcore.jar')
}

应用等级:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "ufasreader.cn.weiboclient"
        minSdkVersion 14
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile project(':weiboSDK')
}

设置等级:

    include ':weiboSDK'
    include ':weiboSDKDemo'

项目等级:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.0'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

FAILURE:构建失败并出现异常。

* What went wrong:
Execution failed for task ':app:dexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
    D:\adt-bundle-windows-x86_64-20130522\adt-bundle-windows-x86_64-20130522\sdk\build-tools\21.1.2\dx.bat --dex --no-optimize --output C:\Users\drovorub\work\WeiboClient\app\build\intermediates\dex\debug --input-list=C:\Users\sir\work\WeiboClient\app\build\intermediates\tmp\dex\debug\inputList.txt
Error Code:
    2
Output:

    UNEXPECTED TOP-LEVEL EXCEPTION:
    com.android.dex.DexException: Multiple dex files define Lcom/sina/weibo/sdk/BuildConfig;
        at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
        at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
        at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
        at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
        at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
        at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
        at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)
        at com.android.dx.command.dexer.Main.run(Main.java:246)
        at com.android.dx.command.dexer.Main.main(Main.java:215)
        at com.android.dx.command.Main.main(Main.java:106)



* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

谢谢你的帮助!

4

1 回答 1

1

如果您有两个包含相同类名的 jar,则可能会发生此错误。查看此链接,

无法执行dex:多个dex文件定义了Lcom/myapp/R$array;

尝试运行正在使用其他库项目的主项目时出现“无法执行 dex:多个 dex 文件定义”错误

于 2015-01-16T18:43:50.400 回答