如何在Java项目中使用DexGuard和Gradle

时间:2015-12-01 08:48:01

标签: java android gradle dexguard

我正在尝试在Gradle的Java项目中使用DexGuard插件。它是android的库项目。

但我想链接DexGuard库whitout:

apply plugin: 'com.android.application'

因为我需要使用:

apply plugin: 'java'

是否可以这样使用DexGuard插件?

我需要这种方式才能使用,因为我需要使用额外的插件:

apply plugin: 'com.github.johnrengelman.shadow'

我有一个问题是将这个插件与android插件结合使用...

我的傻瓜:

buildscript {
    repositories { 
        jcenter()
        flatDir dirs: 'DexGuard/lib'
    }
}
    dependencies {
        classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.2'
        classpath ':dexguard'
    }
}

apply plugin: 'java'
apply plugin: 'com.github.johnrengelman.shadow'

repositories {
    mavenCentral()
}

dependencies {
    compile fileTree(dir: 'libs', include: '**/*.jar')
}

sourceSets {
    main {
        java.srcDirs = ['src']
    }
}

shadowJar {
...
}

task sdkDexguard(type: com.saikoa.dexguard.gradle.DexGuardTask) {
    configuration 'dexguard.txt'
    injars  'build/classes'
    injars  'libs'
    outjars 'build/application.apk'
}

我无法建立任务列表。行任务sdkDexguard出错:

Could not find property 'com' on root project

UPD 库DexGuard 6.1.11中的问题用于独立使用。 GuardSquare团队很快就会解决这个问题。

1 个答案:

答案 0 :(得分:2)

7.0.31版中的问题已解决。现在可以将此方法用于独立使用。