0

プラグイン ( plugin extends )dexguardの代わりにプラグインを使用しようとすると、次のエラーで失敗します:androiddexguardandroidgradle build process

$ ./gradlew assembleDebug

FAILURE: Build failed with an exception.

* Where:
Build file '/projectRoot/app/build.gradle' line: 1

* What went wrong:
A problem occurred evaluating project ':projectRoot:app'.
 Could not create plugin of type 'g'.

アプリ モジュールの最初の行 build.gradle は

apply plugin: 'dexguard'

私のプロジェクト全体のbuild.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        flatDir { dirs 'path-to-dexguard/lib' }
        mavenCentral()
    }
    dependencies {
        classpath ':dexguard:'
        classpath 'com.android.tools.build:gradle:0.12.+'
    }
}

オプションを有効にして実行しgradlewましたdebug

$ ./gradlew --debug assembleDebug
[ERROR] [org.gradle.BuildExceptionReporter] Caused by: java.lang.NoClassDefFoundError: com/android/builder/DefaultBuildType
[ERROR] [org.gradle.BuildExceptionReporter]     at com.saikoa.dexguard.g.$getStaticMetaClass(DexGuard)
[ERROR] [org.gradle.BuildExceptionReporter]     at com.android.build.gradle.BasePlugin.<init>(BasePlugin.groovy:2173)
[ERROR] [org.gradle.BuildExceptionReporter]     at com.android.build.gradle.AppPlugin.<init>(AppPlugin.groovy:37)
[ERROR] [org.gradle.BuildExceptionReporter]     at com.saikoa.dexguard.g.<init>(DexGuard:90)
[ERROR] [org.gradle.BuildExceptionReporter]     at org.gradle.api.internal.DependencyInjectingInstantiator.newInstance(DependencyInjectingInstantiator.java:62)
[ERROR] [org.gradle.BuildExceptionReporter]     at org.gradle.api.internal.plugins.DefaultPluginRegistry.loadPlugin(DefaultPluginRegistry.java:65)
[ERROR] [org.gradle.BuildExceptionReporter]     ... 46 more
[ERROR] [org.gradle.BuildExceptionReporter] Caused by: java.lang.ClassNotFoundException: com.android.builder.DefaultBuildType
[ERROR] [org.gradle.BuildExceptionReporter]     ... 52 more

私のgradleバージョンは2.1です

$ gradle -v
------------------------------------------------------------
Gradle 2.1
------------------------------------------------------------
Build time:   2014-09-08 10:40:39 UTC
Build number: none
Revision:     e6cf70745ac11fa943e19294d19a2c527a669a53
Groovy:       2.3.6
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.7.0_07 (Oracle Corporation 23.3-b01)
OS:           Mac OS X 10.9.5 x86_64

dexguard の代わりに android を使用している場合、問題はありません。

ヘルプやポインタは大歓迎です。前もって感謝します。

PS:ANT独立して実行しても問題はありません-fwiw。

4

1 に答える 1

1

このエラーは、互換性のないバージョンの Android プラグインで DexGuard プラグインを使用していることを示しています。DexGuard の各バージョンについて、DexGuard マニュアル > Gradle ビルドに記載されている互換性のあるバージョンを見つけることができます。参考までに、作業サンプルもディレクトリにありsamplesます。

于 2014-10-08T23:36:23.697 に答える