Status Update
Comments
ch...@google.com <ch...@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,
sg...@google.com <sg...@google.com>
da...@spotify.com <da...@spotify.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?
ap...@google.com <ap...@google.com> #7
Thanks for the update!
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!
ap...@google.com <ap...@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
Branch: 3.2
commit e55131270b332d032c15cc067718fd348784bd86
Author: Christoffer Quist Adamsen <christofferqa@google.com>
Date: Wed Jun 22 15:34:20 2022
Fix NPE from rewriting of missing classes contexts
Bug:
Change-Id: Ib9d194d870ba79be2f8f704666100388fc8d0db7
M src/main/java/com/android/tools/r8/shaking/MissingClasses.java
ap...@google.com <ap...@google.com> #11
Branch: 3.1
commit 659ad95323dcda252c852b47817ec946d379c625
Author: Christoffer Quist Adamsen <christofferqa@google.com>
Date: Wed Jun 22 15:35:52 2022
Version 3.1.80
Bug:
Change-Id: I4eff1308d96a600cb816d4b610e1e5cf17e0c5c8
M src/main/java/com/android/tools/r8/Version.java
ap...@google.com <ap...@google.com> #12
Branch: 3.1
commit 4e672f5cb21059b5bafb32f2677e06008ac45568
Author: Christoffer Quist Adamsen <christofferqa@google.com>
Date: Wed Jun 22 15:35:17 2022
Fix NPE from rewriting of missing classes contexts
Bug:
Change-Id: Ib9d194d870ba79be2f8f704666100388fc8d0db7
M src/main/java/com/android/tools/r8/shaking/MissingClasses.java
ap...@google.com <ap...@google.com> #13
Branch: 3.3
commit 03af92b0a390d7ce622e5554a7315edeb4421d1c
Author: Christoffer Quist Adamsen <christofferqa@google.com>
Date: Wed Jun 22 15:32:59 2022
Fix NPE from rewriting of missing classes contexts
Bug:
Change-Id: Ib9d194d870ba79be2f8f704666100388fc8d0db7
M src/main/java/com/android/tools/r8/shaking/MissingClasses.java
ap...@google.com <ap...@google.com> #14
Branch: 3.2
commit e55131270b332d032c15cc067718fd348784bd86
Author: Christoffer Quist Adamsen <christofferqa@google.com>
Date: Wed Jun 22 15:34:20 2022
Fix NPE from rewriting of missing classes contexts
Bug:
Change-Id: Ib9d194d870ba79be2f8f704666100388fc8d0db7
M src/main/java/com/android/tools/r8/shaking/MissingClasses.java
ap...@google.com <ap...@google.com> #15
Branch: 3.3
commit 03af92b0a390d7ce622e5554a7315edeb4421d1c
Author: Christoffer Quist Adamsen <christofferqa@google.com>
Date: Wed Jun 22 15:32:59 2022
Fix NPE from rewriting of missing classes contexts
Bug:
Change-Id: Ib9d194d870ba79be2f8f704666100388fc8d0db7
M src/main/java/com/android/tools/r8/shaking/MissingClasses.java
ch...@google.com <ch...@google.com> #16
The fix should now be in R8 3.1.80, 3.2.71 and 3.3.63.
You can build with any R8 release version by adding the following to settings.gradle
.
pluginManagement {
buildscript {
repositories {
mavenCentral()
maven {
url = uri("https://storage.googleapis.com/r8-releases/raw")
}
}
dependencies {
classpath("com.android.tools:r8:3.2.71")
}
}
}
da...@spotify.com <da...@spotify.com> #17
Thank you! I've verified that the fix works, but unfortunately it uncovered a secondary issue, which I'll open a separate bug report for.
ap...@google.com <ap...@google.com> #18
Branch: main
commit 9d1c3c24d90d1aefc6aa4b71a9f0733d6ccda6fe
Author: Christoffer Quist Adamsen <christofferqa@google.com>
Date: Wed Jun 22 15:30:42 2022
Reproduce NPE from rewriting of missing classes contexts
Bug:
Change-Id: I66df15e802f060b2c58679455eb328022f30cdb7
A src/test/java/com/android/tools/r8/missingclasses/MissingClassReferencedFromForcefullyMovedMethodTest.java
M src/test/java/com/android/tools/r8/missingclasses/MissingClassesTestBase.java
Description
When upgrading from R8 version 3.0.78 to 3.2.60, our minification starts failing with the following stack trace. Please let us know how to provide more information, if necessary.