【问题标题】:LittleMonkey QRScanner library build issueLittleMonkey QRScanner 库构建问题
【发布时间】:2017-06-24 05:56:41
【问题描述】:

我使用了 littleMonkey QRScanner 库,但它可以在模拟器中运行(显示不支持扫描仪的对话框)。但是当我构建项目时,它会产生构建错误。

PS:我已经删除了所有构建提示并再次刷新 lib,但仍然是同样的问题。 我已经按照https://github.com/littlemonkeyltd/QRScanner 中的建议保留了 cn1-codescan.cn1lib 和 QRScanner.cn1lib

我的代码:

   import org.littlemonkey.qrscanner.QRScanner;
   import com.codename1.ext.codescan.ScanResult;

    QRScanner.scanQRCode(new ScanResult() {
        public void scanCompleted(String contents, String formatName, byte[] rawBytes) {
            Dialog.show("Completed", contents, "OK", null);
        }

        public void scanCanceled() {
            Dialog.show("Cancelled", "Scan Cancelled", "OK", null);
        }

        public void scanError(int errorCode, String message) {
            Dialog.show("Error", message, "OK", null);
        }
    });

构建错误:

解压库时':ZBarScannerLibrary:: 组、名称或 版本为空 解压库 ':ZBarScannerLibrary: 时,要么 解压库时组、名称或版本为空 ':ZBarScannerLibrary:,组、名称或版本为空时 解压库 ':ZBarScannerLibrary:, 组、名称或版本 为空 使用增量 javac 编译。增量java 编译是一个孵化功能。不使用增量 javac 汇编。使用增量 javac 编译。不使用 增量 javac 编译。使用增量 javac 编译。 所有项目都进行了评估。从中选择的主要任务“assembleDebug” 项目:要执行的任务:[任务':preBuild',任务 ':preDebugBuild',任务':checkDebugManifest',任务':preReleaseBuild', 任务':prepareComAndroidSupportSupportV42340Library',任务 ':prepareComGoogleAndroidGmsPlayServicesAds830Library', 任务 ':prepareComGoogleAndroidGmsPlayServicesAnalytics830Library', 任务 ':prepareComGoogleAndroidGmsPlayServicesAuth830Library', 任务 ':prepareComGoogleAndroidGmsPlayServicesBase830Library', 任务 ':prepareComGoogleAndroidGmsPlayServicesBasement830Library', 任务 ':prepareComGoogleAndroidGmsPlayServicesGcm830Library', 任务 ':prepareComGoogleAndroidGmsPlayServicesLocation830Library', 任务 ':prepareComGoogleAndroidGmsPlayServicesMaps830Library', 任务 ':prepareComGoogleAndroidGmsPlayServicesMeasurement830Library', 任务 ':prepareComGoogleAndroidGmsPlayServicesPlus830Library', 任务 ':prepareZBarScannerLibraryLibrary', 任务 ':prepareDebugDependencies', 任务':compileDebugAidl',任务':compileDebugRenderscript',任务 ':generateDebugBuildConfig', 任务 ':mergeDebugShaders', 任务 ':compileDebugShaders', 任务 ':generateDebugAssets', 任务 ':mergeDebugAssets', 任务 ':generateDebugResValues', 任务 ':generateDebugResources', 任务 ':mergeDebugResources', 任务 ':processDebugManifest', 任务 ':processDebugResources', 任务 ':generateDebugSources', 任务 ':incrementalDebugJavaCompilationSafeguard', 任务 ':compileDebugJavaWithJavac', 任务 ':compileDebugNdk', 任务 ':compileDebugSources', 任务 ':prePackageMarkerForDebug', 任务 ':transformClassesWithDexForDebug',任务':mergeDebugJniLibFolders', 任务':transformNative_libsWithMergeJniLibsForDebug',任务 ':processDebugJavaRes', 任务 ':transformResourcesWithMergeJavaResForDebug', 任务 ':validateDebugSigning', 任务':packageDebug', 任务':zipalignDebug', task ':assembleDebug'] 创建内存缓存 /tmp/build3593943200349845410xxx/Test/.gradle/2.11/taskArtifacts/fileHashes.bin: MaxSize{878900} 创建内存缓存 /tmp/build3593943200349845410xxx/Test/.gradle/2.11/taskArtifacts/outputFileStates.bin: MaxSize{6500} 创建内存缓存 /tmp/build3593943200349845410xxx/Test/.gradle/2.11/taskArtifacts/fileSnapshots.bin: MaxSize{21900} 创建内存缓存 /tmp/build3593943200349845410xxx/Test/.gradle/2.11/taskArtifacts/taskArtifacts.bin: MaxSize{4300} :preBuild (Thread[Daemon worker,5,main]) 已启动。 :preBuild 跳过任务 ':preBuild' 因为它没有动作。 :preBuild UP-TO-DATE :preBuild (Thread[Daemon worker,5,main]) 完成。拿 0.006 秒。 :preDebugBuild (Thread[Daemon worker,5,main]) 已启动。 :preDebugBuild 跳过任务 ':preDebugBuild' 因为它没有任何动作。 :preDebugBuild UP-TO-DATE :preDebugBuild (线程[守护进程 worker,5,main]) 完成。耗时 0.001 秒。 :checkDebugManifest (Thread[Daemon worker,5,main]) 已启动。 :checkDebugManifest 正在执行 任务 ':checkDebugManifest'(最新检查耗时 0.0 秒)由于:
任务尚未声明任何输出。 :checkDebugManifest (线程[守护进程 worker,5,main]) 完成。耗时 0.003 秒。 :preReleaseBuild (Thread[Daemon worker,5,main]) 已启动。 :preReleaseBuild 跳过任务 ':preReleaseBuild' 因为它没有任何动作。 :preReleaseBuild UP-TO-DATE :preReleaseBuild (Thread[Daemon worker,5,main]) 完成。拿了 0.002 秒。 :prepareComAndroidSupportSupportV42340Library (线程[守护进程 worker,5,main]) 开始。 :prepareComAndroidSupportSupportV42340库 使内存中的缓存失效 /tmp/build3593943200349845410xxx/Test/.gradle/2.11/taskArtifacts/fileSnapshots.bin 使内存中的缓存失效 /tmp/build3593943200349845410xxx/Test/.gradle/2.11/taskArtifacts/taskArtifacts.bin 使内存中的缓存失效 /tmp/build3593943200349845410xxx/Test/.gradle/2.11/taskArtifacts/fileHashes.bin 使内存中的缓存失效 /tmp/build3593943200349845410xxx/Test/.gradle/2.11/taskArtifacts/outputFileStates.bin 执行任务':prepareComAndroidSupportSupportV42340Library' (最新检查耗时 0.023 秒)由于:没有可用的历史记录。

