首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gradle同步与Dexguard插件(Android )失败

Gradle同步与Dexguard插件(Android )失败
EN

Stack Overflow用户
提问于 2015-10-08 13:55:00
回答 2查看 8.8K关注 0票数 5

我在尝试将右护卫集成到我的android/gradle项目时遇到了一些困难。

  • 保安:5.5.32
  • gradle:2.2.1
  • 插件:1.3.0
  • buildToolsVersion:23.0.1

当我apply plugin: 'dexguard'时,我得到以下错误

代码语言:javascript
复制
Error:Unable to load class 'com.android.builder.SdkParser'

编辑:

这是我的应用程序的gradle文件:

代码语言:javascript
复制
buildscript {
    repositories {
        flatDir { dirs '/usr/local/DexGuard5.5.32/lib' }
        jcenter()
    }
    dependencies {
        classpath ':dexguard:'
        classpath 'com.android.tools.build:gradle:1.3.0'
    }
}

apply plugin: 'com.android.application'
apply plugin: 'dexguard' //This, when uncommented produces the error

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile files('libs/commons-collections4-4.0.jar')
    compile files('libs/commons-codec-1.10.jar')
    compile files('libs/gson-2.3.1.jar')
    compile files('libs/jaxb2-maven-plugin:2.1.jar')
    compile project(':sdk')
    compile project(':zxing-lib')
}

android {
    signingConfigs {
        release {
            //my signing config
        }
    }
    compileSdkVersion 22
    buildToolsVersion '23.0.1'
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src/main/java', 'src/main/native', 'src/test/java']
            resources.srcDirs = ['src/main/java', 'src/main/native', 'src/test/java']
            aidl.srcDirs = ['src/main/java', 'src/main/native', 'src/test/java']
            renderscript.srcDirs = ['src/main/java', 'src/main/native', 'src/test/java']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')
    }
    packagingOptions {
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
    }
    buildTypes {
//The following should be uncommented when dexuard works!!!
//        debug {
//            proguardFile plugin.getDefaultDexGuardFile('dexguard-debug.pro')
//            proguardFile 'dexguard-project.txt'
//            proguardFile 'dexguard-project-debug.txt'
//            proguardFile 'proguard-project.txt'
//        }
//        release {
//            proguardFile plugin.getDefaultDexGuardFile('dexguard-release.pro')
//            proguardFile 'dexguard-project.txt'
//            proguardFile 'dexguard-project-release.txt'
//            proguardFile 'proguard-project.txt'
//        }
    }
    allprojects {
        gradle.projectsEvaluated {
            tasks.withType(JavaCompile) {
                options.compilerArgs << "-Xlint:deprecation"
            }
        }
    }
    defaultConfig {
        targetSdkVersion 22
        signingConfig signingConfigs.release
    }
    productFlavors {

        app2 {
            applicationId "some.app.id"
        }
        app {
            applicationId "some.app.id2"
        }
    }
}

你有什么想法?

EN

回答 2

Stack Overflow用户

发布于 2015-10-12 08:48:17

您的DexGuard插件看起来非常过时。据GuardSquare网站报道,最新版本是7.0.22

升级是强制性的,因为7.x版带来了与gradle-plugin 1.3.x和build 23.x的兼容性。

票数 7
EN

Stack Overflow用户

发布于 2015-10-17 11:33:27

你的猫扔了什么?

代码语言:javascript
复制
Error:Unable to load class 'com.android.builder.SdkParser'

这个问题是由android插件与gradle版本不匹配造成的。

礼貌

实际上,您使用的是旧版本的 DexGuard5.5.32,这就是为什么有问题的原因。使用德克斯保卫 &最新的SDK和gradle插件的最新版本。

DexGuard 6.0发布

本节将介绍使用DexGuard强化应用程序的步骤,从确保通信是安全的,一直到加密字符串和类。

并升级您的tools.build:gradle版本以获得更好的方法。

代码语言:javascript
复制
dependencies {
    classpath ':dexguard:'
    classpath 'com.android.tools.build:gradle:1.4.0-beta2'
}

问候

您可以设置compileSdkVersion 23 而不是22

试着这样做,.I希望它能帮助你。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33017863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档