1

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

但我想链接 DexGuard 库:

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

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

4

1 回答 1

2

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

于 2015-12-07T07:53:52.593 回答