我正在尝试将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
现在这是一个奇怪的错误......
答案 0 :(得分:1)
它实际上与您的文件夹名称中的空格有关,错误消息告诉您gradle无法在C:\ Documents中找到zip或jar清单,这显然不是您的newrelic库所在的文件夹。尝试移动您的项目在名称没有空格的目录中。养成习惯,有些工具真的不喜欢文件名中的空格(尤其是unix rooted)。
答案 1 :(得分:0)
您可以将GRADLE_USER_HOME
环境变量,gradle.user.home
系统属性或--gradle-user-home
命令行参数设置到名称没有空格的目录。