journeyapps / zxing-android-embedded

Barcode scanner library for Android, based on the ZXing decoder
https://journeyapps.com/
Apache License 2.0
5.68k stars 1.26k forks source link

Scanner does not open on signed apk #27

Closed jonzl closed 9 years ago

jonzl commented 9 years ago

I am using the library to integrate the scanner in my app. Starting the scanner from an activity in the debug mode is fine. When I release an app and sign it, I cannot start the scanner activitiy The app crashes.

In the following the log messages: 03-17 17:48:34.500 4814-4814/de.myapp.pro W/dalvikvm﹕ Exception Ljava/lang/NullPointerException; thrown while initializing Lcom/google/zxing/client/android/CaptureActivity; 03-17 17:48:34.500 4814-4814/de.myapp.pro W/dalvikvm﹕ Exception Ljava/lang/ExceptionInInitializerError; thrown while initializing Lcom/google/zxing/d/a/a; 03-17 17:48:34.500 4814-4814/de.myapp.pro D/AndroidRuntime﹕ Shutting down VM 03-17 17:48:34.500 4814-4814/de.myapp.pro W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x416c3c08) 03-17 17:48:34.540 4814-4814/de.myapp.pro E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: de.myapp.pro, PID: 4814 java.lang.IllegalStateException: Could not execute method of the activity at android.view.View$1.onClick(View.java:3823) at android.view.View.performClick(View.java:4438) at android.view.View$PerformClick.run(View.java:18439) at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5034) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:611) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at android.view.View$1.onClick(View.java:3818)             at android.view.View.performClick(View.java:4438)             at android.view.View$PerformClick.run(View.java:18439)             at android.os.Handler.handleCallback(Handler.java:733)             at android.os.Handler.dispatchMessage(Handler.java:95)             at android.os.Looper.loop(Looper.java:136)             at android.app.ActivityThread.main(ActivityThread.java:5034)             at java.lang.reflect.Method.invokeNative(Native Method)             at java.lang.reflect.Method.invoke(Method.java:515)             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:611)             at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.ExceptionInInitializerError at java.lang.Class.classForName(Native Method) at java.lang.Class.forName(Class.java:251) at java.lang.Class.forName(Class.java:216) at com.google.zxing.d.a.a.(Unknown Source) at de.jprior.datamatrixscanner.app.ListViewWithListActivity.openScannerButton(Unknown Source)             at java.lang.reflect.Method.invokeNative(Native Method)             at java.lang.reflect.Method.invoke(Method.java:515)             at android.view.View$1.onClick(View.java:3818)             at android.view.View.performClick(View.java:4438)             at android.view.View$PerformClick.run(View.java:18439)             at android.os.Handler.handleCallback(Handler.java:733)             at android.os.Handler.dispatchMessage(Handler.java:95)             at android.os.Looper.loop(Looper.java:136)             at android.app.ActivityThread.main(ActivityThread.java:5034)             at java.lang.reflect.Method.invokeNative(Native Method)             at java.lang.reflect.Method.invoke(Method.java:515)             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:611)             at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.NullPointerException at java.lang.Enum$1.create(Enum.java:43) at java.lang.Enum$1.create(Enum.java:35) at libcore.util.BasicLruCache.get(BasicLruCache.java:54) at java.lang.Enum.getSharedConstants(Enum.java:209) at java.util.EnumSet.noneOf(EnumSet.java:48) at java.util.EnumSet.of(EnumSet.java:152) at java.util.EnumSet.of(EnumSet.java:172) at java.util.EnumSet.of(EnumSet.java:194) at java.util.EnumSet.of(EnumSet.java:218) at com.google.zxing.client.android.CaptureActivity.(Unknown Source)             at java.lang.Class.classForName(Native Method)             at java.lang.Class.forName(Class.java:251)             at java.lang.Class.forName(Class.java:216)             at com.google.zxing.d.a.a.(Unknown Source)             at de.jprior.datamatrixscanner.app.ListViewWithListActivity.openScannerButton(Unknown Source)             at java.lang.reflect.Method.invokeNative(Native Method)             at java.lang.reflect.Method.invoke(Method.java:515)             at android.view.View$1.onClick(View.java:3818)             at android.view.View.performClick(View.java:4438)             at android.view.View$PerformClick.run(View.java:18439)             at android.os.Handler.handleCallback(Handler.java:733)             at android.os.Handler.dispatchMessage(Handler.java:95)             at android.os.Looper.loop(Looper.java:136)             at android.app.ActivityThread.main(ActivityThread.java:5034)             at java.lang.reflect.Method.invokeNative(Native Method)             at java.lang.reflect.Method.invoke(Method.java:515)             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:611)             at dalvik.system.NativeStart.main(Native Method)

