Android Studio 在 USB 驱动器上运行:初始化脚本 sync.studio.tooling.gradle 似乎已损坏 目标软件信息采取的步骤问题尝试后

问题描述

目标

能够在任何兼容的 Windows 计算机上通过 USB 驱动器安装和运行 Android Studio。理想情况下,还能够将所有随附文件存储在同一个 USB 驱动器上(即 android SDK、gradle、项目等)

软件信息

PC 操作系统:Windows 10
Android Studio 版本 4.2.2
Gradle 版本 6.7.1(也尝试过 7.1.1 版)
注意:不会总是打开管理权限不同的电脑;因此我使用的是 ZIP 版本的 Android Studio

采取的步骤

我已经按照这个非常好的线程的全部说明进行操作: Making Android Studio Portable (2017+ versions)
该线程谈到了虚拟驱动器,但我使用了 USB 拇指驱动器。

我对说明进行的一个修改是将硬编码的驱动器号 t: 替换为代码%CD:~0,2%
例如:代替t:\Android\.gradle,我会使用%CD:~0,2%\Android\.gradle
这是为了在插入USB驱动器时考虑不断变化的USB驱动器盘符

现在,我可以将U盘插入电脑,双击start-studio.bat文件,启动Android Studio(AS)。我在 U 盘中创建了一个名为 AndroidStudioProjects 的文件夹,以及一个名为 SDK 的文件夹,我在其中指示 AS 下载 SDK 包。

问题

我选择“创建新项目”--> 空活动。我将项目命名为“Hello World”,在位于同一 U 盘的 AndroidStudioProjects 文件夹中设置文件目录,选择 Kotlin 作为语言,恰好选择 API 28 作为最低 SDK 版本。单击完成按钮后,项目开始初始化,Gradle 尝试同步,但同步失败。因此,我无法编译我的项目,导致 AS 无法使用。

Screenshot 1

我也在同一屏幕(不同标签)的构建日志中看到了这个:

Starting Gradle Daemon... Gradle Daemon started in 2 s 474 ms

FAILURE: Build Failed with an exception.

* What went wrong: The cache entry for initialization script 'C:\Users\lmch3573\AppData\Local\Temp\sync.studio.tooling2.gradle' appears to be corrupted.

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

