如何从gradle中的sdk中排除jar

时间:2018-02-08 14:45:26

标签: android gradle

大家好我试图从这个丛林sdk compile 'com.admost.sdk:vungle:5.3.0'中排除一个jar库,sdk中的常用库和我使用的导致概率的dagger-2.7,{{1}和gson-2.7我已经尝试了所有我发现都无效的方法。 我在构建项目时遇到的错误是

  

错误:任务':app:transformClassesWithMultidexlistForStagingDebug'的执行失败。   java.io.IOException:无法写[D:\ Geeky \ Work \ UFL \ UFL-Android \ app \ build \ intermediates \ multi-dex \ staging \ debug \ componentClasses.jar](无法读取[C: \ Users \ bisho.gradle \ caches \ transforms-1 \ files-1.1 \ vungle-5.3.0.aar \ b93710fa3315099ee82cab738c995134 \ jars \ libs \ dagger-2.7.jar(;;;;;; **。class)](重复的zip条目[dagger-2.7.jar:dagger / Reusable.class]))

3 个答案:

答案 0 :(得分:1)

在左窗格窗口中选择Project而不是android。见下图。

如果不使用,请删除jar。也从gradle中删除引用。它应该工作。

enter image description here

答案 1 :(得分:1)

You can build this sdk like below example:


    compile("com.github.vungle:vungle-android-sdk:5.3.0") {
            exclude group: 'com.google.dagger', module: 'dagger'
            exclude group: 'com.google.code.gson', module: 'gson'   
            exclude group: 'io.reactivex.rxjava2', module: 'rxjava'
    }

答案 2 :(得分:1)

Pattern p = Pattern.compile("team=([^,]*)[^)]*goalsFor=(\\d+),");

try (Scanner sc = new Scanner(yourData)) {
    while (sc.hasNext()) {
        String line = sc.nextLine();
        Matcher m = p.matcher(line);
        while (m.find()) {
            System.out.printf("Team: %s; Goals: %s", m.group(1), m.group(2));
        }
    }
}