I added in my build.gradle file the following dependency: compile 'com.journeyapps:zxing-android-integration:2.0.1@aar'

The code snippet of the initiateScan() method:

   public void openScannerButton(View view){

    IntentIntegrator integrator = new IntentIntegrator(ListViewWithListActivity.this);
    integrator.setDesiredBarcodeFormats(IntentIntegrator.DATA_MATRIX_TYPES);
    integrator.setPrompt(getString(R.string.scanPrompt));
    integrator.setResultDisplayDuration(0);
    integrator.setWide();  // Wide scanning rectangle, may work better for 1D barcodes
    integrator.setCameraId(0);
    integrator.initiateScan();
    }

Any ideas how to solve the problems?

Permission for Camera and CaptureActivity is set in in AndroidManifest.xml

rkistner commented 9 years ago

If it only happens in release builds, it's mostly likely because of something proguard did. It's difficult to see from that stacktrace what exactly the issue is. Disabling obfuscation (-dontobfuscate proguard option) could help as a start to see where in ZXing the error occurs.

jonzl commented 9 years ago

Hi Ralf, thanks for your reply. When I disable the obfuscation, I cannot build a release: I receive the following stacktrace:

app:retraceProReleaseMainDexClassList UP-TO-DATE
:app:dexProReleaseAGPBI: {"kind":"SIMPLE","text":"EXCEPTION FROM SIMULATION:","position":{},"original":"EXCEPTION FROM SIMULATION:"}
AGPBI: {"kind":"SIMPLE","text":"local variable type mismatch: attempt to set or access a value of type java.lang.Object using a local variable of type int. This is symptomatic of .class transformation tools that ignore local variable information.","position":{},"original":"local variable type mismatch: attempt to set or access a value of type java.lang.Object using a local variable of type int. This is symptomatic of .class transformation tools that ignore local variable information."}
AGPBI: {"kind":"SIMPLE","text":"...at bytecode offset 00000063","position":{},"original":"...at bytecode offset 00000063"}
AGPBI: {"kind":"SIMPLE","text":"locals[0000]: Lcom/google/zxing/client/androidlegacy/CaptureActivity;","position":{},"original":"locals[0000]: Lcom/google/zxing/client/androidlegacy/CaptureActivity;"}
AGPBI: {"kind":"SIMPLE","text":"locals[0001]: I","position":{},"original":"locals[0001]: I"}
AGPBI: {"kind":"SIMPLE","text":"locals[0002]: Landroid/view/KeyEvent;","position":{},"original":"locals[0002]: Landroid/view/KeyEvent;"}
AGPBI: {"kind":"SIMPLE","text":"locals[0003]: \u003cinvalid\u003e","position":{},"original":"locals[0003]: \u003cinvalid\u003e"}
AGPBI: {"kind":"SIMPLE","text":"locals[0004]: J","position":{},"original":"locals[0004]: J"}
AGPBI: {"kind":"SIMPLE","text":"locals[0005]: \u003cinvalid\u003e","position":{},"original":"locals[0005]: \u003cinvalid\u003e"}
AGPBI: {"kind":"SIMPLE","text":"stack[0001]: Lcom/google/zxing/client/androidlegacy/CaptureActivity;","position":{},"original":"stack[0001]: Lcom/google/zxing/client/androidlegacy/CaptureActivity;"}
AGPBI: {"kind":"SIMPLE","text":"stack[top0]: Lcom/google/zxing/client/androidlegacy/CaptureActivity;","position":{},"original":"stack[top0]: Lcom/google/zxing/client/androidlegacy/CaptureActivity;"}
AGPBI: {"kind":"SIMPLE","text":"...while working on block 005e","position":{},"original":"...while working on block 005e"}
AGPBI: {"kind":"SIMPLE","text":"...while working on method onKeyDown:(ILandroid/view/KeyEvent;)Z","position":{},"original":"...while working on method onKeyDown:(ILandroid/view/KeyEvent;)Z"}
AGPBI: {"kind":"SIMPLE","text":"...while processing onKeyDown (ILandroid/view/KeyEvent;)Z","position":{},"original":"...while processing onKeyDown (ILandroid/view/KeyEvent;)Z"}
AGPBI: {"kind":"SIMPLE","text":"...while processing com/google/zxing/client/androidlegacy/CaptureActivity.class","position":{},"original":"...while processing com/google/zxing/client/androidlegacy/CaptureActivity.class"}
AGPBI: {"kind":"SIMPLE","text":"warning: Ignoring InnerClasses attribute for an anonymous inner class","position":{},"original":"warning: Ignoring InnerClasses attribute for an anonymous inner class"}
AGPBI: {"kind":"SIMPLE","text":"(com.google.zxing.client.androidlegacy.camera.CameraConfigurationManager$1) that doesn\u0027t come with an","position":{},"original":"(com.google.zxing.client.androidlegacy.camera.CameraConfigurationManager$1) that doesn\u0027t come with an"}
AGPBI: {"kind":"SIMPLE","text":"associated EnclosingMethod attribute. This class was probably produced by a","position":{},"original":"associated EnclosingMethod attribute. This class was probably produced by a"}
AGPBI: {"kind":"SIMPLE","text":"compiler that did not target the modern .class file format. The recommended","position":{},"original":"compiler that did not target the modern .class file format. The recommended"}
AGPBI: {"kind":"SIMPLE","text":"solution is to recompile the class from source, using an up-to-date compiler","position":{},"original":"solution is to recompile the class from source, using an up-to-date compiler"}
AGPBI: {"kind":"SIMPLE","text":"and without specifying any \"-target\" type options. The consequence of ignoring","position":{},"original":"and without specifying any \"-target\" type options. The consequence of ignoring"}
AGPBI: {"kind":"SIMPLE","text":"this warning is that reflective operations on this class will incorrectly","position":{},"original":"this warning is that reflective operations on this class will incorrectly"}
AGPBI: {"kind":"SIMPLE","text":"indicate that it is *not* an inner class.","position":{},"original":"indicate that it is *not* an inner class."}
AGPBI: {"kind":"SIMPLE","text":"EXCEPTION FROM SIMULATION:","position":{},"original":"EXCEPTION FROM SIMULATION:"}
AGPBI: {"kind":"SIMPLE","text":"local variable type mismatch: attempt to set or access a value of type int using a local variable of type android.support.v7.internal.widget.ActionBarOverlayLayout$LayoutParams. This is symptomatic of .class transformation tools that ignore local variable information.","position":{},"original":"local variable type mismatch: attempt to set or access a value of type int using a local variable of type android.support.v7.internal.widget.ActionBarOverlayLayout$LayoutParams. This is symptomatic of .class transformation tools that ignore local variable information."}
AGPBI: {"kind":"SIMPLE","text":"...at bytecode offset 000000c1","position":{},"original":"...at bytecode offset 000000c1"}
AGPBI: {"kind":"SIMPLE","text":"locals[0000]: Landroid/support/v7/internal/widget/ActionBarOverlayLayout;","position":{},"original":"locals[0000]: Landroid/support/v7/internal/widget/ActionBarOverlayLayout;"}
AGPBI: {"kind":"SIMPLE","text":"locals[0001]: I","position":{},"original":"locals[0001]: I"}
AGPBI: {"kind":"SIMPLE","text":"locals[0002]: I","position":{},"original":"locals[0002]: I"}
AGPBI: {"kind":"SIMPLE","text":"locals[0003]: I","position":{},"original":"locals[0003]: I"}
AGPBI: {"kind":"SIMPLE","text":"locals[0004]: I","position":{},"original":"locals[0004]: I"}
AGPBI: {"kind":"SIMPLE","text":"locals[0005]: I","position":{},"original":"locals[0005]: I"}
AGPBI: {"kind":"SIMPLE","text":"locals[0006]: I","position":{},"original":"locals[0006]: I"}
AGPBI: {"kind":"SIMPLE","text":"locals[0007]: Landroid/support/v7/internal/widget/ActionBarOverlayLayout$LayoutParams;","position":{},"original":"locals[0007]: Landroid/support/v7/internal/widget/ActionBarOverlayLayout$LayoutParams;"}
AGPBI: {"kind":"SIMPLE","text":"stack[0001]: I","position":{},"original":"stack[0001]: I"}
AGPBI: {"kind":"SIMPLE","text":"stack[top0]: I","position":{},"original":"stack[top0]: I"}
AGPBI: {"kind":"SIMPLE","text":"...while working on block 00c0","position":{},"original":"...while working on block 00c0"}
AGPBI: {"kind":"SIMPLE","text":"...while working on method onMeasure:(II)V","position":{},"original":"...while working on method onMeasure:(II)V"}
AGPBI: {"kind":"SIMPLE","text":"...while processing onMeasure (II)V","position":{},"original":"...while processing onMeasure (II)V"}
AGPBI: {"kind":"SIMPLE","text":"...while processing android/support/v7/internal/widget/ActionBarOverlayLayout.class","position":{},"original":"...while processing android/support/v7/internal/widget/ActionBarOverlayLayout.class"}
AGPBI: {"kind":"SIMPLE","text":"2 errors; aborting","position":{},"original":"2 errors; aborting"}

 FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:dexProRelease'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_71\bin\java.exe'' finished with non-zero exit value 1

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:dexProRelease'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:305)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)
    at org.gradle.execution.taskgraph.ParallelTaskPlanExecutor.process(ParallelTaskPlanExecutor.java:51)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88)
    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
    at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
    at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:68)
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:55)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)
    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106)
    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:80)
    at org.gradle.tooling.internal.provider.BuildModelAction.run(BuildModelAction.java:43)
    at org.gradle.tooling.internal.provider.BuildModelAction.run(BuildModelAction.java:30)
    at org.gradle.tooling.internal.provider.ConfiguringBuildAction.run(ConfiguringBuildAction.java:119)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:36)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
    at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:47)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:35)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:24)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.StartStopIfBuildAndStop.execute(StartStopIfBuildAndStop.java:33)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:71)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:69)
    at org.gradle.util.Swapper.swap(Swapper.java:38)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:69)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:70)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.DaemonHygieneAction.execute(DaemonHygieneAction.java:39)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:46)
    at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246)
    at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