FAILURE:构建失败并出现异常。

  • 出了什么问题:任务 ':processDebugManifest' 执行失败。

    清单合并失败:属性 activity#com.dm.zbar.android.scanner.ZBarScannerActivity@label 来自 AndroidManifest.xml:25:114-146 的 value=(@string/app_name) 是 也出现在 [:ZBarScannerLibrary:] AndroidManifest.xml:18:13-36 价值=(扫描仪)。建议:添加 'tools:replace="android:label"' 到 AndroidManifest.xml:25:3-149 中的元素进行覆盖。

  • 尝试:使用 --debug 选项运行以获得更多日志输出。

  • 异常是:org.gradle.api.tasks.TaskExecutionException:任务“:processDebugManifest”执行失败。在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69) 在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46) 在 org.gradle.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) 在 org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) 在 org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203) 在 org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185) 在 org.gradle.execution.taskgraph.Abs​​tractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66) 在 org.gradle.execution.taskgraph.Abs​​tractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50) 在 org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25) 在 org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110) 在 org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37) 在 org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37) 在 org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23) 在 org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43) 在 org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32) 在 org.gradle.execution.DefaultBuildExecuter.execute(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) 在 org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151) 在 org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32) 在 org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99) 在 org.gradle.initialization.DefaultGradleLauncher$1.create(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) 在 org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82) 在 org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94) 在 org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28) 在 org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) 在 org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43) 在 org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28) 在 org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75) 在 org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:45) 在 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) 在 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) 在 org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.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.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72) 在 org.gradle.util.Swapper.swap(Swapper.java:38) 在 org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72) 在 org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 在 org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:40) 在 org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 在 org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:66) 在 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.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.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54) 在 org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40) 引起:java.lang.RuntimeException:清单合并失败: 属性 活动#com.dm.zbar.android.scanner.ZBarScannerActivity@label 来自 AndroidManifest.xml:25:114-146 的 value=(@string/app_name) 也是 出现在 [:ZBarScannerLibrary:] AndroidManifest.xml:18:13-36 价值=(扫描仪)。建议:添加 'tools:replace="android:label"' 到 AndroidManifest.xml:25:3-149 中的元素进行覆盖。在 com.android.builder.core.AndroidBuilder.mergeManifests(AndroidBuilder.java:686) 在 com.android.build.gradle.tasks.MergeManifests.doFullTask​​Action(MergeManifests.java:65) 在 com.android.build.gradle.internal.tasks.IncrementalTask​​.taskAction(IncrementalTask​​.java:82) 在 org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75) 在 org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTask​​Action.doExecute(AnnotationProcessingTaskFactory.java:244) 在 org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220) 在 org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTask​​Action.execute(AnnotationProcessingTaskFactory.java:231) 在 org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209) 在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80) 在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61) ... 68 更多

