Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

编译报错:java.nio.file.InvalidPathException: Illegal char <:> at index 40 #2774

Closed
nuyunhai opened this issue Oct 10, 2023 · 1 comment

Comments

@nuyunhai
Copy link

Current use version?

当前使用的版本是多少?

v3.11.1

Will this problem occur in demo?

Demo能否复现这问题?

可以

Describe the problem or provide an error log?

描述问题或提供错误log?

运行时编译报错,log如下:

A failure occurred while executing com.android.build.gradle.internal.res.ResourceCompilerRunnable
   > Resource compilation failed (Failed to compile values resource file D:\CloudpenseRoadMap\android\app\build\intermediates\incremental\debug\mergeDebugResources\merged.dir\values\values.xml. Cause: java.nio.file.InvalidPathException: Illegal char <:> at index 40: com.cloudpense.app-mergeDebugResources-5:/values/values.xml). Check logs for more details.

Caused by: com.android.aaptcompiler.ResourceCompilationException: Resource compilation failed (Failed to compile values resource file D:\CloudpenseRoadMap\android\app\build\intermediates\incremental\debug\mergeDebugResources\merged.dir\values\values.xml. Cause: java.nio.file.InvalidPathException: Illegal char <:> at index 40: com.cloudpense.app-mergeDebugResources-5:/values/values.xml). Check logs for more details.
	at com.android.aaptcompiler.ResourceCompiler.compileResource(ResourceCompiler.kt:129)
	at com.android.build.gradle.internal.res.ResourceCompilerRunnable$Companion.compileSingleResource(ResourceCompilerRunnable.kt:34)
	at com.android.build.gradle.internal.res.ResourceCompilerRunnable.run(ResourceCompilerRunnable.kt:15)
	at com.android.build.gradle.internal.profile.ProfileAwareWorkAction.execute(ProfileAwareWorkAction.kt:74)
	at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
	at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66)
	at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62)
	at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:100)
	at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62)
	at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
	at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
	at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
	at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59)
	at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$2(DefaultWorkerExecutor.java:212)
	at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:187)
	at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.access$700(DefaultConditionalExecutionQueue.java:120)
	at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner$1.run(DefaultConditionalExecutionQueue.java:162)
	at org.gradle.internal.Factories$1.create(Factories.java:31)
	at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:249)
	at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:109)
	at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:114)
	at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:157)
	at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:126)
	... 2 more
Caused by: com.android.aaptcompiler.ResourceCompilationException: Failed to compile values resource file D:\CloudpenseRoadMap\android\app\build\intermediates\incremental\debug\mergeDebugResources\merged.dir\values\values.xml
	at com.android.aaptcompiler.ResourceCompiler.compileTable(ResourceCompiler.kt:192)
	at com.android.aaptcompiler.ResourceCompiler.access$compileTable(ResourceCompiler.kt:1)
	at com.android.aaptcompiler.ResourceCompiler$getCompileMethod$1.invoke(ResourceCompiler.kt:138)
	at com.android.aaptcompiler.ResourceCompiler$getCompileMethod$1.invoke(ResourceCompiler.kt:138)
	at com.android.aaptcompiler.ResourceCompiler.compileResource(ResourceCompiler.kt:123)
	... 32 more
Caused by: java.nio.file.InvalidPathException: Illegal char <:> at index 40: com.cloudpense.app-mergeDebugResources-5:/values/values.xml
	at com.android.tools.build.bundletool.model.utils.files.FileUtils.getPath(FileUtils.java:101)
	at com.android.build.gradle.internal.res.Aapt2ErrorUtils$blameLoggerFor$2.invoke(Aapt2ErrorUtils.kt:186)
	at com.android.build.gradle.internal.res.Aapt2ErrorUtils$blameLoggerFor$2.invoke(Aapt2ErrorUtils.kt:185)
	at com.android.aaptcompiler.BlameLogger.getOriginalSource(BlameLogger.kt:132)
	at com.android.aaptcompiler.ResourceTable.addResourceImpl(ResourceTable.kt:360)
	at com.android.aaptcompiler.ResourceTable.addResourceWithId(ResourceTable.kt:80)
	at com.android.aaptcompiler.TableExtractor.addResourceToTable(TableExtractor.kt:2098)
	at com.android.aaptcompiler.TableExtractor.addResourceToTable(TableExtractor.kt:2111)
	at com.android.aaptcompiler.TableExtractor.extractResourceValues(TableExtractor.kt:265)
	at com.android.aaptcompiler.TableExtractor.extract(TableExtractor.kt:181)
	at com.android.aaptcompiler.ResourceCompiler.compileTable(ResourceCompiler.kt:188)
	... 36 more

目前编译环境:
targetSdkVersion/compileSdkVersion:33
gradle:7.6

@nuyunhai
Copy link
Author

我来自己回答下吧。

原因是这个库的androidx的几个组件版本和我项目的版本差太多了,两个办法,一个是升级自己项目的(recyclerview/constraintlayout/appcompat)版本,可以看作者的源码,升级到和他一样的版本。或者就是强制使用自己项目的版本(resolutionStrategy.force)。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant