问题是,debug当我切换到release模式时,我可以运行我的应用程序但是当我切换到模式时它会失败.
例外:
FAILURE:构建因异常而失败.
任务':app:transformClassesWithDexForRelease'的执行失败.com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessException:org.gradle.process. internal.ExecException:进程'command'/ Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/bin/java''以非零退出值1结束
当我使用stacktrace运行gradle build命令时,这就是我得到的
./gradlew app:transformClassesWithDexForRelease --stacktrace
Run Code Online (Sandbox Code Playgroud)
com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessException:org.gradle.process. internal.ExecException:进程'命令'/Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Contents/Home/bin/java''以非零退出值1结束
例外情况是:
org.gradle.api.tasks.TaskExecutionException:任务':app:transformClassesWithDexForRelease'的执行失败.在org.gradle上的org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46) .api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)在org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)在org.gradle.api.internal .tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)在org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)在org.gradle.api.internal.tasks.execution .skipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecu org.gradle.execution.taskgraph.DefaultTaskGraphExecuter上的ter.execute(ExecuteAtMostOnceTaskExecuter.java:43)org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.exe(EventTaskTraphExecuter.java) 185)在org.gradle.execution.taskgraph.AbstractTaskPlanExecutor $ TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)在org.gradle.execution.taskgraph.AbstractTaskPlanExecutor $ TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)在org.gradle.execution .taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)at at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)at org.gradle.execution.DefaultBuildExecuter.access $ 000(DefaultBuildExecuter.jav)一:23)在org.gradle.execution.DefaultBuildExecuter $ 1.proceed(在org.gradle.execution.DefaultBuildExecuter.execute DefaultBuildExecuter.java:43)在org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)( DefaultBuildExecuter.java:37)在org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)在org.gradle.initialization.DefaultGradleLauncher $ 4.run(DefaultGradleLauncher.java:154)在org.gradle.internal.Factories $ 1 .create(Factories.java:22)在org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)在org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)在有机gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)在org.gradle.initialization.DefaultGradleLauncher.access $ 200(DefaultGradleLauncher.java:32)在org.gradle.initialization.DefaultGradleLauncher $ 1,创建(DefaultGradleLauncher.java:99)在组织.gradle.initialization.DefaultGradleLauncher $ 1.创建(DefaultGradleLauncher.java:93)在org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)在org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java :62)org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)atg.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)org.gradle.launcher.exec.InProcessBuildActionExecuter $ DefaultBuildController.运行(InProcessBuildActionExecuter.java:94)在org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)在org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)在组织.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)at org .gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:78)在org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:48)在org.gradle.launcher.daemon.server.exec.ExecuteBuild .doBuild(ExecuteBuild.java:52)org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution) .java:120)org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) )org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)at org. gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSi ngleUsedDaemon.java:34)org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)org.gradle.launcher.daemon.server.exec.ForwardClientInput $ 2.call(ForwardClientInput.java) :74)在org.gradle.launcher的org.gradle.launcher.daemon.server.exec.ForwardClientInput $ 2.call(ForwardClientInput.java:72)atg.gradle.util.Swapper.swap(Swapper.java:38)位于org.gradle.launcher.daemon.server的org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)的.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)位于org.gradle.launcher.daemon.server.exec.LogToClient的org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)的.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:47)位于org.gradle.launcher.daemon.server.api.Daemo的org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)中的.doBuild(LogToClient.java:66)nCommandExecution.proceed(DaemonCommandExecution.java:120)在org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)在org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute( BuildCommandOnly.java:36)在org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)在org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java: 41)在org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)在org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy $ 1.run(StartBuildOrRespondWithBusy.java:50)在org.gradle.launcher.daemon.server.DaemonStateCoordinator $ 1.run(DaemonStateCoordinator.java:246)位于org.gradle.internal.concurrent的org.gradle.internal.concurrent.ExecutorPolicy $ CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54) .StoppableExecutorImpl $ …
我刚刚切换到Android Studio 2.1,当尝试编译之前正在运行的应用程序时出现此错误:
Run Code Online (Sandbox Code Playgroud)Error:Error converting bytecode to dex: Cause: Dex cannot parse version 52 byte code. This is caused by library dependencies that have been compiled using Java 8 or above. If you are using the 'java' gradle plugin in a library submodule add targetCompatibility = '1.7' sourceCompatibility = '1.7' to that submodule's build.gradle file.
我已经更新了主项目的gradle.build文件以强制生成Java 1.7代码:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
apply plugin: 'java'
sourceCompatibility = 1.7
targetCompatibility = 1.7
}
}
Run Code Online (Sandbox Code Playgroud)
我还更新了gradle.build模块,如下所示设置java版本:
android …Run Code Online (Sandbox Code Playgroud) 我有一个带gradle的Android项目.问题是:在project视图中我看到了几个版本的support-v4库,例如support-v4-21.0.3和support-v4-22.2.0.
但在build.gradle我根本没有support-v4.
但我有~10个其他依赖项build.gradle.例如
appcompat-v7:22.2.0.我可以表明,appcompat-v7:22.2.0实际上还要考虑support-v4-22.2.0在Maven的依赖关系,并含蓄地将其拉.但我没有任何想法support-v4-21.0.3.
据我所知,所有这些库将包装在我的APK中并增加APK的重量.
所以我有下一个问题:
support-v4-21.0.3我的项目中哪个库需要?我用gradle更新到最新版本的Android studio 2.0 Beta 6:
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0-beta6'
}
Run Code Online (Sandbox Code Playgroud)
该应用程序在模拟器和设备上运行完美,我测试了所有东西,它工作正常.
只有当我尝试生成签名APK时,我才会收到很多错误,
我在依赖项中遇到了一些错误,当我排除了矢量drawable,vector animate drawable和Support-v4库时,所有这些都解决了
现在我没有任何依赖性错误.
现在我的app模块的gradle.build看起来像这样:
apply plugin: 'com.android.application'
android {
configurations {
//all*.exclude group: 'com.android.support', module: 'support-v4'
all*.exclude module: 'animated-vector-drawable'
all*.exclude module: 'support-vector-drawable'
//all*.exclude module: 'support-v4'
}
repositories {
maven { url "https://jitpack.io" }
}
compileSdkVersion 23
buildToolsVersion '23.0.2'
defaultConfig {
applicationId "com.test.test"
minSdkVersion 11
targetSdkVersion 23
versionCode 1
versionName "1"
// multiDexEnabled true
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
} …Run Code Online (Sandbox Code Playgroud)