Caused by: org.gradle.internal.UncheckedException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_71\bin\java.exe'' finished with non-zero exit value 1
    at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:39)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:66)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:235)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:211)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:222)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:200)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
    ... 55 more
Caused by: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_71\bin\java.exe'' finished with non-zero exit value 1
    at com.android.build.gradle.internal.process.GradleProcessResult.assertNormalExitValue(GradleProcessResult.java:42)
    at com.android.builder.core.AndroidBuilder.convertByteCode(AndroidBuilder.java:1193)
    at com.android.builder.core.AndroidBuilder$convertByteCode$2.call(Unknown Source)
    at com.android.build.gradle.tasks.Dex.doTaskAction(Dex.groovy:151)
    at com.android.build.gradle.tasks.Dex.this$5$doTaskAction(Dex.groovy)
    at com.android.build.gradle.tasks.Dex$this$5$doTaskAction.callCurrent(Unknown Source)
    at com.android.build.gradle.tasks.Dex.taskAction(Dex.groovy:90)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)
    ... 61 more
Caused by: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_71\bin\java.exe'' finished with non-zero exit value 1
    at org.gradle.process.internal.DefaultExecHandle$ExecResultImpl.assertNormalExitValue(DefaultExecHandle.java:365)
    at com.android.build.gradle.internal.process.GradleProcessResult.assertNormalExitValue(GradleProcessResult.java:40)
    ... 68 more

