Fixed
Status Update
Comments
da...@google.com <da...@google.com>
il...@google.com <il...@google.com> #2
Indexing also runs indefinitely here with Android studio 3.3 and a project that contains a NDK library (native engine + game). Previous versions, for instance 3.2.1, worked fine. Still occurs after clearing the caches and deleting the .idea folder. On a desktop with 32 GB of RAM it's not running out of memory but it indexes forever, pegging an entire CPU and disk access to 100%, and it never stops. The same thing occurs with gradle 4.6 or 4.10. If I enable the experimental scan active configuration only setting, everything is basically broken - no syntax highlighting, cpp files don't show. Waiting to see if there's a workaround before reverting to 3.2.1 and being much more cautious about updating in the future ..
ma...@gmail.com <ma...@gmail.com> #3
When I let it run for hours, the scanning eventually did complete, then the indexing took more hours, I let it run as well, and eventually it switched to 'building symbols' which also started taking a long time without progress, but that, eventually, crashed Android Studio with an out of memory error, telling me to increase the heap size. I did, and upon restarting Android Studio, it started over at scanning .. so I gave up for now. This is with a mid-size NDK project.
ap...@google.com <ap...@google.com> #4
Even after a dirty downgrade to AS 3.2 from 3.3 my project was stuck on scanning files to index and building symbols. I ended up having to fully remove all Android Studio files/folders. After relaunching AS 3.2 and setting heap size to 8GB the scanning, indexing and building symbols took just a couple minutes.
il...@google.com <il...@google.com> #5
These were the folders I deleted:
rm -rfv ~/Library/Application\ Support/AndroidStudio*
rm -rfv ~/Library/Preferences/AndroidStudio*
rm -rfv ~/Library/Caches/AndroidStudio*
rm -rfv ~/Library/Logs/AndroidStudio*
rm -rfv ~/.AndroidStudio*
rm -rfv ~/Library/Application\ Support/AndroidStudio*
rm -rfv ~/Library/Preferences/AndroidStudio*
rm -rfv ~/Library/Caches/AndroidStudio*
rm -rfv ~/Library/Logs/AndroidStudio*
rm -rfv ~/.AndroidStudio*
Description
Version used: 1.0.0-alpha06
After updating the safe-args plugin from alpha05 to alpha06, my build fails with the following stacktrace:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:generateSafeArgsDebug'
Caused by: java.lang.IllegalStateException: Destination with actions must have name
at androidx.navigation.safe.args.generator.NavWriterKt.generateDirectionsJavaFile(NavWriter.kt:419)
at androidx.navigation.safe.args.generator.NavSafeArgsGeneratorKt$generateSafeArgs$1.invoke(NavSafeArgsGenerator.kt:43)
at androidx.navigation.safe.args.generator.NavSafeArgsGeneratorKt$generateSafeArgs$1.invoke(NavSafeArgsGenerator.kt:55)
at androidx.navigation.safe.args.generator.NavSafeArgsGeneratorKt.generateSafeArgs(NavSafeArgsGenerator.kt:58)
at androidx.navigation.safeargs.gradle.ArgumentsGenerationTask.generateArgs(ArgumentsGenerationTask.kt:54)
at androidx.navigation.safeargs.gradle.ArgumentsGenerationTask.doFullTaskAction(ArgumentsGenerationTask.kt:90)
at androidx.navigation.safeargs.gradle.ArgumentsGenerationTask.taskAction$navigation_safe_args_gradle_plugin(ArgumentsGenerationTask.kt:79)
Reverting to alpha05 makes the build complete.
I think this is related to the commit addressing this issue:
My navigation graph has this structure:
<navigation>
<fragment>
<action />
<argument />
</fragment>
<include app:graph="@navigation/nav_graph_two" />
...
<action />
</navigation>
That is, there are global actions, fragment destinations with arguments, fragment destinations with actions and an included nested graph (in a separate xml). Every single destination has a valid name and every root <navigation> has an id (everything works with version alpha05 of the plugin). I might guess this is related with global actions, which expect the parent destination to have a name that is not resolved with the alpha06 update. In fact, commenting out all the global actions makes the generateSafeArgsDebug task pass. My graphs have ids in the form "@+id/nav_graph_one".