* Exception is: java.lang.IllegalStateException: The cache entry for initialization script 'C:\Users\lmch3573\AppData\Local\Temp\sync.studio.tooling2.gradle' appears to be corrupted.  at org.gradle.groovy.scripts.internal.DefaultScriptCompilationHandler$ClassesDirCompiledScript.loadClass(DefaultScriptCompilationHandler.java:343)  at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.getScript(DefaultScriptRunnerFactory.java:55)     at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:86)   at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:111)  at org.gradle.configuration.BuildOperationScriptPlugin$1.run(BuildOperationScriptPlugin.java:65)    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)    at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)    at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)     at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)  at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56)  at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:71)     at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45)    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:71)  at org.gradle.configuration.BuildOperationScriptPlugin.lambda$apply$0(BuildOperationScriptPlugin.java:62)   at org.gradle.configuration.internal.DefaultUserCodeApplicationContext.apply(DefaultUserCodeApplicationContext.java:43)     at org.gradle.configuration.BuildOperationScriptPlugin.apply(BuildOperationScriptPlugin.java:62)    at org.gradle.configuration.Defaultinitscriptprocessor.process(Defaultinitscriptprocessor.java:50)  at org.gradle.initialization.InitScriptHandler$1.run(InitScriptHandler.java:56)     at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)    at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)    at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)     at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)  at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56)  at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:71)     at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45)    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:71)  at org.gradle.initialization.InitScriptHandler.executeScripts(InitScriptHandler.java:51)    at org.gradle.initialization.DefaultSettingsPreparer.prepareSettings(DefaultSettingsPreparer.java:33)   at org.gradle.initialization.BuildOperationFiringSettingsPreparer$LoadBuild.doLoadBuild(BuildOperationFiringSettingsPreparer.java:59)   at org.gradle.initialization.BuildOperationFiringSettingsPreparer$LoadBuild.run(BuildOperationFiringSettingsPreparer.java:54)   at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)    at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)    at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)     at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)  at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56)  at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:71)     at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45)    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:71)  at org.gradle.initialization.BuildOperationFiringSettingsPreparer.prepareSettings(BuildOperationFiringSettingsPreparer.java:42)     at org.gradle.initialization.DefaultGradleLauncher.prepareSettings(DefaultGradleLauncher.java:220)  at org.gradle.initialization.DefaultGradleLauncher.doClassicBuildStages(DefaultGradleLauncher.java:161)     at org.gradle.initialization.DefaultGradleLauncher.dobuildStages(DefaultGradleLauncher.java:150)    at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:126)     at org.gradle.internal.invocation.GradleBuildController$1.create(GradleBuildController.java:72)     at org.gradle.internal.invocation.GradleBuildController$1.create(GradleBuildController.java:67)     at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:178)     at org.gradle.internal.invocation.GradleBuildController.dobuild(GradleBuildController.java:67)  at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:56)  at org.gradle.tooling.internal.provider.runner.ClientProvidedPhasedActionRunner.run(ClientProvidedPhasedActionRunner.java:60)   at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)    at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)    at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run(BuildOutcomeReportingBuildActionRunner.java:63)  at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)    at org.gradle.tooling.internal.provider.FileSystemWatchingBuildActionRunner.run(FileSystemWatchingBuildActionRunner.java:67)    at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.java:41)    at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call(RunAsBuildOperationBuildActionRunner.java:49)   at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call(RunAsBuildOperationBuildActionRunner.java:44)   at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)    at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)    at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)     at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)  at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)     at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)    at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)   at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)     at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:44)  at org.gradle.launcher.exec.InProcessBuildActionExecuter.lambda$execute$0(InProcessBuildActionExecuter.java:54)     at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:87)   at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:53)  at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:29)  at org.gradle.launcher.exec.BuildTreeScopeLifecycleBuildActionExecuter.lambda$execute$0(BuildTreeScopeLifecycleBuildActionExecuter.java:33)     at org.gradle.internal.buildtree.BuildTreeState.run(BuildTreeState.java:49)     at org.gradle.launcher.exec.BuildTreeScopeLifecycleBuildActionExecuter.execute(BuildTreeScopeLifecycleBuildActionExecuter.java:32)  at org.gradle.launcher.exec.BuildTreeScopeLifecycleBuildActionExecuter.execute(BuildTreeScopeLifecycleBuildActionExecuter.java:27)  at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:104)   at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:55)    at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:64)    at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:37)    at org.gradle.tooling.internal.provider.SessionScopeLifecycleBuildActionExecuter.lambda$execute$0(SessionScopeLifecycleBuildActionExecuter.java:54)     at org.gradle.internal.session.BuildSessionState.run(BuildSessionState.java:67)     at org.gradle.tooling.internal.provider.SessionScopeLifecycleBuildActionExecuter.execute(SessionScopeLifecycleBuildActionExecuter.java:50)  at org.gradle.tooling.internal.provider.SessionScopeLifecycleBuildActionExecuter.execute(SessionScopeLifecycleBuildActionExecuter.java:36)  at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36)    at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25)    at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:59)    at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:31)    at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:55)    at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:41)    at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:47)  at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:31)  at org.gradle.launcher.daemon.server.exec.ExecuteBuild.dobuild(ExecuteBuild.java:65)    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)    at org.gradle.launcher.daemon.server.exec.WatchFordisconnection.execute(WatchFordisconnection.java:39)  at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)    at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:29)    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)    at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:35)  at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:78)   at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:75)   at org.gradle.util.Swapper.swap(Swapper.java:38)    at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:75)    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)    at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)  at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)    at org.gradle.launcher.daemon.server.exec.LogToClient.dobuild(LogToClient.java:63)  at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)    at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.dobuild(EstablishBuildEnvironment.java:84)  at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)    at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:52)    at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)  at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)   at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)


* Get more help at https://help.gradle.org

BUILD Failed in 4s

在该目录“C:\Users\lmch3573\AppData\Local\Temp\”之后,我看到创建了两个文件:“ijinit.gradle”和“sync.studio.tooling.gradle”。各自的内容粘贴如下:

ijinit.gradle

import org.gradle.api.internal.project.ProjectInternal import org.gradle.tooling.provider.model.ToolingModelBuilderRegistry import org.gradle.util.GradLeversion import org.jetbrains.plugins.gradle.tooling.internal.ExtraModelBuilder

import java.util.concurrent.copyOnWriteArrayList

