2014-10-01 17 views
0

當我嘗試使用dexguard插件到位android插件(dexguard插件擴展android),我gradle build process失敗,此錯誤:Dexguard VS Android插件 - 符建設過程

$ ./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.+' 
    } 
} 

我跑了gradlewdebug選項啓用

$ ./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 

如果我使用Android,而不是dexguard,那我也沒問題。

任何幫助或指針,高度讚賞。提前致謝。

PS:我沒有問題獨立運行ANT - fwiw。

回答

1

錯誤表明您正在將DexGuard插件與Android插件的不兼容版本一起使用。對於DexGuard的每個版本,您可以找到DexGuard手冊> Gradle build中記錄的兼容版本。作爲參考,您還可以在samples目錄中找到工作樣本。

+1

謝謝。我現在能夠建立它埃裏克。但是我現在得到的apk文件拒絕安裝錯誤:INSTALL_FAILED_UID_CHANGED。 Dexguard插件與Android的不同之處在於,結果apk拒絕安裝?任何想法?謝謝。 – 2014-10-09 01:04:25

+0

嘿,我有與android工作室dexguard相同的錯誤:失敗[INSTALL_FAILED_UID_CHANGED]任何想法? – ThanosFisherman 2014-12-14 02:18:59