jasonross / Nuwa

Nuwa, pure java implementation, can hotfix your android application.
2.96k stars 574 forks source link

Error:Execution failed for task ':app:nuwaClassBeforeDexDebug'. > 1 #12

Closed yexin4133 closed 8 years ago

yexin4133 commented 8 years ago

使用sdk 报这个错误是什么原因

jasonross commented 8 years ago

@yexin4133 执行命令后面加上 --stacktrace --debug,看一下具体的错误。

yexin4133 commented 8 years ago

@jasonross 13:53:18.893 [ERROR] [org.gradle.BuildExceptionReporter] org.gradle.execution.TaskSelectionException: Task 'compileDebug' not found in root project ''. 13:53:18.900 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.TaskSelector.getSelection(TaskSelector.java:100) 13:53:18.905 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.TaskSelector.getSelection(TaskSelector.java:75) 13:53:18.911 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.commandline.CommandLineTaskParser.parseTasks(CommandLineTaskParser.java:42) 13:53:18.917 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.TaskNameResolvingBuildConfigurationAction.configure(TaskNameResolvingBuildConfigurationAction.java:44) 13:53:18.923 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.DefaultBuildExecuter.configure(DefaultBuildExecuter.java:42) 13:53:18.928 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.DefaultBuildExecuter.access$100(DefaultBuildExecuter.java:23) 13:53:18.934 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:48) 13:53:18.939 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.ExcludedTaskFilteringBuildConfigurationAction.configure(ExcludedTaskFilteringBuildConfigurationAction.java:47) 13:53:18.944 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.DefaultBuildExecuter.configure(DefaultBuildExecuter.java:42) 13:53:18.950 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.DefaultBuildExecuter.access$100(DefaultBuildExecuter.java:23) 13:53:18.954 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:48) 13:53:18.963 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.DefaultTasksBuildExecutionAction.configure(DefaultTasksBuildExecutionAction.java:44) 13:53:18.968 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.DefaultBuildExecuter.configure(DefaultBuildExecuter.java:42) 13:53:18.973 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.execution.DefaultBuildExecuter.select(DefaultBuildExecuter.java:35) 13:53:18.979 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:142) 13:53:18.984 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106) 13:53:18.994 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86) 13:53:19.000 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:90) 13:53:19.006 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28) 13:53:19.011 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) 13:53:19.019 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:41) 13:53:19.024 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28) 13:53:19.033 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:50) 13:53:19.038 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:27) 13:53:19.047 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:40) 13:53:19.052 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:169) 13:53:19.057 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237) 13:53:19.063 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210) 13:53:19.068 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35) 13:53:19.073 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24) 13:53:19.079 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206) 13:53:19.084 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169) 13:53:19.089 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33) 13:53:19.097 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22) 13:53:19.102 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.Main.doAction(Main.java:33) 13:53:19.106 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45) 13:53:19.115 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54) 13:53:19.121 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35) 13:53:19.128 [ERROR] [org.gradle.BuildExceptionReporter] at org.gradle.launcher.GradleMain.main(GradleMain.java:23) 13:53:19.132 [ERROR] [org.gradle.BuildExceptionReporter] 13:53:19.137 [LIFECYCLE] [org.gradle.BuildResultLogger] 13:53:19.141 [LIFECYCLE] [org.gradle.BuildResultLogger] BUILD FAILED

jasonross commented 8 years ago

@yexin4133 你执行的什么命令?

yexin4133 commented 8 years ago

@jasonross gradle compileDebug --stacktrace --debug

jasonross commented 8 years ago

@yexin4133 为啥运行compileDebug?没有这个任务啊

yexin4133 commented 8 years ago

@jasonross 直接gradle --stacktrace --debug?

jasonross commented 8 years ago

@yexin4133 看README啊,……,这个问题关了

gondole-zz commented 8 years ago

@yexin4133 解决了吗这个问题?Execution failed for task ':app:nuwaClassBeforeDexQihooDebug'. > 1

szitguy commented 8 years ago

build type为debug的时候,也需要设置混淆开启,这样demo才能运行起来,app module下的build.gradle配置:

buildTypes {
    // debug模式下也需要开启混淆,demo才能跑起来
    debug {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

作者提到qq空间的那篇文章,是讲整个方案的原理,我猜应该是因为NuwaGradle要基于mapping文件比较正式包的类和补丁包的类,以达到替换补丁包类的目的,所以需要进行混淆处理,若不进行混淆不会生成mapping文件。

jasonross commented 8 years ago

@szitguy 不是的,大多数应用混淆,所以我默认加了

zhylclover commented 8 years ago

build.gradle下需要 debug的混淆

// debug模式下也需要开启混淆,demo才能跑起来 debug { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' }

szitguy commented 8 years ago

@jasonross 哦,就是说打包一定要配合混淆才能运行nuwagradle命令吧?!

Aaaaaaron commented 8 years ago

@yexin4133 你好 请问你解决了吗?