Status Update
Comments
cc...@google.com <cc...@google.com> #2
Tentatively, the annotation should be something use-case-specific like @OutlinedNewApi
that allows alternative build systems (e.g. not R8/D8) to make their own decisions. We'll provide a default Proguard configuration for R8, but it's not guaranteed this will work as intended -- outlining is automatic in newer versions, but it may be disabled.
[Deleted User] <[Deleted User]> #3
Just as an FYI, this was enabled in AGP 2 years ago (AGP 7.3 as far as I remember), ag/18426192, so for AGP users it might fine to just remove the rule for @DoNotInline
. I like the @OutlinedNewApi
to make it clear what this is for other consumers to handle it as they see fit.
cc...@google.com <cc...@google.com> #4
Given the failure mode can include run-time crashes, that's not an acceptable level of usage.
[Deleted User] <[Deleted User]> #5
I think you can still include a top-level proguard.txt
, and it will be used by versions that do not support the com.android.tools
format. E.g.
na...@google.com <na...@google.com> #7
Looping in from offline, any new libraries require a high enough compileSdk
that we're going to see a recent-enough AGP. So, we should just remove our manual outlining and use of @DoNotInline
.
Description
Version used:1.1.0
Devices/Android versions reproduced on: Pixel 2Xl Android 11(30)
* Project uses androidx.core:core-splashscreen:1.0.0 library and method setKeepOnScreenCondition(condition: KeepOnScreenCondition) -> it takes some time to remove splash screen
* on Android 29+ lastLaunchNs is null because splashscreen delays view drawing and
```
.any {
val lastFrameTimestampNs = if (Build.VERSION.SDK_INT >= 29) {
it.lastLaunchNs
} else {
it.lastFrameNs
} ?: Long.MIN_VALUE
```
returns Long.MIN_VALUE and I'm getting
```
throw IllegalStateException("Unable to confirm activity launch completion $lastFrameStats" +
" Please report a bug with the output of" +
" `adb shell dumpsys gfxinfo $packageName framestats`")
```
Could you help me?