title: Android Studio 4.0 error; Cause: invalid type code: 3A
body: <p>I just upgraded to AS version 4.0 from 3.6 and now one of my projects fails during Gradle sync. The project would build without a problem before the upgrade. I need help figuring out the problem.</p>
  
  <p>The stack trace from <code>idea.log</code> is:</p>
  
  <pre><code>2020-06-02 11:08:35,533 [  40337]   INFO - .project.GradleProjectResolver - Gradle project resolve error 
  org.gradle.tooling.GradleConnectionException: Could not run phased build action using Gradle installation '/usr/local/Cellar/gradle/5.5.1/libexec'.
      at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:55)
      at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:29)
      at org.gradle.tooling.internal.consumer.ResultHandlerAdapter.onFailure(ResultHandlerAdapter.java:41)
      at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:57)
      at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
      at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
      at java.lang.Thread.run(Thread.java:748)
  Caused by: org.gradle.api.UncheckedIOException: java.io.StreamCorruptedException: invalid type code: 3A
      at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:61)
      at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:41)
      at org.gradle.tooling.internal.provider.serialization.PayloadSerializer.deserialize(PayloadSerializer.java:76)
      at org.gradle.tooling.internal.provider.ProviderConnection.throwFailure(ProviderConnection.java:208)
      at org.gradle.tooling.internal.provider.ProviderConnection.run(ProviderConnection.java:196)
      at org.gradle.tooling.internal.provider.ProviderConnection.runPhasedAction(ProviderConnection.java:171)
      at org.gradle.tooling.internal.provider.DefaultConnection.run(DefaultConnection.java:233)
      at org.gradle.tooling.internal.consumer.connection.PhasedActionAwareConsumerConnection.run(PhasedActionAwareConsumerConnection.java:56)
      at org.gradle.tooling.internal.consumer.connection.ParameterValidatingConsumerConnection.run(ParameterValidatingConsumerConnection.java:60)
      at org.gradle.tooling.internal.consumer.DefaultPhasedBuildActionExecuter$1.run(DefaultPhasedBuildActionExecuter.java:76)
      at org.gradle.tooling.internal.consumer.DefaultPhasedBuildActionExecuter$1.run(DefaultPhasedBuildActionExecuter.java:70)
      at org.gradle.tooling.internal.consumer.connection.LazyConsumerActionExecutor.run(LazyConsumerActionExecutor.java:84)
      at org.gradle.tooling.internal.consumer.connection.CancellableConsumerActionExecutor.run(CancellableConsumerActionExecutor.java:45)
      at org.gradle.tooling.internal.consumer.connection.ProgressLoggingConsumerActionExecutor.run(ProgressLoggingConsumerActionExecutor.java:58)
      at org.gradle.tooling.internal.consumer.connection.RethrowingErrorsConsumerActionExecutor.run(RethrowingErrorsConsumerActionExecutor.java:38)
      at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:55)
      ... 6 more
  Caused by: java.io.StreamCorruptedException: invalid type code: 3A
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1656)
      at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2342)
      at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2266)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2124)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1625)
      at java.io.ObjectInputStream.readArray(ObjectInputStream.java:2030)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1613)
      at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2342)
      at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2266)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2124)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1625)
      at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2342)
      at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2266)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2124)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1625)
      at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2342)
      at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2266)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2124)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1625)
      at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2342)
      at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2266)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2124)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1625)
      at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2342)
      at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2266)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2124)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1625)
      at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2342)
      at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2266)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2124)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1625)
      at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2342)
      at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2266)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2124)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1625)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:465)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:423)
      at org.gradle.tooling.internal.provider.serialization.PayloadSerializer.deserialize(PayloadSerializer.java:74)
      ... 19 more
  2020-06-02 11:08:35,559 [  40363]   INFO - System.util.ExternalSystemUtil - External project [/Users/tedhopp/AndroidStudioProjects/TanachApps] resolution task executed in 23203 ms. 
  2020-06-02 11:08:35,560 [  40364]   WARN - e.project.sync.GradleSyncState - Gradle sync failed: Cause: invalid type code: 3A
  
  Consult IDE log for more details (Help | Show Log) (23 s 272 ms) 
  2020-06-02 11:08:35,572 [  40376]   INFO - roid.tools.ndk.GradleWorkspace - Updating model took 0.003s 
  2020-06-02 11:08:35,889 [  40693]   INFO - ge.ExternalProjectsDataStorage - Save external projects data in 2 ms 
  2020-06-02 11:13:00,653 [ 305457]   WARN - dea.sdk.SystemInfoStatsMonitor - CpuInfoFlags.fromExitCode(): unknown flag values '0x80' 
  </code></pre>
  
  <p>This happens whether I'm using version 4.0.0 or version 3.6.3 of the Android Gradle plugin. I've also tried setting various versions of Gradle (5.5.1, 5.6.4, and 6.1.1). I've tried cleaning the project and also clearing the cache and restarting AS. Nothing changes the behavior.</p>
  
  <p>Other projects sync and compile without a problem since the upgrade to AS 4.0. I should mention that the option "Only sync the active variant" is disabled (a solution suggested in <a href="https://stackoverflow.com/a/54235107/535871">this answer</a> to a similar question).</p>
  
  <p>Here's the gradle-wrapper.properties file for both the problem project and another project that works:</p>
  
  <pre><code>distributionBase=GRADLE_USER_HOME
  distributionPath=wrapper/dists
  zipStoreBase=GRADLE_USER_HOME
  zipStorePath=wrapper/dists
  distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
  </code></pre>
  
  <p>and here is the <code>buildscript</code> section of the project-level <code>build.gradle</code> file for both projects:</p>
  
  <pre><code>buildscript {
      repositories {
          google()
          jcenter()
      }
      dependencies {
          classpath 'com.android.tools.build:gradle:4.0.0'
      }
  }
  </code></pre>
  
  <p>In looking at the stack trace, I'm puzzled as to why it is using the Gradle installation at <code>/usr/local/Cellar/gradle/5.5.1/libexec</code>. There's no reason AS should be using that version. (There's certainly nothing in my environment variables that points to that installation.)</p>
  
  <p>I have no idea what to try next, or where to look for the source of the problem.</p>