尝试将NewRelic库添加到我的应用程序时出错

时间:2014-05-27 14:46:17

标签: android gradle newrelic

我正在尝试将NewRelic库包含到我的项目中,但是当我构建它时出现此错误

Error:Execution failed for task ':v1:preDexDebug'.
com.android.ide.common.internal.LoggedErrorException: Failed to run command:
    C:\Program Files\Android\android-studio\sdk\build-tools\19.1.0\dx.bat --dex     --output 
    C:\Documents and Settings\t.hart\My Documents\Android\MoneyTracker\v1\build\pre-dexed\debug\android-agent-3.378.0-27125f93a249f513379e837d75ebec255f6dcaa4.jar 
    C:\Documents and Settings\t.hart\.gradle\caches\modules-2\files-2.1\com.newrelic.agent.android\android-agent\3.378.0\1ebf0e20081a7f1b9a5c31bfc4e7dba776e0c171\android-agent-3.378.0.jar
Error Code:
    1
Output:
    Error opening zip file or JAR manifest missing : C:\Documents

要包含库,您需要在build.gradle文件中添加3行

//This to the buildscript dependancies
classpath 'com.newrelic.agent.android:agent-gradle-plugin:3.378.0'

//This line (in the example it's under the android line
apply plugin: 'newrelic'

//And this to dependancies
compile 'com.newrelic.agent.android:android-agent:3.378.0'

经过一些试验和错误后,它似乎是导致错误抛出的最后一行(编译一行)。这是因为C:/Documents And Settings中的空格吗?

我也在使用这些库,他们都没有问题地下载到build / pre-dexed / debug文件夹。

compile 'com.android.support:appcompat-v7:19.1.0'
compile 'com.android.support:gridlayout-v7:19.1.0'
compile 'com.android.support:support-v4:19.1.0'

编辑:更新了错误消息

Error:Execution failed for task ':v1:preDexDebug'.
com.android.ide.common.internal.LoggedErrorException: Failed to run command:
    C:\Program Files\Android\android-studio\sdk\build-tools\19.1.0\dx.bat --dex --output 
    C:\MoneyTracker\v1\build\pre-dexed\debug\support-v4-19.1.0-cd41ef807caadb29c9df0131dee869d3723185ad.jar 
    C:\Program Files\Android\android-studio\sdk\extras\android\m2repository\com\android\support\support-v4\19.1.0\support-v4-19.1.0.jar
Error Code:
    1
Output:
    Error opening zip file or JAR manifest missing : C:\Documents

现在这是一个奇怪的错误......

2 个答案:

答案 0 :(得分:1)

它实际上与您的文件夹名称中的空格有关,错误消息告诉您gradle无法在C:\ Documents中找到zip或jar清单,这显然不是您的newrelic库所在的文件夹。尝试移动您的项目在名称没有空格的目录中。养成习惯,有些工具真的不喜欢文件名中的空格(尤其是unix rooted)。

答案 1 :(得分:0)

您可以将GRADLE_USER_HOME环境变量,gradle.user.home系统属性或--gradle-user-home命令行参数设置到名称没有空格的目录。

(通过How to change Gradle download location