Hardware Setup Fails During Configuration of Android Device

Dear all,
I have MATLAB R2023a installed on my computer, and Android Studio Arctic Fox Patch 4. When I enter the command 'androidhwsetup' on MATLAB command line, I encounter the following error message during Install TestApp.
I have tried many approaches to avoid this problem. When I copy 'settings.gradle' file into test file named as 'tpe9420..' and click on 'gradlew' test application succesfully compiles. But when I click Install TestApp again a new test file with a different name is generated. When I copy 'settings.gradle' file to the main folder it still do not work. I hope to see a solution to this problem. Thanks in advance.

10 Comments

Can you please copy the entire message and paste here?
You should be able to use (ctrl + A) to select all and (ctrl + c) to copy on windows platform? Similar shortcut works for mac as well.
Without looking at the complete message its hard to debug.
By the way, have you tried any sample project from Android Studio to run? It that going through?
Dear Sutanu,
Thank you very much for your reply. Previously, I had MATLAB2021 and Android Studio Chipmunk version. They ran perfectly, I developed many algorithms working fine on my Android device. Due to some deep learning applications, I needed to upgrade to MATLABR2023a. After this installation I came up with this problem. Here is the error message:
Build AppProject directory 'C:\Users\cihan\AppData\Local\Temp\tp4d88eb32_aee1_4c1d_ac8b_bd7458b81c57\TestApp' is not part of the build defined by settings file 'C:\Users\cihan\AppData\Local\Temp\settings.gradle'. If this is an unrelated build, it must have its own settings file. *
Run App
I tried suggestions proposed on this webpage:
I have also tried to install Android Studio Arctic Fox Patch 4 and later the newest version Android Studio Flamingo, both of them led to same problem.
I have written a sample Android Studio-GPS application previously (which worked when I had MATLAB2021, but wrote that after I have developed applications in MATLAB Android package).
With the Android Studio Fox version is installed now, I can run the Android Studio test application fine. However the problem with the error message above remains the same.
Thank you very much. Appreciated!
Best
Cihan
Can you please copy settings.gradle file from 'C:\Users\cihan\AppData\Local\Temp\settings.gradle' and paste at 'C:\Users\cihan\AppData\Local\Temp\tp4d88eb32_aee1_4c1d_ac8b_bd7458b81c57\TestApp' and try inporting the 'C:\Users\cihan\AppData\Local\Temp\tp4d88eb32_aee1_4c1d_ac8b_bd7458b81c57\TestApp' project into Android Stduio and build from Android Studio?
Dear Sutanu,
Thank you very much for all your helps. I have followed the steps you mentioned. After I import TestApp into Android Studio it runs on my android device just fine.
However, there is no change on the Hardware Setup screen I shared above. When I click Install TestApp a different test file is generated under a new folder with a different name starting such as tp99e..., thus the problem remains, I can not verify installation.
Thank you very much for your time and consideration. Best regards,
Cihan
Dear Sutanu,
Thank you,
I have updated to the latest version of Android Studio, Flamingo. Now, when I import the test file generated by MATLAB into Android Studio I come up with the following error:
----------------------------------------------------------------------------------------------------------------------------------
Cannot invoke "org.gradle.tooling.model.gradle.BasicGradleProject.getName()" because "project" is null
* Try:
> Run with --debug option to get more log output.
> Run with --scan to get full insights.
* Exception is:
java.lang.NullPointerException: Cannot invoke "org.gradle.tooling.model.gradle.BasicGradleProject.getName()" because "project" is null
at org.jetbrains.plugins.gradle.model.ProjectImportAction.convert(ProjectImportAction.java:278)
at org.jetbrains.plugins.gradle.model.ProjectImportAction.execute(ProjectImportAction.java:121)
at org.jetbrains.plugins.gradle.model.ProjectImportAction.execute(ProjectImportAction.java:42)
at org.gradle.tooling.internal.consumer.connection.InternalBuildActionAdapter.execute(InternalBuildActionAdapter.java:64)
at org.gradle.tooling.internal.provider.runner.AbstractClientProvidedBuildActionRunner$ActionAdapter.runAction(AbstractClientProvidedBuildActionRunner.java:131)
at org.gradle.tooling.internal.provider.runner.AbstractClientProvidedBuildActionRunner$ActionAdapter.beforeTasks(AbstractClientProvidedBuildActionRunner.java:99)
at org.gradle.internal.buildtree.DefaultBuildTreeModelCreator.beforeTasks(DefaultBuildTreeModelCreator.java:52)
at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$fromBuildModel$1(DefaultBuildTreeLifecycleController.java:75)
at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$runBuild$4(DefaultBuildTreeLifecycleController.java:106)
at org.gradle.internal.model.StateTransitionController.lambda$transition$6(StateTransitionController.java:166)
at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:238)
at org.gradle.internal.model.StateTransitionController.lambda$transition$7(StateTransitionController.java:166)
at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44)
at org.gradle.internal.model.StateTransitionController.transition(StateTransitionController.java:166)
at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.runBuild(DefaultBuildTreeLifecycleController.java:103)
at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.fromBuildModel(DefaultBuildTreeLifecycleController.java:74)
at org.gradle.tooling.internal.provider.runner.AbstractClientProvidedBuildActionRunner.runClientAction(AbstractClientProvidedBuildActionRunner.java:43)
at org.gradle.tooling.internal.provider.runner.ClientProvidedPhasedActionRunner.run(ClientProvidedPhasedActionRunner.java:53)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.internal.buildtree.ProblemReportingBuildActionRunner.run(ProblemReportingBuildActionRunner.java:49)
at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run(BuildOutcomeReportingBuildActionRunner.java:69)
at org.gradle.tooling.internal.provider.FileSystemWatchingBuildActionRunner.run(FileSystemWatchingBuildActionRunner.java:119)
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:128)
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:65)
at org.gradle.internal.buildtree.BuildTreeState.run(BuildTreeState.java:53)
at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.execute(BuildTreeLifecycleBuildActionExecutor.java:65)
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: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.launcher.exec.RunAsBuildOperationBuildActionExecutor.execute(RunAsBuildOperationBuildActionExecutor.java:57)
at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.lambda$execute$0(RunAsWorkerThreadBuildActionExecutor.java:36)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:270)
at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:119)
at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.execute(RunAsWorkerThreadBuildActionExecutor.java:36)
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$ActionImpl.apply(BuildSessionLifecycleBuildActionExecuter.java:100)
at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply(BuildSessionLifecycleBuildActionExecuter.java:88)
at org.gradle.internal.session.BuildSessionState.run(BuildSessionState.java:69)
at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute(BuildSessionLifecycleBuildActionExecuter.java:62)
at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute(BuildSessionLifecycleBuildActionExecuter.java:41)
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)
* Get more help at https://help.gradle.org
CONFIGURE FAILED in 211ms
---------------------------------------------------------------------------------------------------------------------------------
Still looking for a solution to this problem. Thank you very much.
Best,
Cihan
Dear Sutanu,
I have solved the java problem, but the first problem remains there. I attach a screenshot above. Thank you for your guidance. I am still looking for the solution.
Best wishes,
Cihan
Hello again,
When I click on Install TesApp, a new folder and a test app is generated. When I import this file into Android Studio, it does not work in the beginning. After I copy settings.gradle file into Test App folder and I click gradlew, it works on Android studio. However, when I click Install TesApp next time a different test file is generated therefore the problem remains.
Thank you!
Best
Cihan
Hello,
After I tried so many options, changing the Gradle JDK to Azul 13 worked for me. Hoping that this may help someone, I share the screenshot.
I have completed all the steps after I enter 'androidhwsetup' command to MATLAB commandline. However, on Simulink window I came up with some errors. AndroidSensorFilterExample is deployed on my android device, however not working properly with displays such as 'Serial: unknown', 'Unsupported models in model: None'.
Another application only worked after I copied 'settings.gradle' file and clicked on 'gradlew' in the project folder.
In a third case I come up with the following error:
which reads as 'Unable to locate build tool 'Android Assembler', android ''.
I hope this helps other people. Any suggestions are welcome. Thank you. Best
Cihan
Hi Cihan,
I'm also having the same issue when trying to test Simulink Support Package for Android with a simple Camera + display image. Test app runs fine on matlab hwsetup: "Unable to locate build tool "Android Assembler": android".
Were you able to solve it?
Error:Invalid folder name in path 'C:\Users\Fortu\OneDrive\Área de Trabalho\OCC\OCC'. Folder name must not contain spaces or any of these characters & ' $ % = # ;
Caused by:
Validation error(s):
### Validating other build tools ...
Unable to locate build tool "Android Assembler": android
The actual error is:
"Error:Invalid folder name in path 'C:\Users\Fortu\OneDrive\Área de Trabalho\OCC\OCC'. Folder name must not contain spaces or any of these characters & ' $ % = # ;"
The folder "Área de Trabalho" contains space and special character that the make file does not understand.
Can you please build the model in a folder that does not have any of those mentioned above?

Sign in to comment.

Answers (0)

Asked:

on 31 May 2023

Commented:

on 1 Aug 2023

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!