Status Update
Comments
da...@google.com <da...@google.com>
rk...@google.com <rk...@google.com> #2
lb...@gmail.com <lb...@gmail.com> #3
rk...@google.com <rk...@google.com> #4
The problem is that, while there is no error indicated on the project, when I try to run using the IDE run button (or ctrl-r), nothing happens (gradle build doesn't even start) and I see this exception on "IDE Fatal Errors" (the red exclamation mark icon in the bottom right in the status bar):
java.lang.IllegalArgumentException: No enum constant com.android.manifmerger.NodeOperationType.MERGE-ONLY-ATTRIBUTES
at java.lang.Enum.valueOf(Enum.java:238)
at com.android.manifmerger.NodeOperationType.valueOf(NodeOperationType.java:34)
at com.android.manifmerger.XmlElement.<init>(XmlElement.java:108)
at com.android.manifmerger.XmlElement.initMergeableChildren(XmlElement.java:893)
at com.android.manifmerger.XmlElement.<init>(XmlElement.java:170)
at com.android.manifmerger.XmlElement.initMergeableChildren(XmlElement.java:893)
at com.android.manifmerger.XmlElement.<init>(XmlElement.java:170)
at com.android.manifmerger.XmlDocument.getRootNode(XmlDocument.java:247)
at com.android.manifmerger.PlaceholderHandler.visit(PlaceholderHandler.java:82)
at com.android.manifmerger.ManifestMerger2.performPlaceHolderSubstitution(ManifestMerger2.java:1068)
at com.android.manifmerger.ManifestMerger2.load(ManifestMerger2.java:1027)
at com.android.manifmerger.ManifestMerger2.merge(ManifestMerger2.java:139)
at com.android.manifmerger.ManifestMerger2.access$600(ManifestMerger2.java:61)
at com.android.manifmerger.ManifestMerger2$Invoker.merge(ManifestMerger2.java:1737)
at com.android.tools.idea.model.ManifestInfo.getMergedManifest(ManifestInfo.java:254)
at com.android.tools.idea.model.ManifestInfo$ManifestFile.parseManifest(ManifestInfo.java:314)
at com.android.tools.idea.model.ManifestInfo$ManifestFile.refresh(ManifestInfo.java:379)
at com.android.tools.idea.model.MergedManifest.syncWithReadPermission(MergedManifest.java:410)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:925)
at com.android.tools.idea.model.MergedManifest.sync(MergedManifest.java:372)
at com.android.tools.idea.model.MergedManifest.getActivities(MergedManifest.java:550)
at com.android.tools.idea.run.activity.DefaultActivityLocator.lambda$computeDefaultActivity$0(DefaultActivityLocator.java:84)
at com.intellij.openapi.project.DumbService.lambda$runReadActionInSmartMode$0(DumbService.java:79)
at com.intellij.openapi.project.DumbService.runReadActionInSmartMode(DumbService.java:110)
at com.intellij.openapi.project.DumbService.runReadActionInSmartMode(DumbService.java:79)
at com.android.tools.idea.run.activity.DefaultActivityLocator.computeDefaultActivity(DefaultActivityLocator.java:83)
at com.android.tools.idea.run.activity.DefaultActivityLocator.validate(DefaultActivityLocator.java:70)
at com.android.tools.idea.run.editor.DefaultActivityLaunch$State.checkConfiguration(DefaultActivityLaunch.java:49)
at com.android.tools.idea.run.AndroidAppRunConfigurationBase.checkConfiguration(AndroidAppRunConfigurationBase.java:113)
at com.android.tools.idea.run.AndroidRunConfigurationBase.validate(AndroidRunConfigurationBase.java:190)
at com.android.tools.idea.run.AndroidRunConfigurationBase.checkConfiguration(AndroidRunConfigurationBase.java:123)
at com.intellij.execution.impl.RunnerAndConfigurationSettingsImpl.checkSettings(RunnerAndConfigurationSettingsImpl.kt:321)
at com.intellij.execution.impl.RunManagerImpl$Companion.canRunConfiguration(RunManagerImpl.kt:67)
at com.intellij.execution.impl.RunManagerImpl$Companion.canRunConfiguration(RunManagerImpl.kt:61)
at com.intellij.execution.impl.RunManagerImpl.canRunConfiguration(RunManagerImpl.kt)
at com.intellij.execution.ProgramRunnerUtil.executeConfigurationAsync(ProgramRunnerUtil.java:65)
at com.intellij.execution.ProgramRunnerUtil.executeConfiguration(ProgramRunnerUtil.java:43)
at com.intellij.execution.impl.ExecutionManagerImpl.start(ExecutionManagerImpl.java:94)
at com.intellij.execution.impl.ExecutionManagerImpl.access$300(ExecutionManagerImpl.java:43)
at com.intellij.execution.impl.ExecutionManagerImpl$3.run(ExecutionManagerImpl.java:423)
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:232)
at com.intellij.util.Alarm$Request.runSafely(Alarm.java:405)
at com.intellij.util.Alarm$Request.access$700(Alarm.java:330)
at com.intellij.util.Alarm$Request$1.run(Alarm.java:371)
at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:315)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.doRun(LaterInvocator.java:447)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:431)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:415)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762)
at java.awt.EventQueue.access$500(EventQueue.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:715)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:732)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:817)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:758)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:394)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
But you don't even need my sample project for this. I just created a new project with a basic activity, ran it once to make sure it works then added this attribute to the main activity
in the AndroidManifest.xml:
tools:node="merge-only-attributes"
To be extra clear, this is the main activity node on the manifest that causes the error:
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar"
tools:node="merge-only-attributes">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
Removing the "merge-only-attributes" flag makes the error go away. In my original problem, I traded it for "<intent-filter tools:node="removeAll"/>" inside the activity node.
My problem with this is that the IDE even allows me to autocomplete the "merge-only-attributes" flag. If it no longer exists, then it should be removed from the IDE.
lb...@gmail.com <lb...@gmail.com> #5
I'm still able to reproduce on AS Electric Eel Canary 8.
It should be "mergeOnlyAttributes", not "merge-only-attributes".
This is an IDE bug - autocomplete should suggest "mergeOnlyAttributes".
sp...@google.com <sp...@google.com> #6
I've submitted a fix which will be available in the next canary build.
lb...@gmail.com <lb...@gmail.com> #7
Thank you for your patience while our engineering team worked to resolve this issue. A fix for this issue is now available in:
- Android Studio Ladybug Feature Drop | 2024.2.2 Canary 1
- Android Gradle Plugin 8.8.0-alpha01
We encourage you to try the latest update.
If you notice further issues or have questions, please file a new bug report.
Thank you for taking the time to submit feedback — we really appreciate it!
lb...@gmail.com <lb...@gmail.com> #10
@8 So don't use much more than 5 seconds in doing things that are intended to be done after reading well what it's about. I didn't even write much.
Look at @2 and @4 . They both show that with the time spent on writing illogical questions, it could have been spent on reading a single sentence.
@9 Attached.
rk...@google.com <rk...@google.com> #11
Look at @2 and @4 . They both show that with the time spent on writing illogical questions, it could have been spent on reading a single sentence.
Please bear in mind this bug will be read by many engineers and all of them will have to "spend at least 5 seconds" and to make reasonable and, sometimes, unreasonable guesses. Not all Android Studio engineers know specifics of Emulator system image updates.
lb...@gmail.com <lb...@gmail.com> #12
@11 So don't let people who don't know about emulators change the category I've set, to be related to emulator. The title is enough to understand that I'm talking about real devices : Updating, and mirroring. Both of these are very rare to talk about in terms of emulators.
We still can't update the OS on emulators, and mirroring is also a bit weird. Might be useful if you want to have the "Google Play Games Developer Emulator" content be visible right on the IDE.
sp...@google.com <sp...@google.com> #13
Could you please put the attached studioFlags.xml into C:\Users\User\AppData\Roaming\Google\AndroidStudioPreview2024.2\options
, restart Studio, eproduce the issue again and attach the output of adb logcat -d >logcat.txt and of Help > Collect Logs and Diagnostic Data. Thank you.
lb...@gmail.com <lb...@gmail.com> #14
@13 Attached. Also notice that I've updated the IDE and the issue still exists.
Android Studio Ladybug Feature Drop | 2024.2.2 Canary 8
Build #AI-242.23339.11.2422.12548333, built on October 24, 2024
Runtime version: 21.0.4+-12508038-b607.1 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Toolkit: sun.awt.windows.WToolkit
Windows 11.0
Kotlin plugin: K2 mode (Beta)
GC: G1 Young Generation, G1 Concurrent GC, G1 Old Generation
Memory: 6144M
Cores: 16
Registry:
ide.instant.shutdown=false
ide.experimental.ui=true
i18n.locale=
ide.images.show.chessboard=true
Non-Bundled Plugins:
com.intellij.marketplace (242.23339.24)
Show As ... (1.0.3)
cn.jxzhang.plugin.json-formatter (1.4)
String Manipulation (9.14.1)
GenerateSerialVersionUID (3.0.3)
com.drvector (1.2.1)
com.steve.plugins.autoscroll (1.1)
com.dethlex.numberconverter (2.1.1)
izhangzhihao.rainbow.brackets (2024.2.6-241)
com.developerphil.adbidea (1.6.18)
GenerateSerializationHelpers (1.0.6)
cn.yiiguxing.plugin.translate (3.6.6)
sp...@google.com <sp...@google.com> #15
The message
10-27 04:28:28.824 11889 11889 W studio.screen.sharing: Unable to turn off display
indicates that the DisplayManagerGlobal.requestDisplayPower(0, 1)
call returned false. I'm not able to reproduce this error on any of my Pixel phones. Please let me know the Android build number your phone is running.
lb...@gmail.com <lb...@gmail.com> #16
@15 It's this one:
AP3A.241005.015
sp...@google.com <sp...@google.com> #17
The issue is indeed reproducible with AP3A.241005.015. Investigating.
sp...@google.com <sp...@google.com> #18
It turns out that the DisplayManagerGlobal.requestDisplayPower
method was not included in AP3A.241005.015. A fix is coming.
sp...@google.com <sp...@google.com> #19
The fix will be included in the next Ladybug Feature Drop canary build.
lb...@gmail.com <lb...@gmail.com> #20
@19 When? Also, I've noticed a different issue with mirroring, which is more about adb itself with Android 15: It can sometimes fail to reconnect for cases that it worked fine before.
I've reported this here:
Please fix this. It's much more annoying, and it affects not just mirroring this time...
an...@google.com <an...@google.com> #21
Thank you for your patience while our engineering team worked to resolve this issue. A fix for this issue is now available in:
- Android Studio Ladybug Feature Drop | 2024.2.2 Canary 9
- Android Gradle Plugin 8.8.0-alpha09
We encourage you to try the latest update.
If you notice further issues or have questions, please file a new bug report.
Thank you for taking the time to submit feedback — we really appreciate it!
Description
STEPS TO REPRODUCE:
1. Just use the mirror feature of the IDE, with the feature of turning off the display.
The bug is that it doesn't turn off the display anymore.
I can't put screenshot because you won't see anything special there.
I can say that on ScrCpy it still works fine.
------------------
Studio Build:
Version of Gradle Plugin:
Version of Gradle:
Version of Java:
OS:
Android Studio Ladybug Feature Drop | 2024.2.2 Canary 6
Build #AI-242.23339.11.2422.12480590, built on October 10, 2024
Runtime version: 21.0.4+-12457126-b607.1 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Toolkit: sun.awt.windows.WToolkit
Windows 11.0
Kotlin plugin: K2 mode (Beta)
GC: G1 Young Generation, G1 Concurrent GC, G1 Old Generation
Memory: 5120M
Cores: 16
Registry:
ide.instant.shutdown=false
ide.experimental.ui=true
i18n.locale=
ide.images.show.chessboard=true
Non-Bundled Plugins:
com.intellij.marketplace (242.23339.24)
Show As ... (1.0.3)
cn.jxzhang.plugin.json-formatter (1.4)
String Manipulation (9.14.1)
GenerateSerialVersionUID (3.0.3)
com.drvector (1.2.1)
com.steve.plugins.autoscroll (1.1)
com.dethlex.numberconverter (2.1.1)
izhangzhihao.rainbow.brackets (2024.2.6-241)
com.developerphil.adbidea (1.6.18)
GenerateSerializationHelpers (1.0.6)
cn.yiiguxing.plugin.translate (3.6.6)