更新 1:在 codenameone_settings.properties 文件中添加但仍然生成错误

codename1.arg.android.xapplication=<activity android\:name\="com.dm.zbar.android.scanner.ZBarScannerActivity" android\:screenOrientation\="landscape" android\:label\="@string/app_name" tools\:replace\="android\:label" />

update1 后的新构建错误

When unzipping library ':ZBarScannerLibrary:, either group, name or version is empty
When unzipping library ':ZBarScannerLibrary:, either group, name or version is empty
When unzipping library ':ZBarScannerLibrary:, either group, name or version is empty
When unzipping library ':ZBarScannerLibrary:, either group, name or version is empty
Using incremental javac compilation.
Incremental java compilation is an incubating feature.


FAILURE: Build failed with an exception.

* What went wrong:
Cannot read packageName from /tmp/build3235388660761476489xxx/ScannerTest/src/main/AndroidManifest.xml

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

* Exception is:
java.lang.RuntimeException: Cannot read packageName from /tmp/build3235388660761476489xxx/ScannerTest/src/main/AndroidManifest.xml
    at com.android.builder.core.VariantConfiguration.getPackageFromManifest(VariantConfiguration.java:999)
    at com.android.builder.core.VariantConfiguration.getOriginalApplicationId(VariantConfiguration.java:780)
    at com.android.build.gradle.tasks.GenerateBuildConfig$ConfigAction$_execute_closure1.doCall(GenerateBuildConfig.groovy:167)
    at com.android.build.gradle.tasks.GenerateBuildConfig$ConfigAction$_execute_closure1.doCall(GenerateBuildConfig.groovy)
    at org.gradle.api.internal.ConventionAwareHelper$2.getValue(ConventionAwareHelper.java:84)
    at org.gradle.api.internal.ConventionAwareHelper$MappedPropertyImpl.getValue(ConventionAwareHelper.java:136)
    at org.gradle.api.internal.ConventionAwareHelper.getConventionValue(ConventionAwareHelper.java:114)
    at com.android.build.gradle.tasks.GenerateBuildConfig_Decorated.getBuildConfigPackageName(Unknown Source)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$PropertyInfo$4.create(AnnotationProcessingTaskFactory.java:458)
    at org.gradle.util.SingleMessageLogger.whileDisabled(SingleMessageLogger.java:166)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$PropertyInfo.getValue(AnnotationProcessingTaskFactory.java:456)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$Validator.validate(AnnotationProcessingTaskFactory.java:277)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:41)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
    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.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
    at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
    at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
    at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154)
    at org.gradle.internal.Factories$1.create(Factories.java:22)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)
    at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
    at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)
    at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)
    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)
    at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
    at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
    at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75)
    at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:45)
    at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
    at org.gradle.util.Swapper.swap(Swapper.java:38)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:40)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:66)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
    at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
    at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)

更新 2:marshmallow 设备 samsung J7 prime 中有关相机权限的错误日志