initscript {   dependencies {
    classpath files(["D:/Android/android-studio/.AndroidStudio/config/plugins/Kotlin/lib/kotlin-compiler-plugins-lombok.jar","D:/Android/android-studio/lib/external-system-rt.jar","D:/Android/android-studio/lib/kotlin-stdlib-1.4.31.jar","D:/Android/android-studio/plugins/gradle/lib/gradle-tooling-extension-impl.jar","D:/Android/android-studio/plugins/gradle/lib/gradle-api-impldep-6.5.jar","D:/Android/android-studio/plugins/gradle/lib/gradle-tooling-extension-api.jar","D:/Android/android-studio/plugins/android/lib/android-extensions-ide.jar","D:/Android/android-studio/lib/util.jar","D:/Android/android-studio/lib/trove4j.jar","D:/Android/android-studio/.AndroidStudio/config/plugins/Kotlin/lib/kotlin-compiler-plugins-annotation-based-compiler-support.jar","D:/Android/android-studio/lib/gson-2.8.6.jar","D:/Android/android-studio/.AndroidStudio/config/plugins/Kotlin/lib/kotlin-gradle-gradle-tooling.jar","D:/Android/android-studio/lib/ion-java-1.5.2-2.jar"]) } }

apply plugin: JetGradlePlugin

class JetGradlePlugin implements Plugin<Gradle> {   void apply(Gradle gradle) {
    def processor = new RegistryProcessor()
    gradle.addProjectEvaluationListener(processor)
    def projectEvaluationIsNotCalledForIncludedBuilds = GradLeversion.current() >= GradLeversion.version("3.1") &&
                                                        GradLeversion.current() < GradLeversion.version("4.0")
    if (projectEvaluationIsNotCalledForIncludedBuilds) {
      gradle.rootProject {
        it.afterEvaluate {
          gradle.includedBuilds.each { included ->
            // included builds should be configured by Now,so calling `configuredBuild` should be safe
            def toolingRegistry = (ToolingModelBuilderRegistry)included.configuredBuild.services.get(ToolingModelBuilderRegistry.class)
            processor.process(toolingRegistry)
          }
        }
      }
    }   } }

/**  * Adds a single extra model builder instance for each root of ToolingModelBuilderRegistry hierarchy<br>  * Thread safe.  */ class RegistryProcessor implements ProjectEvaluationListener {   def extraModelBuilderInstance = new ExtraModelBuilder()   copyOnWriteArrayList<ToolingModelBuilderRegistry> processedRegistries
= new copyOnWriteArrayList<ToolingModelBuilderRegistry>()

  @Override   void beforeEvaluate(Project project) {
    def registry = (ToolingModelBuilderRegistry)((ProjectInternal)project).services.get(ToolingModelBuilderRegistry.class)
    process(registry)   }

  void process(ToolingModelBuilderRegistry registry) {
    ToolingModelBuilderRegistry rootRegistry = registry
    while (rootRegistry.hasProperty('parent') && rootRegistry.parent != null) {
      rootRegistry = rootRegistry.parent
    }

  boolean alreadySeen = !processedRegistries.addIfAbsent(rootRegistry)   if (alreadySeen || extraModelBuilderIsRegistered(rootRegistry)) {
    return   }   rootRegistry.register(extraModelBuilderInstance)   }

  private static boolean extraModelBuilderIsRegistered(registry) {
    registry.hasProperty('builders') && registry.builders instanceof Collection &&
    (registry.builders as Collection).find { it instanceof ExtraModelBuilder } != null   }

  @Override   void afterEvaluate(Project project,ProjectState state) {  } }

sync.studio.tooling2.gradle

initscript {
    dependencies {
        classpath files(['D:\\Android\\android-studio\\plugins\\android\\lib\\android.jar','D:\\Android\\android-studio\\plugins\\android\\lib\\android.jar','D:\\Android\\android-studio\\lib\\kotlin-stdlib-1.4.31.jar'])
    } } allprojects {
    apply plugin: com.android.ide.gradle.model.builder.AndroidStudioToolingPlugin }

尝试后

阅读 stackoverflow (SO) 上的其他类似线程,我尝试删除 gradle 文件夹并更改 AS 设置中的 gradle 版本。这些似乎都无助于解决问题。

我不知道为什么 AS 仍在将(临时)文件写入主计算机,而不是 USB 驱动器。我是否缺少任何需要更改的目录?不一致的目录可能是错误的原因吗?需要帮助,请。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)