GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Android mode no longer works in Processing 4.4.1 · Issue #777 · processing/processing-android

Android mode no longer works in Processing 4.4.1 #777

New issue
Copy link
New issue
Copy link
Open
Open
Android mode no longer works in Processing 4.4.1#777
Copy link
Labels
bughelp wanted

Description

@vsquared
vsquared
opened on Apr 30, 2025
Issue body actions

Most appropriate sub-area of Processing 4?

Other (specify if possible), PDE

Processing version

4.4.1

Operating system

MacOS 14.6.1 M2 Android Device: Samsung Galaxy A8 Tablet

Steps to reproduce this

"1. Select Android mode

  1. Try to run the following source code example.

3."

snippet

void setup() {
  fullScreen();
  background(209);
  fill(255, 255, 0);
  rect(200,200,400,400);
}

void draw() {  
}

Additional context

Caused by: org. gradle. launcher daemon.client.DaemonConnectionException: The newly created daemon process has a different context than expected.
It won't be possible to reconnect to this daemon. Context mismatch:
Java home is different.
Wanted: DefaultDaemonContext [uid=null, javaHome=/Applications/Processing.app/Contents/runtime/Contents/Home, daemonRegistryDir=/Users/xxxx/-gradle/daemon, pid=704, idleTimeout=null, priority=NORMAL, daemonOpts=--add-opens, java. base/java. util=ALL-UNNAMED, --add-opens, ji
Actual:
DefaultDaemonContext [uid=927dac68-9b74-4471-8216-ab3771cb0a77, javaHome=/Library/Java/JavaVirtualMachines/zulu-23. jdk/Contents/Home, daemonRegistryDir=/Users/xxxx/•gradle/daemon, pid=964, idleTimeout=10800000, priority=NORMAL, daemonOpts=--add-opens, java. base/java.ut.

Would you like to work on the issue?

Assign to someone else.

Reacted by Stef Tervelde and glv

Activity

  1. vsquared
    added
    bug
    on Apr 30, 2025
  2. Stefterv commented on May 12, 2025

    @Stefterv
    Stefterv
    on May 12, 2025
    Member
    More actions

    Hi @vsquared Thank you for reporting this issue. I looks like this is something we will have to fix within the Android Mode as its gradle is grabbing a different JDK to run the process.

    @SableRaf can you move this issue?

    Reacted by Raphaël de Courville
  3. Stefterv
    added
    help wanted
    on May 12, 2025
  4. SableRaf
    transferred this issue fromprocessing/processing4on May 12, 2025
  5. remag2901 commented on May 17, 2025

    @remag2901
    remag2901
    on May 17, 2025
    More actions

    Hello everyone, processing github newbie here. How can I stay notified on the progress on this issue? Desperately need android mode for my thesis. Or is there a workaround I could use until this is fixed?

  6. vsquared commented on May 17, 2025

    @vsquared
    vsquared
    on May 17, 2025
    Author
    More actions

    is there a workaround I could use until this is fixed?
    Android mode with Processing version 4.3 should work ok.

  7. SableRaf commented on May 17, 2025

    @SableRaf
    SableRaf
    on May 17, 2025
    More actions

    Hi @remag2901. As @vsquared mentioned, the current workaround is to use Processing 4.3.4.

    If you need help getting set up, feel free to post on the Processing forum: https://discourse.processing.org/c/processing-android

    Note: We’re currently migrating Processing to use Gradle as the default build system. This should eventually make it easier to run sketches on Android without relying on a dedicated Android mode.

    Reacted by vsquared and glv
    Reacted by Josh Giesbrecht
  8. remag2901 commented on May 17, 2025

    @remag2901
    remag2901
    on May 17, 2025
    More actions

    Thank you everyone!

    Reacted by glv
  9. glvjr commented on Jul 29, 2025

    @glvjr
    glvjr
    on Jul 29, 2025
    More actions

    Hello,

    This issue is from April 29 and for the development environment and software versions that was shared.

    I am cautiously optimistic that I may have a solution for W10 and W11.

    I was able to get this to work on this development environment:

    • Windows 10 and 11
    • Processing 4.4.4
    • Motorola Android Phone (Android version 14)
    • Android Mode for Processing 4.6.1 (Installed July 28).
    • I did an SDK update.

    Path in Environment Variables set to:
    C:\Programs_Portable\Processing\app\resources\jdk\bin < java.exe is available here on my install

    See Updates in this this post:

    https://discourse.processing.org/t/android-programming-for-beginners/46813/13

    I only use the portable installs.
    I do not know what the MSI installs or sets in addition to core software and cautious (may cause conflicts for my use).

  10. SableRaf commented on Aug 1, 2025

    @SableRaf
    SableRaf
    on Aug 1, 2025
    More actions

    I only use the portable installs. I do not know what the MSI installs or sets in addition to core software and cautious (may cause conflicts for my use).

    Hi @glvjr, AFAIK the .msi installer on Windows does the following:

    • Add a Start Menu shortcut for Processing
    • Append Processing to the PATH (used by the CLI)
    • Add a registry key so Processing appears in Add/Remove Programs

    You can see the full instructions in Processing.wxs

    Reacted by glv
  11. nickmcintyre commented on Oct 5, 2025

    @nickmcintyre
    nickmcintyre
    on Oct 5, 2025
    Member
    More actions

    @SableRaf @Stefterv @glvjr I haven't tested extensively, but I got the example sketch running from Processing 4.4.8 just now with no issues using the following setup:

    • MacBook Pro (M1 Pro) running macOS 15.7 (no OpenJDK)
    • Samsung Galaxy Tab A9+ running Android 15

    Happy to see how things work on the Windows 11 machines in my classroom and report back. We're taking a field trip to the local children's museum this week to needfind and will probably end up writing sketches for their tablets.

  12. nickmcintyre commented on Oct 14, 2025

    @nickmcintyre
    nickmcintyre
    on Oct 14, 2025
    Member
    More actions

    Can confirm that Processing 4.4.8 doesn't work on Windows 11. Processing 4.3.4 does with one quirk: I have to re-install the Android SDK every time I open the PDE.

    Here's the error message I got on Windows 11 with Processing 4.4.8 for reference:

    Build folder: C:\Users\NICOLA~1\AppData\Local\Temp\android7935272737544017958sketch
    WARNING:We recommend using a newer Android Gradle plugin to use compileSdk = 33
    
    This Android Gradle plugin (7.1.0) was tested up to compileSdk = 32
    
    This warning can be suppressed by adding
        android.suppressUnsupportedCompileSdk=33
    to this project's gradle.properties
    
    The build will continue, but you are strongly encouraged to update your project to
    use a newer Android Gradle Plugin that has been tested with compileSdk = 33
    Observed package id 'platforms;android-33' in inconsistent location 'C:\Users\nicolasmcintyre\Documents\Processing\android\sdk\platforms\android-33-ext5' (Expected 'C:\Users\nicolasmcintyre\Documents\Processing\android\sdk\platforms\android-33')
    Observed package id 'platforms;android-33' in inconsistent location 'C:\Users\nicolasmcintyre\Documents\Processing\android\sdk\platforms\android-33-ext5' (Expected 'C:\Users\nicolasmcintyre\Documents\Processing\android\sdk\platforms\android-33')
    Checking the license for package Android SDK Build-Tools 30.0.3 in C:\Users\nicolasmcintyre\Documents\Processing\android\sdk\licenses
    Warning: License for package Android SDK Build-Tools 30.0.3 not accepted.
    
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.
    > Failed to install the following Android SDK packages as some licences have not been accepted.
         build-tools;30.0.3 Android SDK Build-Tools 30.0.3
      To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.
      Alternatively, to transfer the license agreements from one workstation to another, see http://d.android.com/r/studio-ui/export-licenses.html
      
      Using Android SDK: C:\Users\nicolasmcintyre\Documents\Processing\android\sdk
    
    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
    
    * Get more help at https://help.gradle.org
    
    BUILD FAILED in 26s
    org.gradle.tooling.BuildException: Could not execute build using connection to Gradle distribution 'https://services.gradle.org/distributions/gradle-7.2-bin.zip'.
    	at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:51)
    	at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:29)
    	at org.gradle.tooling.internal.consumer.ResultHandlerAdapter.onFailure(ResultHandlerAdapter.java:43)
    	at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:69)
    	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
    	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:61)
    	at java.base/java.lang.Thread.run(Unknown Source)
    	at org.gradle.tooling.internal.consumer.BlockingResultHandler.getResult(BlockingResultHandler.java:46)
    	at org.gradle.tooling.internal.consumer.DefaultBuildLauncher.run(DefaultBuildLauncher.java:83)
    	at processing.mode.android.AndroidBuild.gradleBuildPackage(AndroidBuild.java:328)
    	at processing.mode.android.AndroidBuild.build(AndroidBuild.java:225)
    	at processing.mode.android.AndroidMode.handleRunDevice(AndroidMode.java:294)
    	at processing.mode.android.AndroidEditor$17.run(AndroidEditor.java:421)
    Caused by: org.gradle.internal.exceptions.LocationAwareException: Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.
    	at org.gradle.initialization.exception.DefaultExceptionAnalyser.transform(DefaultExceptionAnalyser.java:103)
    	at org.gradle.initialization.exception.DefaultExceptionAnalyser.collectFailures(DefaultExceptionAnalyser.java:67)
    	at org.gradle.initialization.exception.MultipleBuildFailuresExceptionAnalyser.transform(MultipleBuildFailuresExceptionAnalyser.java:48)
    	at org.gradle.initialization.exception.StackTraceSanitizingExceptionAnalyser.transform(StackTraceSanitizingExceptionAnalyser.java:30)
    	at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$withModelOrThrow$5(DefaultBuildLifecycleController.java:145)
    	at org.gradle.internal.build.DefaultBuildLifecycleController.withModel(DefaultBuildLifecycleController.java:157)
    	at org.gradle.internal.build.DefaultBuildLifecycleController.withModelOrThrow(DefaultBuildLifecycleController.java:140)
    	at org.gradle.internal.build.DefaultBuildLifecycleController.scheduleRequestedTasks(DefaultBuildLifecycleController.java:111)
    	at org.gradle.internal.buildtree.DefaultBuildTreeWorkPreparer.lambda$scheduleRequestedTasks$0(DefaultBuildTreeWorkPreparer.java:35)
    	at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph$1.run(DefaultIncludedBuildTaskGraph.java:113)
    	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:74)
    	at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45)
    	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:74)
    	at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph.lambda$prepareTaskGraph$0(DefaultIncludedBuildTaskGraph.java:110)
    	at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph.withState(DefaultIncludedBuildTaskGraph.java:236)
    	at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph.prepareTaskGraph(DefaultIncludedBuildTaskGraph.java:107)
    	at org.gradle.internal.buildtree.DefaultBuildTreeWorkPreparer.scheduleRequestedTasks(DefaultBuildTreeWorkPreparer.java:34)
    	at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$doScheduleAndRunTasks$1(DefaultBuildTreeLifecycleController.java:83)
    	at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph.withNewTaskGraph(DefaultIncludedBuildTaskGraph.java:94)
    	at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.doScheduleAndRunTasks(DefaultBuildTreeLifecycleController.java:82)
    	at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.runBuild(DefaultBuildTreeLifecycleController.java:104)
    	at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.scheduleAndRunTasks(DefaultBuildTreeLifecycleController.java:64)
    	at org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:64)
    	at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
    	at org.gradle.internal.buildtree.ProblemReportingBuildActionRunner.run(ProblemReportingBuildActionRunner.java:47)
    	at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run(BuildOutcomeReportingBuildActionRunner.java:69)
    	at org.gradle.tooling.internal.provider.FileSystemWatchingBuildActionRunner.run(FileSystemWatchingBuildActionRunner.java:91)
    	at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.java:41)
    	at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.lambda$execute$0(RootBuildLifecycleBuildActionExecutor.java:40)
    	at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:154)
    	at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.execute(RootBuildLifecycleBuildActionExecutor.java:40)
    	at org.gradle.internal.buildtree.DefaultBuildTreeContext.execute(DefaultBuildTreeContext.java:40)
    	at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.lambda$execute$0(BuildTreeLifecycleBuildActionExecutor.java:56)
    	at org.gradle.internal.buildtree.BuildTreeState.run(BuildTreeState.java:53)
    	at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.execute(BuildTreeLifecycleBuildActionExecutor.java:56)
    	at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call(RunAsBuildOperationBuildActionExecutor.java:61)
    	at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call(RunAsBuildOperationBuildActionExecutor.java:57)
    	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:79)
    	at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
    	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:79)
    	at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor.execute(RunAsBuildOperationBuildActionExecutor.java:57)
    	at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.lambda$execute$0(RunAsWorkerThreadBuildActionExecutor.java:38)
    	at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:211)
    	at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.execute(RunAsWorkerThreadBuildActionExecutor.java:38)
    	at org.gradle.tooling.internal.provider.ContinuousBuildActionExecutor.execute(ContinuousBuildActionExecutor.java:103)
    	at org.gradle.tooling.internal.provider.SubscribableBuildActionExecutor.execute(SubscribableBuildActionExecutor.java:64)
    	at org.gradle.internal.session.DefaultBuildSessionContext.execute(DefaultBuildSessionContext.java:46)
    	at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.lambda$execute$0(BuildSessionLifecycleBuildActionExecuter.java:56)
    	at org.gradle.internal.session.BuildSessionState.run(BuildSessionState.java:69)
    	at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute(BuildSessionLifecycleBuildActionExecuter.java:55)
    	at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute(BuildSessionLifecycleBuildActionExecuter.java:37)
    	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:63)
    	at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:31)
    	at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:58)
    	at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:42)
    	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.internal.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:61)
    Caused by: org.gradle.api.internal.tasks.TaskDependencyResolveException: Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.
    	at org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext.getDependencies(CachingTaskDependencyResolveContext.java:71)
    	at org.gradle.execution.plan.TaskDependencyResolver.resolveDependenciesFor(TaskDependencyResolver.java:46)
    	at org.gradle.execution.plan.LocalTaskNode.getDependencies(LocalTaskNode.java:161)
    	at org.gradle.execution.plan.LocalTaskNode.resolveDependencies(LocalTaskNode.java:129)
    	at org.gradle.execution.plan.DefaultExecutionPlan.doAddNodes(DefaultExecutionPlan.java:186)
    	at org.gradle.execution.plan.DefaultExecutionPlan.addEntryTasks(DefaultExecutionPlan.java:150)
    	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.addEntryTasks(DefaultTaskExecutionGraph.java:146)
    	at org.gradle.execution.TaskNameResolvingBuildConfigurationAction.configure(TaskNameResolvingBuildConfigurationAction.java:49)
    	at org.gradle.execution.DefaultBuildConfigurationActionExecuter.configure(DefaultBuildConfigurationActionExecuter.java:51)
    	at org.gradle.execution.DefaultBuildConfigurationActionExecuter.access$000(DefaultBuildConfigurationActionExecuter.java:25)
    	at org.gradle.execution.DefaultBuildConfigurationActionExecuter$1.proceed(DefaultBuildConfigurationActionExecuter.java:59)
    	at org.gradle.execution.DefaultTasksBuildExecutionAction.configure(DefaultTasksBuildExecutionAction.java:45)
    	at org.gradle.execution.DefaultBuildConfigurationActionExecuter.configure(DefaultBuildConfigurationActionExecuter.java:51)
    	at org.gradle.execution.DefaultBuildConfigurationActionExecuter.lambda$select$0(DefaultBuildConfigurationActionExecuter.java:38)
    	at org.gradle.internal.Factories$1.create(Factories.java:31)
    	at org.gradle.api.internal.project.DefaultProjectStateRegistry.withMutableStateOfAllProjects(DefaultProjectStateRegistry.java:160)
    	at org.gradle.api.internal.project.DefaultProjectStateRegistry.withMutableStateOfAllProjects(DefaultProjectStateRegistry.java:147)
    	at org.gradle.execution.DefaultBuildConfigurationActionExecuter.select(DefaultBuildConfigurationActionExecuter.java:37)
    	at org.gradle.initialization.DefaultTaskExecutionPreparer.prepareForTaskExecution(DefaultTaskExecutionPreparer.java:39)
    	at org.gradle.initialization.VintageBuildModelController.prepareTaskExecution(VintageBuildModelController.java:111)
    	at org.gradle.initialization.VintageBuildModelController.doBuildStages(VintageBuildModelController.java:85)
    	at org.gradle.initialization.VintageBuildModelController.scheduleRequestedTasks(VintageBuildModelController.java:69)
    	at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$scheduleRequestedTasks$1(DefaultBuildLifecycleController.java:114)
    	at org.gradle.internal.build.DefaultBuildWorkPreparer.populateWorkGraph(DefaultBuildWorkPreparer.java:28)
    	at org.gradle.internal.build.BuildOperationFiringBuildWorkPreparer$PopulateWorkGraph.populateTaskGraph(BuildOperationFiringBuildWorkPreparer.java:120)
    	at org.gradle.internal.build.BuildOperationFiringBuildWorkPreparer$PopulateWorkGraph.run(BuildOperationFiringBuildWorkPreparer.java:76)
    	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:74)
    	at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45)
    	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:74)
    	at org.gradle.internal.build.BuildOperationFiringBuildWorkPreparer.populateWorkGraph(BuildOperationFiringBuildWorkPreparer.java:60)
    	at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$scheduleRequestedTasks$2(DefaultBuildLifecycleController.java:114)
    	at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$withModelOrThrow$5(DefaultBuildLifecycleController.java:142)
    	... 95 more
    Caused by: com.android.builder.errors.EvalIssueException: Failed to install the following Android SDK packages as some licences have not been accepted.
       build-tools;30.0.3 Android SDK Build-Tools 30.0.3
    To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.
    Alternatively, to transfer the license agreements from one workstation to another, see http://d.android.com/r/studio-ui/export-licenses.html
    
    Using Android SDK: C:\Users\nicolasmcintyre\Documents\Processing\android\sdk
    	at com.android.builder.errors.IssueReporter.reportError(IssueReporter.kt:109)
    	at com.android.builder.errors.IssueReporter.reportError$default(IssueReporter.kt:105)
    	at com.android.builder.errors.IssueReporter.reportError(IssueReporter.kt)
    	at com.android.build.gradle.internal.SdkHandler.initTarget(SdkHandler.java:130)
    	at com.android.build.gradle.internal.SdkFullLoadingStrategy.init(SdkFullLoadingStrategy.kt:49)
    	at com.android.build.gradle.internal.SdkFullLoadingStrategy.getTargetBootClasspath(SdkFullLoadingStrategy.kt:71)
    	at com.android.build.gradle.internal.SdkLoadingStrategy.getTargetBootClasspath(SdkLoadingStrategy.kt:36)
    	at com.android.build.gradle.internal.SdkComponentsBuildService$VersionedSdkLoader$targetBootClasspathProvider$1.call(SdkComponents.kt:184)
    	at com.android.build.gradle.internal.SdkComponentsBuildService$VersionedSdkLoader$targetBootClasspathProvider$1.call(SdkComponents.kt:183)
    	at org.gradle.api.internal.provider.DefaultProvider.calculateOwnValue(DefaultProvider.java:66)
    	at org.gradle.api.internal.provider.AbstractMinimalProvider.calculateValue(AbstractMinimalProvider.java:103)
    	at org.gradle.api.internal.provider.FlatMapProvider.calculateOwnValue(FlatMapProvider.java:50)
    	at org.gradle.api.internal.provider.AbstractMinimalProvider.calculateValue(AbstractMinimalProvider.java:103)
    	at org.gradle.api.internal.provider.FlatMapProvider.backingProvider(FlatMapProvider.java:62)
    	at org.gradle.api.internal.provider.FlatMapProvider.getProducer(FlatMapProvider.java:71)
    	at org.gradle.api.internal.provider.Collectors$ElementsFromCollectionProvider.getProducer(Collectors.java:231)
    	at org.gradle.api.internal.provider.AbstractCollectionProperty$CollectingSupplier.getProducer(AbstractCollectionProperty.java:389)
    	at org.gradle.api.internal.provider.AbstractProperty.getProducer(AbstractProperty.java:178)
    	at org.gradle.api.internal.provider.Collectors$ElementsFromCollectionProvider.getProducer(Collectors.java:231)
    	at org.gradle.api.internal.provider.AbstractCollectionProperty$PlusCollector.getProducer(AbstractCollectionProperty.java:465)
    	at org.gradle.api.internal.provider.AbstractCollectionProperty$CollectingSupplier.getProducer(AbstractCollectionProperty.java:389)
    	at org.gradle.api.internal.provider.AbstractProperty.getProducer(AbstractProperty.java:178)
    	at org.gradle.api.internal.file.collections.ProviderBackedFileCollection.visitDependencies(ProviderBackedFileCollection.java:50)
    	at org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext$TaskGraphImpl.getNodeValues(CachingTaskDependencyResolveContext.java:114)
    	at org.gradle.internal.graph.CachingDirectedGraphWalker$GraphWithEmptyEdges.getNodeValues(CachingDirectedGraphWalker.java:213)
    	at org.gradle.internal.graph.CachingDirectedGraphWalker.doSearch(CachingDirectedGraphWalker.java:121)
    	at org.gradle.internal.graph.CachingDirectedGraphWalker.findValues(CachingDirectedGraphWalker.java:73)
    	at org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext.getDependencies(CachingTaskDependencyResolveContext.java:69)
    	... 133 more
  13. Honneamise commented on Oct 28, 2025

    @Honneamise
    Honneamise
    on Oct 28, 2025
    More actions

    Can confirm that Processing 4.4.8 doesn't work on Windows 11. Processing 4.3.4 does with one quirk: I have to re-install the Android SDK every time I open the PDE.

    I can confirm the same problem still exists in 4.4.10

    Enabling android mode always display this pop-up :

    Image

    I have been able to manually locate the sdk under :

    "C:\Users\USERNAME\Documents\Processing\android\sdk"

    Anyway when trying to run the example sketch on device :

    void setup() {
      orientation(LANDSCAPE);    
    }
    
    void draw() {
      background(255);
      line(0, 0, width, height);
      line(0, width, 0, height);  
    }
    

    will report the following :

    WARNING:We recommend using a newer Android Gradle plugin to use compileSdk = 33
    
    This Android Gradle plugin (7.1.0) was tested up to compileSdk = 32
    
    This warning can be suppressed by adding
        android.suppressUnsupportedCompileSdk=33
    to this project's gradle.properties
    
    The build will continue, but you are strongly encouraged to update your project to
    use a newer Android Gradle Plugin that has been tested with compileSdk = 33
    Checking the license for package Android SDK Build-Tools 30.0.3 in C:\Users\honne\Documents\Processing\android\sdk\licenses
    Warning: License for package Android SDK Build-Tools 30.0.3 not accepted.
    Checking the license for package Android SDK Platform 33 in C:\Users\honne\Documents\Processing\android\sdk\licenses
    Warning: License for package Android SDK Platform 33 not accepted.
    

    When trying to run any sketch that use libraries the error change to :

    Exception in thread "Thread-14" java.lang.NullPointerException: Cannot read the array length because "list" is null
    	at processing.app.Library.wrapFiles(Library.java:429)
    	at processing.app.Library.getApplicationExports(Library.java:439)
    	at processing.mode.android.AndroidBuild.copyImportedLibs(AndroidBuild.java:839)
    	at processing.mode.android.AndroidBuild.createAppModule(AndroidBuild.java:481)
    	at processing.mode.android.AndroidBuild.createProject(AndroidBuild.java:262)
    	at processing.mode.android.AndroidBuild.build(AndroidBuild.java:223)
    	at processing.mode.android.AndroidMode.handleRunDevice(AndroidMode.java:294)
    	at processing.mode.android.AndroidEditor$17.run(AndroidEditor.java:421)
    
  14. Shivaramnnp commented on Feb 27, 2026

    @Shivaramnnp
    Shivaramnnp
    on Feb 27, 2026
    More actions

    Hi 👋

    I am a beginner contributor interested in getting started with open source.

    I would like to work on this issue. Could you please guide me on how to begin?

    Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bughelp wanted

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402503 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.