Any ideas about this strange situation. The error log is a bit unclear, but I think the error is somewhere in CaptureActivity...

jonzl commented 9 years ago

I updated the zxing-android-integration package to 2.1.0

    compile 'com.journeyapps:zxing-android-integration:2.1.0@aar'

Now I receive a bit different error log.

:app:retraceProReleaseMainDexClassList UP-TO-DATE
:app:dexProReleaseAGPBI: {"kind":"SIMPLE","text":"EXCEPTION FROM SIMULATION:","position":{},"original":"EXCEPTION FROM SIMULATION:"}
AGPBI: {"kind":"SIMPLE","text":"local variable type mismatch: attempt to set or access a value of type java.lang.Object using a local variable of type int. This is symptomatic of .class transformation tools that ignore local variable information.","position":{},"original":"local variable type mismatch: attempt to set or access a value of type java.lang.Object using a local variable of type int. This is symptomatic of .class transformation tools that ignore local variable information."}
AGPBI: {"kind":"SIMPLE","text":"...at bytecode offset 00000035","position":{},"original":"...at bytecode offset 00000035"}
AGPBI: {"kind":"SIMPLE","text":"locals[0000]: Landroid/support/v4/widget/ListViewAutoScrollHelper;","position":{},"original":"locals[0000]: Landroid/support/v4/widget/ListViewAutoScrollHelper;"}
AGPBI: {"kind":"SIMPLE","text":"locals[0001]: I","position":{},"original":"locals[0001]: I"}
AGPBI: {"kind":"SIMPLE","text":"locals[0002]: Landroid/widget/ListView;","position":{},"original":"locals[0002]: Landroid/widget/ListView;"}
AGPBI: {"kind":"SIMPLE","text":"locals[0003]: I","position":{},"original":"locals[0003]: I"}
AGPBI: {"kind":"SIMPLE","text":"locals[0004]: I","position":{},"original":"locals[0004]: I"}
AGPBI: {"kind":"SIMPLE","text":"locals[0005]: I","position":{},"original":"locals[0005]: I"}
AGPBI: {"kind":"SIMPLE","text":"locals[0006]: I","position":{},"original":"locals[0006]: I"}
AGPBI: {"kind":"SIMPLE","text":"stack[0001]: Landroid/view/View;","position":{},"original":"stack[0001]: Landroid/view/View;"}
AGPBI: {"kind":"SIMPLE","text":"stack[top0]: Landroid/view/View;","position":{},"original":"stack[top0]: Landroid/view/View;"}
AGPBI: {"kind":"SIMPLE","text":"...while working on block 0034","position":{},"original":"...while working on block 0034"}
AGPBI: {"kind":"SIMPLE","text":"...while working on method canTargetScrollVertically:(I)Z","position":{},"original":"...while working on method canTargetScrollVertically:(I)Z"}
AGPBI: {"kind":"SIMPLE","text":"...while processing canTargetScrollVertically (I)Z","position":{},"original":"...while processing canTargetScrollVertically (I)Z"}
AGPBI: {"kind":"SIMPLE","text":"...while processing android/support/v4/widget/ListViewAutoScrollHelper.class","position":{},"original":"...while processing android/support/v4/widget/ListViewAutoScrollHelper.class"}
AGPBI: {"kind":"SIMPLE","text":"1 error; aborting","position":{},"original":"1 error; aborting"}

 FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:dexProRelease'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_71\bin\java.exe'' finished with non-zero exit value 1

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:dexProRelease'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:305)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)
    at org.gradle.execution.taskgraph.ParallelTaskPlanExecutor.process(ParallelTaskPlanExecutor.java:51)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88)
    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
    at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
    at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:68)
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:55)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)
    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106)
    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:80)
    at org.gradle.tooling.internal.provider.BuildModelAction.run(BuildModelAction.java:43)
    at org.gradle.tooling.internal.provider.BuildModelAction.run(BuildModelAction.java:30)
    at org.gradle.tooling.internal.provider.ConfiguringBuildAction.run(ConfiguringBuildAction.java:119)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:36)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
    at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:47)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:35)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:24)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.StartStopIfBuildAndStop.execute(StartStopIfBuildAndStop.java:33)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:71)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:69)
    at org.gradle.util.Swapper.swap(Swapper.java:38)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:69)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:70)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.DaemonHygieneAction.execute(DaemonHygieneAction.java:39)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:46)
    at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246)
    at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
