Status Update
Comments
ap...@google.com <ap...@google.com> #2
We're seeing a similar error in our code. Appears to be a combination of AGP 8.6.0 and Kotlin 2 needed to hit it.
private fun Intent.stripUnwantedFlags() {
// Explicitly remove the new task and clear task flags (Our browser activity is a single
// task activity and we never want to start a second task here).
flags = flags and Intent.FLAG_ACTIVITY_NEW_TASK.inv()
flags = flags and Intent.FLAG_ACTIVITY_CLEAR_TASK.inv()
// IntentReceiverActivity is started with the "excludeFromRecents" flag (set in manifest). We
// do not want to propagate this flag from the intent receiver activity to the browser.
flags = flags and Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS.inv()
}
All 3 lines then hit:
Must be one or more of: Intent.FLAG_GRANT_READ_URI_PERMISSION, Intent.FLAG_GRANT_WRITE_URI_PERMISSION, Intent.FLAG_FROM_BACKGROUND, Intent.FLAG_DEBUG_LOG_RESOLUTION, Intent.FLAG_EXCLUDE_STOPPED_PACKAGES, Intent.FLAG_INCLUDE_STOPPED_PACKAGES, Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION, Intent.FLAG_GRANT_PREFIX_URI_PERMISSION, Intent.FLAG_ACTIVITY_MATCH_EXTERNAL, Intent.FLAG_ACTIVITY_NO_HISTORY, Intent.FLAG_ACTIVITY_SINGLE_TOP, Intent.FLAG_ACTIVITY_NEW_TASK, Intent.FLAG_ACTIVITY_MULTIPLE_TASK, Intent.FLAG_ACTIVITY_CLEAR_TOP, Intent.FLAG_ACTIVITY_FORWARD_RESULT, Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP, Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS, Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT, Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED, Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY, Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET, Intent.FLAG_ACTIVITY_NEW_DOCUMENT, Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET, Intent.FLAG_ACTIVITY_NO_USER_ACTION, Intent.FLAG_ACTIVITY_REORDER_TO_FRONT, Intent.FLAG_ACTIVITY_NO_ANIMATION, Intent.FLAG_ACTIVITY_CLEAR_TASK, Intent.FLAG_ACTIVITY_TASK_ON_HOME, Intent.FLAG_ACTIVITY_RETAIN_IN_RECENTS, Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT, Intent.FLAG_ACTIVITY_REQUIRE_NON_BROWSER, Intent.FLAG_ACTIVITY_REQUIRE_DEFAULT, Intent.FLAG_RECEIVER_REGISTERED_ONLY, Intent.FLAG_RECEIVER_REPLACE_PENDING, Intent.FLAG_RECEIVER_FOREGROUND, Intent.FLAG_RECEIVER_NO_ABORT, Intent.FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS
ch...@google.com <ch...@google.com> #3
The initial report (
However,
ap...@google.com <ap...@google.com> #4
Thanks for fixing! What release should we be able to verify the fix in? And is there any chance of a backport for 8.6.1?
ch...@google.com <ch...@google.com>
ap...@google.com <ap...@google.com> #8
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 2
- Android Gradle Plugin 8.8.0-alpha02
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!
ch...@google.com <ch...@google.com> #9
The fixes for this issue are now also available in:
- Android Studio Ladybug | 2024.2.1 RC 1
- Android Gradle Plugin 8.7.0-rc01
We encourage you to try the latest update.
If you notice further issues or have questions, please file a new bug report.
ap...@google.com <ap...@google.com> #10
Project: r8
Branch: main
Author: Christoffer Adamsen <
Link:
Optimize processing of virtual calls when classes are instantiated
Expand for full commit details
Optimize processing of virtual calls when classes are instantiated
Bug: b/378464445
Change-Id: I174655f1bbd4b8aa963020957a5c9f6f7a394ec1
Files:
- M
src/main/java/com/android/tools/r8/graph/LookupResult.java
- M
src/main/java/com/android/tools/r8/shaking/Enqueuer.java
- M
src/main/java/com/android/tools/r8/shaking/InstantiatedObject.java
Hash: 73ca6a237bda4dc7b250bd7e4870567271477dbe
Date: Tue Jan 07 17:15:32 2025
ap...@google.com <ap...@google.com> #11
Project: r8
Branch: main
Author: Christoffer Adamsen <
Link:
Only consider relevant instruction desugarings for given instruction opcode
Expand for full commit details
Only consider relevant instruction desugarings for given instruction opcode
This CL creates a dense array where the element at index i is an array containing all relevant CF instruction desugarings for instructions with opcode i.
Bug: b/378464445
Change-Id: I54b36eb428affff0a077078e29251ec6128e3cbe
Files:
- M
src/main/java/com/android/tools/r8/cf/CfCodePrinter.java
- M
src/main/java/com/android/tools/r8/cf/CfPrinter.java
- M
src/main/java/com/android/tools/r8/cf/code/CfArithmeticBinop.java
- M
src/main/java/com/android/tools/r8/cf/code/CfArrayLength.java
- M
src/main/java/com/android/tools/r8/cf/code/CfArrayLoad.java
- M
src/main/java/com/android/tools/r8/cf/code/CfArrayStore.java
- M
src/main/java/com/android/tools/r8/cf/code/CfCheckCast.java
- M
src/main/java/com/android/tools/r8/cf/code/CfCmp.java
- M
src/main/java/com/android/tools/r8/cf/code/CfConstClass.java
- M
src/main/java/com/android/tools/r8/cf/code/CfConstDynamic.java
- M
src/main/java/com/android/tools/r8/cf/code/CfConstMethodHandle.java
- M
src/main/java/com/android/tools/r8/cf/code/CfConstMethodType.java
- M
src/main/java/com/android/tools/r8/cf/code/CfConstNull.java
- M
src/main/java/com/android/tools/r8/cf/code/CfConstNumber.java
- M
src/main/java/com/android/tools/r8/cf/code/CfConstString.java
- M
src/main/java/com/android/tools/r8/cf/code/CfDexItemBasedConstString.java
- M
src/main/java/com/android/tools/r8/cf/code/CfFieldInstruction.java
- M
src/main/java/com/android/tools/r8/cf/code/CfFrame.java
- M
src/main/java/com/android/tools/r8/cf/code/CfGoto.java
- M
src/main/java/com/android/tools/r8/cf/code/CfIf.java
- M
src/main/java/com/android/tools/r8/cf/code/CfIfCmp.java
- M
src/main/java/com/android/tools/r8/cf/code/CfIinc.java
- M
src/main/java/com/android/tools/r8/cf/code/CfInitClass.java
- M
src/main/java/com/android/tools/r8/cf/code/CfInstanceFieldRead.java
- M
src/main/java/com/android/tools/r8/cf/code/CfInstanceFieldWrite.java
- M
src/main/java/com/android/tools/r8/cf/code/CfInstanceOf.java
- M
src/main/java/com/android/tools/r8/cf/code/CfInstruction.java
- M
src/main/java/com/android/tools/r8/cf/code/CfInvoke.java
- M
src/main/java/com/android/tools/r8/cf/code/CfInvokeDynamic.java
- M
src/main/java/com/android/tools/r8/cf/code/CfJsrRet.java
- M
src/main/java/com/android/tools/r8/cf/code/CfLabel.java
- M
src/main/java/com/android/tools/r8/cf/code/CfLoad.java
- M
src/main/java/com/android/tools/r8/cf/code/CfLogicalBinop.java
- M
src/main/java/com/android/tools/r8/cf/code/CfMonitor.java
- M
src/main/java/com/android/tools/r8/cf/code/CfMultiANewArray.java
- M
src/main/java/com/android/tools/r8/cf/code/CfNeg.java
- M
src/main/java/com/android/tools/r8/cf/code/CfNew.java
- M
src/main/java/com/android/tools/r8/cf/code/CfNewArray.java
- M
src/main/java/com/android/tools/r8/cf/code/CfNewUnboxedEnum.java
- M
src/main/java/com/android/tools/r8/cf/code/CfNop.java
- M
src/main/java/com/android/tools/r8/cf/code/CfNumberConversion.java
- A
src/main/java/com/android/tools/r8/cf/code/CfOpcodeUtils.java
- M
src/main/java/com/android/tools/r8/cf/code/CfPosition.java
- M
src/main/java/com/android/tools/r8/cf/code/CfRecordFieldValues.java
- M
src/main/java/com/android/tools/r8/cf/code/CfReturn.java
- M
src/main/java/com/android/tools/r8/cf/code/CfReturnVoid.java
- M
src/main/java/com/android/tools/r8/cf/code/CfStackInstruction.java
- M
src/main/java/com/android/tools/r8/cf/code/CfStaticFieldRead.java
- M
src/main/java/com/android/tools/r8/cf/code/CfStaticFieldWrite.java
- M
src/main/java/com/android/tools/r8/cf/code/CfStore.java
- M
src/main/java/com/android/tools/r8/cf/code/CfSwitch.java
- M
src/main/java/com/android/tools/r8/cf/code/CfThrow.java
- M
src/main/java/com/android/tools/r8/graph/CfCompareHelper.java
- M
src/main/java/com/android/tools/r8/graph/analysis/ClassInitializerAssertionEnablingAnalysis.java
- M
src/main/java/com/android/tools/r8/ir/desugar/BackportedMethodRewriter.java
- M
src/main/java/com/android/tools/r8/ir/desugar/BufferCovariantReturnTypeRewriter.java
- M
src/main/java/com/android/tools/r8/ir/desugar/CfInstructionDesugaring.java
- M
src/main/java/com/android/tools/r8/ir/desugar/InvokeToPrivateRewriter.java
- M
src/main/java/com/android/tools/r8/ir/desugar/NonEmptyCfInstructionDesugaringCollection.java
- M
src/main/java/com/android/tools/r8/ir/desugar/OutlineArrayCloneFromInterfaceMethodDesugaring.java
- M
src/main/java/com/android/tools/r8/ir/desugar/UnrepresentableInDexInstructionRemover.java
- M
src/main/java/com/android/tools/r8/ir/desugar/apimodel/ApiInvokeOutlinerDesugaring.java
- M
src/main/java/com/android/tools/r8/ir/desugar/constantdynamic/ConstantDynamicInstructionDesugaring.java
- M
src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/apiconversion/DesugaredLibraryAPIConverter.java
- M
src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/disabledesugarer/DesugaredLibraryDisableDesugarer.java
- M
src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/retargeter/DesugaredLibraryLibRewriter.java
- M
src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/retargeter/DesugaredLibraryRetargeter.java
- M
src/main/java/com/android/tools/r8/ir/desugar/icce/AlwaysThrowingInstructionDesugaring.java
- M
src/main/java/com/android/tools/r8/ir/desugar/invokespecial/InvokeSpecialToSelfDesugaring.java
- M
src/main/java/com/android/tools/r8/ir/desugar/itf/InterfaceMethodRewriter.java
- M
src/main/java/com/android/tools/r8/ir/desugar/lambda/LambdaInstructionDesugaring.java
- M
src/main/java/com/android/tools/r8/ir/desugar/nest/NestBasedAccessDesugaring.java
- M
src/main/java/com/android/tools/r8/ir/desugar/records/RecordInstructionDesugaring.java
- M
src/main/java/com/android/tools/r8/ir/desugar/stringconcat/StringConcatInstructionDesugaring.java
- M
src/main/java/com/android/tools/r8/ir/desugar/twr/TwrInstructionDesugaring.java
- M
src/main/java/com/android/tools/r8/ir/desugar/typeswitch/TypeSwitchDesugaring.java
- M
src/main/java/com/android/tools/r8/ir/desugar/varhandle/VarHandleDesugaring.java
- M
src/main/java/com/android/tools/r8/shaking/Enqueuer.java
- M
src/main/java/com/android/tools/r8/shaking/EnqueuerWorklist.java
- M
src/main/java/com/android/tools/r8/utils/Timing.java
- M
src/test/testbase/java/com/android/tools/r8/utils/codeinspector/CfInstructionSubject.java
Hash: defd4f864fc516af28d9e9144db6ef8b4934624f
Date: Thu Jan 09 09:16:29 2025
ch...@google.com <ch...@google.com> #12
I will mark this as fixed. Tree shaking in Monzo now takes around 40-45% of the build instead of 65%.
an...@google.com <an...@google.com> #13
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 Patch 1
- Android Gradle Plugin 8.8.1
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
No description yet.