{"action":"closed","issue":{"url":"https://api.github.com/repos/Tencent/tinker/issues/378","repository_url":"https://api.github.com/repos/Tencent/tinker","labels_url":"https://api.github.com/repos/Tencent/tinker/issues/378/labels{/name}","comments_url":"https://api.github.com/repos/Tencent/tinker/issues/378/comments","events_url":"https://api.github.com/repos/Tencent/tinker/issues/378/events","html_url":"https://github.com/Tencent/tinker/issues/378","id":211298808,"number":378,"title":"同 #249 java.lang.IllegalAccessError: tried to access method net.dongliu.apk.parser.ApkParser.parseResourceTable()V from class com.tencent.tinker.build.apkparser.AndroidParser","user":{"login":"walfud","id":9317897,"avatar_url":"https://avatars3.githubusercontent.com/u/9317897?v=3","gravatar_id":"","url":"https://api.github.com/users/walfud","html_url":"https://github.com/walfud","followers_url":"https://api.github.com/users/walfud/followers","following_url":"https://api.github.com/users/walfud/following{/other_user}","gists_url":"https://api.github.com/users/walfud/gists{/gist_id}","starred_url":"https://api.github.com/users/walfud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/walfud/subscriptions","organizations_url":"https://api.github.com/users/walfud/orgs","repos_url":"https://api.github.com/users/walfud/repos","events_url":"https://api.github.com/users/walfud/events{/privacy}","received_events_url":"https://api.github.com/users/walfud/received_events","type":"User","site_admin":false},"labels":[{"id":437393641,"url":"https://api.github.com/repos/Tencent/tinker/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2017-03-02T06:10:37Z","updated_at":"2017-04-24T05:16:21Z","closed_at":"2017-04-24T05:16:21Z","body":"@shwenzhang \r\ntinkerpatch 1.1.4(tinker v1.7.7)\r\n同样遇到了问题,\r\n\r\n1. assembleDebug 做了基础包\r\n2. 修改了一句 java 代码\r\n3. 修改好 tinker 配置文件, 执行 tinkerPatchDebug.\r\n\r\n报错,\r\n```\r\n-----------------------Tinker patch begin-----------------------\r\nconfiguration: \r\noldApk:E:\\Projects\\Guihua-Android\\apkBak/app-2.11.0-0302-13-25-23/debug/app-debug.apk\r\nnewApk:E:\\Projects\\Guihua-Android\\release\\guihua_v2.11.0_.apk\r\noutputFolder:E:\\Projects\\Guihua-Android/tinkerPatch/debug\r\nisIgnoreWarning:false\r\n7-ZipPath:C:\\Users\\walfud\\.gradle\\caches\\modules-2\\files-2.1\\com.tencent.mm\\SevenZip\\1.1.10\\4786999cf29d8e3b0c39a80359b5127bda36132a\\SevenZip-1.1.10-windows-x86_64.exe\r\nuseSignAPk:true\r\npackage meta fields: \r\ndex configs: \r\ndexMode: jar\r\ndexPattern:classes.*\\.dex\r\ndex loader:com.tinkerpatch.sdk.loader.TinkerPatchReflectApplication\r\ndex loader:com.tencent.tinker.loader.*\r\nlib configs: \r\nlibPattern:lib/.*/.*\\.so\r\nresource configs: \r\nresPattern:res/.*\r\nresPattern:resources\\.arsc\r\nresPattern:r/.*\r\nresPattern:assets/.*\r\nresPattern:AndroidManifest\\.xml\r\nlargeModSize:100kb\r\nuseApplyResource:false\r\n\r\nAnalyze old and new apk files:\r\nold apk: app-debug.apk, size=15705247, md5=75a9e581cceea0b3ed72c3383ae9c818\r\nnew apk: guihua_v2.11.0_.apk, size=15704891, md5=b6167d87fd903a983993aec0702f247f\r\n\r\nUnZipping apk to E:\\Projects\\Guihua-Android\\tinkerPatch\\debug\\app-debug\r\nUnZipping apk to E:\\Projects\\Guihua-Android\\tinkerPatch\\debug\\guihua_v2.11.0_\r\nFound modify resource: assets/crashlytics-build.properties\r\nCheck for loader classes in dex: classes.dex\r\nCheck for loader classes in dex: classes2.dex\r\n\r\njava.lang.IllegalAccessError: tried to access method net.dongliu.apk.parser.ApkParser.parseResourceTable()V from class com.tencent.tinker.build.apkparser.AndroidParser\r\n\tat com.tencent.tinker.build.apkparser.AndroidParser.resourceTableLogicalChange(AndroidParser.java:74)\r\n\tat com.tencent.tinker.build.decoder.ResDiffDecoder.patch(ResDiffDecoder.java:142)\r\n\tat com.tencent.tinker.build.decoder.ApkDecoder$ApkFilesVisitor.visitFile(ApkDecoder.java:198)\r\n\tat com.tencent.tinker.build.decoder.ApkDecoder$ApkFilesVisitor.visitFile(ApkDecoder.java:138)\r\n\tat java.nio.file.Files.walkFileTree(Files.java:2670)\r\n\tat java.nio.file.Files.walkFileTree(Files.java:2742)\r\n\tat com.tencent.tinker.build.decoder.ApkDecoder.patch(ApkDecoder.java:113)\r\n\tat com.tencent.tinker.build.patch.Runner.tinkerPatch(Runner.java:65)\r\n\tat com.tencent.tinker.build.patch.Runner.run(Runner.java:48)\r\n\tat com.tencent.tinker.build.patch.Runner.gradleRun(Runner.java:41)\r\n\tat com.tencent.tinker.build.patch.Runner$gradleRun.call(Unknown Source)\r\n\tat org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)\r\n\tat org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)\r\n\tat org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)\r\n\tat com.tencent.tinker.build.gradle.task.TinkerPatchSchemaTask.tinkerPatch(TinkerPatchSchemaTask.groovy:82)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:498)\r\n\tat org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)\r\n\tat org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:228)\r\n\tat org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:221)\r\n\tat org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:210)\r\n\tat org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:621)\r\n\tat org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:604)\r\n\tat org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)\r\n\tat org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)\r\n\tat org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)\r\n\tat org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)\r\n\tat org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:66)\r\n\tat org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)\r\n\tat org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)\r\n\tat org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)\r\n\tat org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)\r\n\tat org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)\r\n\tat org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)\r\n\tat org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)\r\n\tat org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)\r\n\tat org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)\r\n\tat org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)\r\n\tat org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)\r\n\tat org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)\r\n\tat org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)\r\n\tat org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)\r\n\tat org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)\r\n\tat org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)\r\n\tat org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)\r\n\tat org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)\r\n\tat org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:153)\r\n\tat org.gradle.internal.Factories$1.create(Factories.java:22)\r\n\tat org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)\r\n\tat org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:53)\r\n\tat org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:150)\r\n\tat org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)\r\n\tat org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:98)\r\n\tat org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:92)\r\n\tat org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)\r\n\tat org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:63)\r\n\tat org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:92)\r\n\tat org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:83)\r\n\tat org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:99)\r\n\tat org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:46)\r\n\tat org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)\r\n\tat org.gradle.tooling.internal.provider.runner.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:58)\r\n\tat org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)\r\n\tat org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:48)\r\n\tat org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)\r\n\tat org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:81)\r\n\tat org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:46)\r\n\tat org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52)\r\n\tat org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)\r\n\tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\r\n\tat org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)\r\n\tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\r\n\tat org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)\r\n\tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\r\n\tat org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)\r\n\tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\r\n\tat org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)\r\n\tat org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)\r\n\tat org.gradle.util.Swapper.swap(Swapper.java:38)\r\n\tat org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)\r\n\tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\r\n\tat org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:47)\r\n\tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\r\n\tat org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)\r\n\tat org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)\r\n\tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\r\n\tat org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)\r\n\tat org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)\r\n\tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\r\n\tat org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41)\r\n\tat org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)\r\n\tat org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)\r\n\tat org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:237)\r\n\tat org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)\r\n\tat org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)\r\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\r\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\r\n\tat java.lang.Thread.run(Thread.java:745)\r\n```"}}
{"actor":{"display_login":"shwenzhang"}}