Caused by: org.gradle.internal.UncheckedException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_71\bin\java.exe'' finished with non-zero exit value 1
    at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:39)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:66)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:235)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:211)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:222)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:200)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
    ... 55 more
Caused by: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_71\bin\java.exe'' finished with non-zero exit value 1
    at com.android.build.gradle.internal.process.GradleProcessResult.assertNormalExitValue(GradleProcessResult.java:42)
    at com.android.builder.core.AndroidBuilder.convertByteCode(AndroidBuilder.java:1193)
    at com.android.builder.core.AndroidBuilder$convertByteCode$5.call(Unknown Source)
    at com.android.build.gradle.tasks.Dex.doTaskAction(Dex.groovy:151)
    at com.android.build.gradle.tasks.Dex.this$5$doTaskAction(Dex.groovy)
    at com.android.build.gradle.tasks.Dex$this$5$doTaskAction.callCurrent(Unknown Source)
    at com.android.build.gradle.tasks.Dex.taskAction(Dex.groovy:90)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)
    ... 61 more
Caused by: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_71\bin\java.exe'' finished with non-zero exit value 1
    at org.gradle.process.internal.DefaultExecHandle$ExecResultImpl.assertNormalExitValue(DefaultExecHandle.java:365)
    at com.android.build.gradle.internal.process.GradleProcessResult.assertNormalExitValue(GradleProcessResult.java:40)
    ... 68 more

BUILD FAILED

Total time: 33.861 secs
rkistner commented 9 years ago

This seems to be an issue with the build system. Try using different versions of:

It could also possibly caused by a build issue of this library, but I haven't seen any errors like that myself yet.

jonzl commented 9 years ago

I updated Gradle 2.2.1 -> 2.3 Android Gradle plugin 1.1.0 -> 1.1.3 Build Tools 21.0.2 ->22.0.1 with no success.

I hat a successful build, when I built with the following proguard options:

-dontobfuscate
-dontoptimize

Nevertheless, I cannot open the barcode scanner with my app and I receive the same error again.-.- It seems to be the that it is not proguard related.

rkistner commented 9 years ago

Do you get the same error with the sample app in this repo? If not, can you perhaps create a small sample app that produces this error?

jonzl commented 9 years ago

I cannot reproduce the error with the sample app. Currently I am investigating, why the sample app runs fine and my app does not.

rkistner commented 9 years ago

Closing since I can't reproduce. Please open again if you have a sample project that reproduces this.