02-18 08:35:56.338: E/SamsungIME(25272):          isHWKeyboardConnected() = false --> false
02-18 08:35:56.388: E/Qmage(27688): isQIO : stream is not a QIO file
02-18 08:35:56.388: E/Qmage(27688): isQIO : stream is not a QIO file
02-18 08:35:56.408: E/Qmage(27688): isQIO : stream is not a QIO file
02-18 08:35:56.458: E/CameraService(2255): Permission Denial: can't use the camera pid=1563, uid=10244
02-18 08:35:56.458: E/AndroidRuntime(1563): FATAL EXCEPTION: main
02-18 08:35:56.458: E/AndroidRuntime(1563): Process: com.lenovo.capitaleyenepal, PID: 1563
02-18 08:35:56.458: E/AndroidRuntime(1563): java.lang.RuntimeException: Unable to resume activity {com.lenovo.capitaleyenepal/com.dm.zbar.android.scanner.ZBarScannerActivity}: java.lang.RuntimeException: Fail to connect to camera service
02-18 08:35:56.458: E/AndroidRuntime(1563):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4225)
02-18 08:35:56.458: E/AndroidRuntime(1563):     at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4327)
02-18 08:35:56.458: E/AndroidRuntime(1563):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3426)
02-18 08:35:56.458: E/AndroidRuntime(1563):     at android.app.ActivityThread.access$1100(ActivityThread.java:229)
02-18 08:35:56.458: E/AndroidRuntime(1563):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
02-18 08:35:56.458: E/AndroidRuntime(1563):     at android.os.Handler.dispatchMessage(Handler.java:102)
02-18 08:35:56.458: E/AndroidRuntime(1563):     at android.os.Looper.loop(Looper.java:148)
02-18 08:35:56.458: E/AndroidRuntime(1563):     at android.app.ActivityThread.main(ActivityThread.java:7406)
02-18 08:35:56.458: E/AndroidRuntime(1563):     at java.lang.reflect.Method.invoke(Native Method)
02-18 08:35:56.458: E/AndroidRuntime(1563):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
02-18 08:35:56.458: E/AndroidRuntime(1563):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
02-18 08:35:56.458: E/AndroidRuntime(1563): Caused by: java.lang.RuntimeException: Fail to connect to camera service
02-18 08:35:56.458: E/AndroidRuntime(1563):     at android.hardware.Camera.<init>(Camera.java:568)
02-18 08:35:56.458: E/AndroidRuntime(1563):     at android.hardware.Camera.open(Camera.java:423)
02-18 08:35:56.458: E/AndroidRuntime(1563):     at com.dm.zbar.android.scanner.ZBarScannerActivity.onResume(ZBarScannerActivity.java:75)
02-18 08:35:56.458: E/AndroidRuntime(1563):     at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1287)
02-18 08:35:56.458: E/AndroidRuntime(1563):     at android.app.Activity.performResume(Activity.java:7015)
02-18 08:35:56.458: E/AndroidRuntime(1563):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4214)
02-18 08:35:56.458: E/AndroidRuntime(1563):     ... 10 more

我的项目属性

我还有一个问题。在较旧的设备中,它正在读取较小的条形码阅读器,但我需要阅读 imei 号。的移动设备。它有点大。所以它不是读imei no。我需要做其他事情才能阅读吗?

eg: 没有读取下面的imei条码

更新 2:

通过触发棉花糖设备中的相机权限的本机代码获得相机权限,但不能解决相机权限拒绝问题

NativeImpl 文件:

ActivityCompat.requestPermissions((android.app.Activity) Lenovo.getContext(), new String[]{Manifest.permission.CAMERA},0);

【问题讨论】:

  • 您是否导入了正确的包?错误日志是什么?
  • 我已经更新了上面的导入和构建错误.... import org.littlemonkey.qrscanner.QRScanner;导入 com.codename1.ext.codescan.ScanResult;

标签: codenameone


【解决方案1】:

我已经应用了 Shai 的补丁并重建了库。您将能够通过 Codename One Settings 的 Extensions 部分更新 lib。

这还需要对将在下一次更新(本周五)发布的构建服务器进行小改动。 IE。您必须等到星期五才能发送构建版本。

【讨论】:

  • 你好史蒂夫感谢新的更新。它适用于旧设备,但它不会在棉花糖设备和应用程序崩溃中请求许可。我调试它并发现权限拒绝问题(PS它不要求相机权限)并且应用程序崩溃。我已经更新了上面的权限错误。我还有一个问题。在较旧的设备中,它正在读取较小的条形码阅读器,但我需要阅读 imei 号。的移动设备。它有点大。所以它不是读imei no。我必须做其他事情才能阅读吗?谢谢你
【解决方案2】:

根据错误日志,该库似乎由于 Google 的更改而损坏。我向图书馆的作者提交了一个拉取请求,希望他能在这里审查并合并:

https://github.com/littlemonkeyltd/QRScanner/pull/5

您可以将库作为一种解决方法并手动集成此修复程序以查看是否可以解决该问题。

【讨论】:

  • 我添加了 "codename1.arg.android.xapplication=" 在 codenameone_settings.properties 文件中,但仍然存在构建错误。看看上面的更新 1。
  • 这行不通,因为库会在您发送构建并复制语句时自动替换它,从而使问题变得更糟。
  • 那我该怎么做才能解决这个问题呢?我的应用基于条形扫描仪,所以我需要先确定条形阅读器...
  • 目前的解决方法是:删除 littlemonkey QR 阅读器。湾。自己构建并合并我在拉取请求中添加的更改。
  • hello shai..我在拉取请求中没有看到任何内容...请您解释一下。谢谢你
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-17
  • 2016-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多